在通过API(OpenAI兼容方式)调用qwen-plus时出现报错:
openai.BadRequestError: Error code: 400 - {'error': {'code': 'data_inspection_failed', 'param': None, 'message': 'Input data may contain inappropriate content.', 'type': 'data_inspection_failed'}, 'id': 'chatcmpl-……'}
这是我在执行一个长文本翻译的任务时出现的错误。查了下文档发现DataInspectionFailed这个错误之所以会出现,是因为输入或者输出的文本包含敏感内容,所以被自动拦截了。
但我很肯定,出现DataInspectionFailed的段落中并没有任何敏感内容,很明显是敏感内容检测出现了误判。
我尝试调整提示词来解决这个问题,但结果是失败的。同时我也无法判断究竟是文本里的哪个部分会造成误判。
最终的解决方式我只能将其归为玄学,
因为我是将长文本分段后传给AI,当我将每个分段的字符数从1000降低到700时,问题神奇地解决了!
更短的文本似乎能显著降低被误判为敏感内容的几率,最终我顺利将一篇30余万字的长文本翻译成了英语,并且没有再出现过DataInspectionFailed报错。
尽管qwen-plus能支持到128K的长上下文,但每次请求的文本并不是越长越好!在执行长文本(数十万字字)的翻译任务时,建议减少每次翻译的字符数,来避免DataInspectionFailed问题的出现。