Spaces:
Sleeping
Sleeping
| from fastapi import FastAPI | |
| from fastapi.middleware.cors import CORSMiddleware | |
| from pydantic import BaseModel | |
| from rag import RAGSystem | |
| import uvicorn | |
| import os | |
| app = FastAPI() | |
| app.add_middleware( | |
| CORSMiddleware, | |
| allow_origins=["*"], | |
| allow_credentials=True, | |
| allow_methods=["*"], | |
| allow_headers=["*"], | |
| ) | |
| rag = RAGSystem() | |
| class QueryRequest(BaseModel): | |
| query: str | |
| k: int = 3 | |
| max_length: int = 150 | |
| def health(): | |
| return {"status": "RAG service running"} | |
| def get_stats(): | |
| return { | |
| "total_documents": len(rag.vector_db.documents), | |
| "dimension": rag.vector_db.dimension | |
| } | |
| def query_rag(req: QueryRequest): | |
| return rag.query( | |
| req.query, | |
| k=req.k, | |
| max_length=req.max_length | |
| ) | |
| if __name__ == "__main__": | |
| port = int(os.environ.get("PORT", 7860)) | |
| uvicorn.run(app, host="0.0.0.0", port=port) |