pls-rag / app.py
m97j's picture
Initial codes commit
809768b
raw
history blame
896 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
from service.search import search
templates = Jinja2Templates(directory="templates")
@asynccontextmanager
async def lifespan(_app: FastAPI):
initialize()
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(query)
return templates.TemplateResponse("index.html", {"request": request, "results": results, "query": query})