File size: 648 Bytes
8db14df
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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)