feat: 提示词和 AI 参数移至数据库管理

- AiSetting 模型新增 6 个提示词字段 + 3 个阶段温度字段
- main.py 迁移逻辑改为检测 ai_settings 表的新字段并填充默认值
- generate.py 从数据库读取生成提示词,去掉硬编码
- optimizer 从 API 读取各阶段提示词和温度,删除 prompts.py
- crawler 从 API 读取提取/改写提示词和温度,删除 prompts.py
- settings/active 端点去掉 token 认证(供爬虫/优化器使用)
- 后台设置页新增提示词编辑区和温度调节控件
- 新增 _ensure_default_settings 自动创建默认配置
This commit is contained in:
bwstudio
2026-06-13 17:27:09 +08:00
parent 6d015bb56d
commit db8cea02f8
11 changed files with 457 additions and 195 deletions
+13
View File
@@ -14,6 +14,19 @@ class AiSetting(Base):
temperature = Column(Float, nullable=False, default=0.7)
max_tokens = Column(Integer, nullable=False, default=2048)
# 提示词模板
generate_prompt = Column(Text, nullable=True, comment="AI 笑话生成提示词")
optimizer_quality_prompt = Column(Text, nullable=True, comment="优化器-质量检测提示词")
optimizer_polish_prompt = Column(Text, nullable=True, comment="优化器-润色提示词")
optimizer_evaluate_prompt = Column(Text, nullable=True, comment="优化器-评价分类提示词")
crawler_extract_prompt = Column(Text, nullable=True, comment="爬虫-笑话提取提示词")
crawler_rewrite_prompt = Column(Text, nullable=True, comment="爬虫-改写提示词")
# 优化器各阶段温度
optimizer_quality_temperature = Column(Float, nullable=False, default=0.3)
optimizer_polish_temperature = Column(Float, nullable=False, default=0.8)
optimizer_evaluate_temperature = Column(Float, nullable=False, default=0.3)
crawl_enabled = Column(Boolean, nullable=False, default=False)
crawl_keywords = Column(Text, nullable=True, default="")
max_pages_per_run = Column(Integer, nullable=False, default=3)