from fastapi import FastAPI from pydantic import BaseModel from sentence_transformers import SentenceTransformer import uvicorn, os MODEL_ID = os.getenv("EMB_MODEL", "sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2") model = SentenceTransformer(MODEL_ID) app = FastAPI() class Req(BaseModel): texts: list[str] @app.get("/health") def health(): return {"ok": True} @app.post("/generate") def emb(r: Req): if not r.texts: return {"vectors": []} vecs = model.encode(r.texts, convert_to_numpy=True).tolist() return {"vectors": vecs} if __name__ == "__main__": uvicorn.run(app, host="0.0.0.0", port=7860)