from fastapi import FastAPI, Request from fastapi.responses import HTMLResponse from fastapi.staticfiles import StaticFiles from fastapi.templating import Jinja2Templates import uvicorn app = FastAPI() app.mount("/static", StaticFiles(directory="static"), name="static") templates = Jinja2Templates(directory="templates") @app.get("/", response_class=HTMLResponse) async def get_chat_interface(request: Request): return templates.TemplateResponse("index.html", {"request": request}) @app.post("/chat") async def chat(request: Request): data = await request.json() user_message = data.get("message") # Simple echo bot logic - replace with actual chatbot logic later bot_response = f"You said: {user_message}" return {"response": bot_response} if __name__ == "__main__": uvicorn.run("app:app", host="127.0.0.1", port=8000, reload=True)