Multi-Rag / api /routes /frontend_router.py
VashuTheGreat2's picture
Upload folder using huggingface_hub
24517cb verified
Raw
History Blame Contribute Delete
2.94 kB
from fastapi import APIRouter, Request
from fastapi.templating import Jinja2Templates
template = Jinja2Templates(directory="api/templates")
router = APIRouter()
# ─────────────────────────────────────────────────────────────────
# JINJA CONTEXT CONSTANTS
# Change values here β€” templates pick them up automatically.
# ─────────────────────────────────────────────────────────────────
# Session time-duration options shown on the upload page.
# Each dict must have: label, description, icon, seconds (int).
TIME_OPTIONS = [
{
"label": "1 Minute",
"description": "Quick demo or sanity check",
"icon": "⚑",
"seconds": 60,
},
{
"label": "2 Minutes",
"description": "Standard exploration session",
"icon": "πŸ§ͺ",
"seconds": 120,
},
{
"label": "3 Minutes",
"description": "Deep-dive knowledge session",
"icon": "πŸ”¬",
"seconds": 180,
},
{
"label": "10 Minutes",
"description": "Very Deep-dive knowledge session",
"icon": "πŸ”¬",
"seconds": 300,
}
]
# All backend API URLs consumed by upload.html JavaScript.
UPLOAD_PAGE_URLS = {
"login_base": "/api/v1/user/login",
"upload": "/api/v1/upload",
"ingest": "/api/v1/ingest",
"chat_page": "/chat",
}
# API URLs for chat.html
CHAT_PAGE_URLS = {
"chat": "/api/v1/chat",
"load_conversation": "/api/v1/conversation",
"ingest": "/api/v1/ingest",
"upload_page": "/upload",
}
# ─────────────────────────────────────────────────────────────────
# ROUTES
# ─────────────────────────────────────────────────────────────────
@router.get("/", tags=["frontend"])
async def home_route(request: Request):
return template.TemplateResponse(
request=request,
name="home.html"
)
@router.get("/upload", tags=["frontend"])
async def upload_route(request: Request):
return template.TemplateResponse(
request=request,
name="upload.html",
context={
"time_options": TIME_OPTIONS,
"urls": UPLOAD_PAGE_URLS,
},
)
@router.get("/chat", tags=["frontend"])
async def chat_route(request: Request):
return template.TemplateResponse(
request=request,
name="chat.html",
context={
"urls": CHAT_PAGE_URLS,
},
)