diff --git a/platform/backend/app/core/nvidia_client.py b/platform/backend/app/core/nvidia_client.py index 5fdf561..aa50666 100644 --- a/platform/backend/app/core/nvidia_client.py +++ b/platform/backend/app/core/nvidia_client.py @@ -79,15 +79,19 @@ def _get_db_defaults(provider: Optional[str] = None) -> dict: cfg = db.query(LLMConfig).filter(LLMConfig.provider == p).order_by(LLMConfig.is_active.desc()).first() db.close() if cfg: - return {"temperature": cfg.temperature, "max_tokens": cfg.max_tokens} + return { + "temperature": cfg.temperature, + "max_tokens": cfg.max_tokens, + "system_prompt": cfg.system_prompt or "你是一个专业的内容创作助手。", + } except Exception: pass - return {"temperature": 0.20, "max_tokens": 2048} + return {"temperature": 0.20, "max_tokens": 2048, "system_prompt": "你是一个专业的内容创作助手。"} def call_llm( prompt: str, model: Optional[str] = None, - system_prompt: str = "你是一个专业的内容创作助手。", + system_prompt: Optional[str] = None, temperature: Optional[float] = None, max_tokens: Optional[int] = None, top_p: float = 0.70, @@ -100,6 +104,7 @@ def call_llm( defaults = _get_db_defaults(provider) temperature = temperature if temperature is not None else defaults["temperature"] max_tokens = max_tokens if max_tokens is not None else defaults["max_tokens"] + system_prompt = system_prompt if system_prompt is not None else defaults["system_prompt"] cfg = _get_provider_config(provider) endpoint = f"{cfg['base_url'].rstrip('/')}/chat/completions" headers = {