diff --git a/backend/app/api/settings.py b/backend/app/api/settings.py index 5e06f20..5043a0a 100644 --- a/backend/app/api/settings.py +++ b/backend/app/api/settings.py @@ -1012,6 +1012,7 @@ async def activate_preset( settings.llm_model = config['llm_model'] settings.temperature = config['temperature'] settings.max_tokens = config['max_tokens'] + settings.system_prompt = config.get('system_prompt') # 更新所有预设的is_active状态 for preset in presets: @@ -1093,7 +1094,8 @@ async def create_preset_from_current( api_base_url=settings.api_base_url, llm_model=settings.llm_model, temperature=settings.temperature, - max_tokens=settings.max_tokens + max_tokens=settings.max_tokens, + system_prompt=settings.system_prompt ) # 创建预设 diff --git a/backend/app/schemas/settings.py b/backend/app/schemas/settings.py index b53d7f5..500ab6c 100644 --- a/backend/app/schemas/settings.py +++ b/backend/app/schemas/settings.py @@ -50,6 +50,7 @@ class APIKeyPresetConfig(BaseModel): llm_model: str = Field(..., description="模型名称") temperature: float = Field(default=0.7, ge=0.0, le=2.0, description="温度参数") max_tokens: int = Field(default=2000, ge=1, description="最大token数") + system_prompt: Optional[str] = Field(default=None, description="系统级别提示词") class APIKeyPreset(BaseModel): diff --git a/frontend/src/pages/Settings.tsx b/frontend/src/pages/Settings.tsx index d4fa90f..e2ed945 100644 --- a/frontend/src/pages/Settings.tsx +++ b/frontend/src/pages/Settings.tsx @@ -502,6 +502,7 @@ export default function SettingsPage() { llm_model: values.llm_model, temperature: values.temperature, max_tokens: values.max_tokens, + system_prompt: values.system_prompt, }; if (editingPreset) {