From 06637891b4aaff5085f55b1331905b46913202db Mon Sep 17 00:00:00 2001 From: minecraft1024a Date: Sat, 29 Nov 2025 18:12:10 +0800 Subject: [PATCH] =?UTF-8?q?fix(gemini):=20=E8=B0=83=E6=95=B4=20safetySetti?= =?UTF-8?q?ngs=20=E5=8F=82=E6=95=B0=E8=87=B3=20API=20=E8=AF=B7=E6=B1=82?= =?UTF-8?q?=E7=9A=84=E6=AD=A3=E7=A1=AE=E5=B1=82=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 根据 Gemini API 的官方文档,`safetySettings` 参数应位于请求体的顶层,而非 `generationConfig` 内部。 本次提交将该参数移动到了正确的位置,以确保安全策略能够正确生效。 --- src/llm_models/model_client/aiohttp_gemini_client.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/llm_models/model_client/aiohttp_gemini_client.py b/src/llm_models/model_client/aiohttp_gemini_client.py index 507fd8436..129c3323f 100644 --- a/src/llm_models/model_client/aiohttp_gemini_client.py +++ b/src/llm_models/model_client/aiohttp_gemini_client.py @@ -186,7 +186,6 @@ def _build_generation_config( "temperature": temperature, "topK": 1, "topP": 1, - "safetySettings": gemini_safe_settings, "thinkingConfig": {"includeThoughts": True, "thinkingBudget": thinking_budget}, } @@ -589,6 +588,7 @@ class AiohttpGeminiClient(BaseClient): request_data = { "contents": contents, "generationConfig": _build_generation_config(max_tokens, temperature, tb, response_format, extra_params), + "safetySettings": gemini_safe_settings, } # 添加系统指令 @@ -701,6 +701,7 @@ class AiohttpGeminiClient(BaseClient): request_data = { "contents": contents, "generationConfig": _build_generation_config(2048, 0.1, THINKING_BUDGET_AUTO, None, extra_params), + "safetySettings": gemini_safe_settings, } try: