promptflow [BUG] 源自LLM步骤的内容过滤器错误包含Python对象的JSON和文本表示的混合,

0kjbasz6  于 2个月前  发布在  Python
关注(0)|答案(3)|浏览(53)

描述bug

当PromptFlow运行中的LLM步骤生成错误时,它产生的错误消息格式非常难以用代码处理。例如:
{ "error": { "code": "UserError", "message": "OpenAI API hits BadRequestError: Error code: 400 - {'error': {'message': \"The response was filtered due to the prompt triggering Azure OpenAI's content management policy. Please modify your prompt and retry. To learn more about our content filtering policies please read our documentation: https://go.microsoft.com/fwlink/?linkid=2198766\", 'type': None, 'param': 'prompt', 'code': 'content_filter', 'status': 400, 'innererror': {'code': 'ResponsibleAIPolicyViolation', 'content_filter_result': {'hate': {'filtered': False, 'severity': 'safe'}, 'self_harm': {'filtered': True, 'severity': 'medium'}, 'sexual': {'filtered': False, 'severity': 'safe'}, 'violence': {'filtered': False, 'severity': 'safe'}}}}} [Error reference: https://platform.openai.com/docs/guides/error-codes/api-errors]" } }
在这种情况下,我希望有一个错误处理器,能够识别出错误与内容过滤有关,并根据触发的内容过滤器执行不同的操作,以及达到的程度。然而,目前的错误很难实现这一点,因为它是一个包含字符串对象的JSON对象,而该字符串对象似乎又包含一个Python对象的字符串表示。

如何复现bug

  1. 设置一个基本的Prompt Flow,其中包含一个LLM步骤和默认的内容过滤策略
  2. 将输入发送到触发内容过滤策略的流程中

预期行为

PromptFlow应该返回一个完全是JSON格式的错误,而不是JSON和Python对象文本表示的混合

运行信息(请填写以下信息):

  • Promptflow包版本:使用ai.azure.com上的托管预览
axkjgtzd

axkjgtzd1#

你好,我们发送这个友好的提醒是因为我们在30天内没有收到你的回复。我们需要更多关于这个问题的信息来帮助解决它。请务必给我们提供你的反馈。如果我们在7天内没有收到你的回复,问题将自动关闭。谢谢!

js81xvg6

js81xvg62#

你好,我们发送这个友好的提醒是因为我们在30天内没有收到你的回复。我们需要更多关于这个问题的信息来帮助解决它。请确保给我们你的反馈。如果我们在这条评论后的7天内没有收到你的回复,这个问题将自动关闭。谢谢!
@zzn2 你知道为什么这个问题因为没有最近的活动而被关闭吗?我没有看到任何进一步信息的要求。如果需要的话,我很乐意提供。

e0bqpujr

e0bqpujr3#

问题已关闭,原因是GitHub操作。我们将调整规则。关于您的提问,这是一个有效的提问,我们正在将其规划为一个功能。

相关问题