Files
joke/api/app/schemas/setting.py
T
bwstudio db8cea02f8 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 自动创建默认配置
2026-06-13 17:27:09 +08:00

31 lines
1.2 KiB
Python

from pydantic import BaseModel, Field
class AiSettingBase(BaseModel):
provider: str = Field(default="nvidia")
api_base: str = Field(default="https://integrate.api.nvidia.com/v1")
api_key: str = Field(default="")
model_name: str = Field(default="nvidia/llama-3.1-nemotron-70b-instruct")
temperature: float = Field(default=0.7, ge=0, le=2)
max_tokens: int = Field(default=2048, ge=1)
# 提示词
generate_prompt: str = Field(default="")
optimizer_quality_prompt: str = Field(default="")
optimizer_polish_prompt: str = Field(default="")
optimizer_evaluate_prompt: str = Field(default="")
crawler_extract_prompt: str = Field(default="")
crawler_rewrite_prompt: str = Field(default="")
# 优化器各阶段温度
optimizer_quality_temperature: float = Field(default=0.3, ge=0, le=2)
optimizer_polish_temperature: float = Field(default=0.8, ge=0, le=2)
optimizer_evaluate_temperature: float = Field(default=0.3, ge=0, le=2)
crawl_enabled: bool = Field(default=False)
crawl_keywords: str = Field(default="")
max_pages_per_run: int = Field(default=3, ge=1)
class AiSettingCreate(AiSettingBase):
pass