pls-rag / app.py
m97j's picture
Initial codes commit
de65949
raw
history blame contribute delete
988 Bytes
# rag/app.py
from contextlib import asynccontextmanager
from fastapi import FastAPI, Request, Form
from fastapi.responses import HTMLResponse
from fastapi.templating import Jinja2Templates
from api.endpoints import router
from db.initializer import initialize_dbs
from models.initializer import initialize_models
from service.search import search
templates = Jinja2Templates(directory="templates")
@asynccontextmanager
async def lifespan(app: FastAPI):
initialize_dbs()
initialize_models(app)
yield
app = FastAPI(lifespan=lifespan)
app.include_router(router)
@app.get("/", response_class=HTMLResponse)
def index(request: Request):
return templates.TemplateResponse("index.html", {"request": request, "results": None})
@app.post("/demo", response_class=HTMLResponse)
def demo(request: Request, query: str = Form(...)):
results = search(request, query)
return templates.TemplateResponse("index.html", {"request": request, "results": results, "query": query})