File size: 896 Bytes
4fdc679
 
 
 
 
 
809768b
 
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
# 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})