# app.py from fastapi import FastAPI, Request from fastapi.responses import JSONResponse, HTMLResponse from pydantic import BaseModel from dotenv import load_dotenv import os load_dotenv() SECURE_TOKEN = os.getenv("API_KEY", "your-secret-api-key") app = FastAPI() class GenerateRequest(BaseModel): prompt: str token: str @app.post("/generate") async def generate(req: GenerateRequest): if req.token != SECURE_TOKEN: return JSONResponse(status_code=401, content={"error": "Invalid or missing token"}) # TODO: 调用实际模型推理 response = f"🤖 模拟响应: {req.prompt}" return {"response": response} @app.get("/chat", response_class=HTMLResponse) async def serve_chat(): with open("chat.html", "r", encoding="utf-8") as f: return f.read()