from fastapi import FastAPI | |
from fastapi.responses import RedirectResponse | |
from langserve import add_routes | |
from fastapi.middleware.cors import CORSMiddleware | |
from starlette.staticfiles import StaticFiles | |
from app.rag_chain import final_chain | |
app = FastAPI() | |
app.add_middleware( | |
CORSMiddleware, | |
allow_origins=[ | |
"http://localhost:3000" | |
], | |
allow_credentials=True, | |
allow_methods=["*"], | |
allow_headers=["*"], | |
) | |
app.mount("/rag/static", StaticFiles(directory="./source_docs"), name="static") | |
async def redirect_root_to_docs(): | |
return RedirectResponse("/docs") | |
# Edit this to add the chain you want to add | |
add_routes(app, final_chain, path="/rag") | |
if __name__ == "__main__": | |
import uvicorn | |
uvicorn.run(app, host="0.0.0.0", port=8000) | |