Spaces:
Sleeping
Sleeping
Download main.py from variphx/aic-embedding-server: direct link, hf CLI and curl.
- Browser
- Download file 1.01 kB
-
https://huggingface.co/spaces/variphx/aic-embedding-server/resolve/main/main.py
- Command line
-
hf download hf://spaces/variphx/aic-embedding-server/main.py
-
curl -L -o main.py https://huggingface.co/spaces/variphx/aic-embedding-server/resolve/main/main.py
1.01 kB
| import os | |
| import requests | |
| from concurrent import futures | |
| import grpc | |
| import text_embed_pb2 | |
| import text_embed_pb2_grpc | |
| class TextEmbeddingService(text_embed_pb2_grpc.TextEmbeddingServiceServicer): | |
| def GetEmbedding(self, request, context): | |
| print("embedding request...") | |
| text: str = request.text | |
| embeddings = embed_text(text) | |
| print(len(embeddings)) | |
| return text_embed_pb2.EmbeddingResponse(embeddings=embeddings) | |
| def embed_text(text: str) -> list[float]: | |
| response = requests.post(os.environ["NGROK_URL"], json={"text": text}) | |
| return response.json()["embeddings"] | |
| def serve(): | |
| server = grpc.server(futures.ThreadPoolExecutor(max_workers=4)) | |
| text_embed_pb2_grpc.add_TextEmbeddingServiceServicer_to_server( | |
| TextEmbeddingService(), server | |
| ) | |
| port = "[::]:50051" | |
| server.add_insecure_port(port) | |
| print(f"### SERVER RUNNING AT {port} ###") | |
| server.start() | |
| server.wait_for_termination() | |
| if __name__ == "__main__": | |
| serve() | |