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