feat: AI 生成增强 - 风格/长度/评分/历史/复制

- 后端 prompt 支持风格选择(6种)和字数范围
- 后端 AI 输出改为 JSON 格式,含评分和推荐理由
- GenerateRequest/Response schema 新增 style/length/score/reason 字段
- 前端新增风格选择、字数范围控件
- 前端新增随机选题按钮
- 前端新增复制内容功能
- 前端新增生成历史记录(会话级 20 条)
- 结果卡片展示 AI 评分和推荐理由
This commit is contained in:
bwstudio
2026-06-13 16:04:45 +08:00
parent ab54b0137d
commit 6d015bb56d
4 changed files with 504 additions and 172 deletions
+9 -1
View File
@@ -74,12 +74,18 @@ class GenerateRequest(BaseModel):
"""笑话生成请求"""
keywords: list[str] = []
scenarios: list[str] = []
style: str = "twist"
length: str = "medium"
temperature: float = 0.8
class Config:
json_schema_extra = {
"example": {
"keywords": ["加班"],
"scenarios": ["职场"]
"scenarios": ["职场"],
"style": "twist",
"length": "medium",
"temperature": 0.8,
}
}
@@ -88,6 +94,8 @@ class GenerateResponse(BaseModel):
"""笑话生成响应"""
title: str
content: str
score: int = 0
reason: str = ""
created_at: datetime | None = None
class Config: