from fastapi import FastAPI from pydantic import BaseModel from Similarity import Similarity app = FastAPI() similarity_model = Similarity() class TextPairRequest(BaseModel): text: str # The big text to chunk and search claim: str # The claim text to embed and compare @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)}