File size: 825 Bytes
da0cbd5 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# 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() |