AnukulChandra/Mini-AI_Assistant
0
1import os2import logging3from pathlib import Path4from fastapi import FastAPI, Request5from fastapi.staticfiles import StaticFiles6from fastapi.templating import Jinja2Templates7from starlette.middleware.base import BaseHTTPMiddleware8from api.chat import router as chat_router9from api.upload import router as upload_router10 11logging.basicConfig(level=logging.INFO, format="%(asctime)s [%(levelname)s] %(name)s: %(message)s")12 13app = FastAPI(title="Mini AI Assistant", version="1.0.0")14 15if os.getenv("SPACE_ID"):16 class ProxyHeadersMiddleware(BaseHTTPMiddleware):17 async def dispatch(self, request, call_next):18 request.scope["scheme"] = "https"19 return await call_next(request)20 app.add_middleware(ProxyHeadersMiddleware)21 22BASE_DIR = Path(__file__).resolve().parent23app.mount("/static", StaticFiles(directory=str(BASE_DIR / "static")), name="static")24templates = Jinja2Templates(directory=str(BASE_DIR / "templates"))25 26app.include_router(chat_router)27app.include_router(upload_router)28 29@app.get("/")30async def root(request: Request):31 return templates.TemplateResponse("index.html", {"request": request})