pls-rag / app.py
m97j's picture
Initial codes commit
4fdc679
raw
history blame
904 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 rag.db.initializer import initialize
from rag.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})