from fastapi import FastAPI from pydantic import BaseModel from predictor import predict_outcome import datetime app = FastAPI() class CaseRequest(BaseModel): case: str @app.post("/predict") async def predict(case_request: CaseRequest): user_case = case_request.case result = await predict_outcome(user_case) return {"prediction": result} @app.get("/health") async def health_check(): """ Basic health check endpoint. Returns status, server time, and optional components health. """ # You can also add DB, vectorstore, or AI API checks here if needed status = { "status": "ok", "server_time": datetime.datetime.utcnow().isoformat() + "Z", "dependencies": { "google_genai_api": "ok" if True else "error", # placeholder "vectorstore": "ok" if True else "error" } } return status if __name__ == "__main__": import uvicorn uvicorn.run("app:app", host="0.0.0.0", port=7860)