File size: 749 Bytes
a56b4bc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
26
27
28
29
30
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)