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