from fastapi import FastAPI from pydantic import BaseModel from sentence_transformers import SentenceTransformer import uvicorn app = FastAPI() model = SentenceTransformer("sentence-transformers/all-MiniLM-L6-v2") class EmbedRequest(BaseModel): inputs: str | list[str] @app.post("/embed") def embed(req: EmbedRequest): texts = req.inputs if isinstance(req.inputs, list) else [req.inputs] embeddings = model.encode(texts, normalize_embeddings=True) return embeddings.tolist() @app.get("/health") def health(): return {"status": "ok", "model": "all-MiniLM-L6-v2"} if __name__ == "__main__": uvicorn.run(app, host="0.0.0.0", port=7860)