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

使用Gemini API遭遇‘Candidate was blocked due to RECITATION’错误求助

解决Gemini API的“Candidate was blocked due to RECITATION”错误

错误原因说明

RECITATION拦截并非由你配置的安全规则(HARM_CATEGORY_*)触发,这类安全规则仅针对有害内容过滤。该错误是Gemini的内容复用检测机制导致的——当模型判定输入内容或生成内容与训练数据中的现有内容高度重合(比如直接照搬版权题目、重复训练数据片段),就会触发这个拦截。

具体解决方案

  • 调整Prompt表述,引导原创生成
    避免直接使用“resolva a seguinte questao”(解答这道题)这类易触发检测的指令,改用更侧重“解释、重构”的表述,让AI用自有语言生成答案。比如修改你的Prompt:

    const resposta = await model.generateContent(`请结合你的知识,用适合教材的通俗语言解释这道题的解法和答案,仅输出纯文本内容,仅在数学、化学等必要学科使用专业符号:${questionHeader} ${options}`)
    

    (注:若原题是葡萄牙语,保持对应语言表述即可,核心是引导AI重构而非直接“背诵”答案)

  • 精简输入Token数量
    当前请求的Prompt Token数达到2437,过长的输入更容易包含与训练数据重合的片段。尝试精简题目内容,只保留核心问题和必要选项,去掉冗余描述。

  • 调整生成参数,提升原创性
    在模型配置中加入generationConfig,提高temperature参数(范围0-1,数值越高生成内容越多样),降低AI重复训练数据的概率:

    const model = genAI.getGenerativeModel({ 
      model: "gemini-1.5-flash", 
      safe,
      generationConfig: {
        temperature: 0.8,
        topP: 0.95
      }
    });
    
  • 重构题目文本
    如果题目来自有版权的教材或题库,不要直接复制原题,用自己的话重新描述问题核心,避免触发版权相关的拦截机制。

  • 尝试切换模型版本
    部分模型版本的内容检测规则存在差异,可尝试切换到gemini-1.5-pro,观察是否仍触发拦截。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 18:34:56