encountered: Error code: 400 - {'error': {'message': 'The response was filtered ...

2026年10月19日 13:11 19.28 秒 success

错误信息

2026-10-19 00:38:59,585 - INFO - Error encountered: Error code: 400 - {'error': {'message': 'The response was filtered due to the prompt triggering content management policy. Please modify your prompt and retry. To learn more about our content filtering policies please read our documentation: *** (request id: 20261019003856741319989s7xggiRl)', 'type': 'upstream_error', 'param': 'prompt', 'code': 'content_filter'}} 对了有时还会报这个错

AI 解决方案

1. 🌐 错误翻译

原文:Error code: 400 - {'error': {'message': 'The response was filtered due to the prompt triggering content management policy. Please modify your prompt and retry. To learn more about our content filtering policies please read our documentation: *** (request id: 20261019003856741319989s7xggiRl)', 'type': 'upstream_error', 'param': 'prompt', 'code': 'content_filter'}}
译文:错误代码:400 - {'error': {'message': '由于提示词触发了内容管理策略,响应已被过滤。请修改您的提示词并重试。如需了解有关内容过滤策略的更多信息,请阅读我们的文档:***(请求ID:20261019003856741319989s7xggiRl)', 'type': '上游错误', 'param': '提示词', 'code': '内容过滤'}}

2. 🎯 原因分析

  • 根本原因:请求中的prompt(提示词)触发了平台或上游服务的内容过滤策略,服务端主动拦截了本次请求并返回400错误。

  • 具体位置:错误发生在向API发送请求的阶段,param字段明确指出问题出在prompt参数上,属于上游API拒绝请求导致的上游错误。

3. 💡 解决方案

排查并修改提示词中可能触发过滤的内容,可参考以下调整方式:

// 修复后的代码示例
const { data, error } = await chat.completions.create({
  model: "your-model",
  // 避免使用可能触发过滤的敏感/违规词汇,对提示词做安全化处理
  messages: [
    {
      role: "user",
      // 替换或移除可疑内容,保持表述合规
      content: "请帮我总结一下这篇文章的主要内容"
    }
  ]
});

if (error) {
  // 针对内容过滤错误做特殊处理
  if (error.code === 'content_filter') {
    console.error('提示词触发内容过滤,请修改后重试');
    // 可在这里加入重试逻辑或友好提示
  } else {
    console.error('请求失败:', error);
  }
} else {
  console.log(data);
}

4. 🛡️ 预防措施

  • 提示词合规化:在发送请求前,对用户输入的提示词进行预处理,过滤敏感词汇、违规表述,提前规避内容过滤规则。

  • 异常处理与降级:在代码中针对content_filter类型错误设计重试机制或友好提示,同时通过日志记录触发过滤的提示词,便于后续优化。