from fastapi import FastAPI, Request from pydantic import BaseModel from sentence_transformers import SentenceTransformer from typing import List import uvicorn app = FastAPI() # Load model once on startup model = SentenceTransformer('lighteternal/stsb-xlm-r-greek-transfer') # Request schema class EmbeddingRequest(BaseModel): texts: List[str] # Health check endpoint @app.get("/") async def root(): return {"message": "Embedding API is running."} # Embedding endpoint @app.post("/embed") async def embed_text(request: EmbeddingRequest): embeddings = model.encode(request.texts).tolist() return {"embeddings": embeddings} # Optional for local testing if __name__ == "__main__": uvicorn.run(app, host="0.0.0.0", port=7860)