|
|
| 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"})
|
|
|
|
|
| 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() |