File size: 979 Bytes
4fdc679 2aa7bf4 809768b 4fdc679 2aa7bf4 4fdc679 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# 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(query)
return templates.TemplateResponse("index.html", {"request": request, "results": results, "query": query})
|