You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Gemini API安全设置失效问题排查请求

Gemini翻译工具安全设置不生效问题排查与解决

问题概述

基于Gemini开发的多轮对话翻译工具,已将所有安全类别阈值设为BLOCK_NONE,但仍频繁因安全机制触发中断。API返回显示HARM_CATEGORY_DANGEROUS_CONTENT概率为MEDIUM,触发了安全拦截。

核心原因分析

从代码看,安全设置的参数传递存在错误:Google AI Node.js SDK中,安全配置的参数键应为safetySettings,而非自定义的safe,导致设置未被正确识别。

解决方案

1. 修正安全设置参数名

将代码中的safe参数改为safetySettings,确保SDK能正确读取配置:

const safetySettings = [
    {
        "category": "HARM_CATEGORY_HARASSMENT",
        "threshold": "BLOCK_NONE",
    },
    {
        "category": "HARM_CATEGORY_HATE_SPEECH",
        "threshold": "BLOCK_NONE",
    },
    {
        "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
        "threshold": "BLOCK_NONE",
    },
    {
        "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
        "threshold": "BLOCK_NONE",
    },
];

async function run() {
    const model = genAI.getGenerativeModel( { 
        model: "gemini-pro", 
        safetySettings // 修正参数名
    });

    chat = model.startChat({});
    
    const msg = readFile("./description.txt");
    const result = await chat.sendMessage(msg);
    const response = await result.response;
    const text = response.text();
    console.log(text);
}

2. 排查多轮对话上下文影响

多轮对话会保留历史上下文,若之前的对话内容触发过安全标记,可能导致后续请求被拦截。可以尝试:

  • 每次对话前重置会话(不复用chat实例),测试单轮请求是否生效
  • 清理历史对话内容后,重新发起请求

3. 确认SDK版本与模型权限

  • 确保使用最新版本的Google AI Node.js SDK,旧版本可能存在配置兼容问题
  • 验证Gemini-pro模型是否允许设置BLOCK_NONE(官方文档显示该模型支持此阈值)

4. 测试单轮请求验证设置

先脱离多轮对话,用单轮请求测试安全设置是否生效,排除上下文干扰:

async function testSingleRequest() {
    const model = genAI.getGenerativeModel( { 
        model: "gemini-pro", 
        safetySettings 
    });
    const msg = readFile("./description.txt");
    const result = await model.generateContent(msg);
    const response = await result.response;
    console.log(response.text());
}

内容的提问来源于stack exchange,提问作者Egor Vasilev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 14:46:12