encountered: Error code: 400 - {'error': {'message': 'The response was filtered ...
错误信息
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类型错误设计重试机制或友好提示,同时通过日志记录触发过滤的提示词,便于后续优化。