import os from fastapi import FastAPI, HTTPException, Request from fastapi.responses import HTMLResponse from fastapi.staticfiles import StaticFiles from fastapi.templating import Jinja2Templates from pydantic import BaseModel from google import genai app = FastAPI() # স্ট্যাটিক এবং টেমপ্লেট পাথ সেটআপ (যাতে মেমোরি লিক না হয়) templates = Jinja2Templates(directory=".") API_KEY = os.environ.get("GEMINI_API_KEY") if API_KEY: client = genai.Client(api_key=API_KEY) else: client = None class ChatRequest(BaseModel): message: str # রুট ইউআরএল - মেমোরি ফ্রেন্ডলি টেমপ্লেট রেন্ডারিং @app.get("/", response_class=HTMLResponse) async def get_ui(request: Request): try: # index.html সরাসরি রেন্ডার হবে, পাইথনকে কষ্ট করে ফাইল রিড করতে হবে না return templates.TemplateResponse("index.html", {"request": request}) except Exception as e: return HTMLResponse(content=f"