transformer_api / app.py
JohnKouf's picture
Update app.py
0abf1cd verified
raw
history blame
1.16 kB
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("/get_sim_text")
def get_sim_text_endpoint(request: TextPairRequest):
try:
# Embed the claim text
claim_embedding = similarity_model.model.encode(
request.claim,
convert_to_tensor=True,
show_progress_bar=False
)
# Call get_sim_text with defaults (min_threshold=0.4, chunk_size=1500)
results = similarity_model.get_sim_text(
request.text,
claim_embedding
)
return {"result": results}
except Exception as e:
return {"error": str(e)}
# Optional for local testing
if __name__ == "__main__":
uvicorn.run(app, host="0.0.0.0", port=7860)