FastGPT icon indicating copy to clipboard operation
FastGPT copied to clipboard

流式响应过程中触发内容过滤,无法正确提示用户错误类型,而是显示“LLM model response empty”

Open Zhenyi-Wang opened this issue 6 months ago • 3 comments

例行检查

  • [x] 我已确认目前没有类似 issue
  • [x] 我已完整查看过项目 README,以及项目文档
  • [x] 我使用了自己的 key,并确认我的 key 是可正常使用的
  • [x] 我理解并愿意跟进此 issue,协助测试和提供反馈
  • [x] 我理解并认可上述内容,并理解项目维护者精力有限,不遵循规则的 issue 可能会被无视或直接关闭

你的版本

  • [ ] 公有云版本
  • [x] 私有部署版本, 具体版本号: 4.8.9

问题描述, 日志截图 我使用的模型是Azure的gpt-4o,流式传输。

注1:内容过滤的敏感词是“泡馆”,Azure的gpt-4o会触发,4-Turbo不会,复现时请留意。 注2:微软似乎配置了多重检测,当内容简单时,直接触发过滤,返回400;也有可能正常建立流式连接后再检测到,以event的形式返回报错。经测试,OneAPI是原样传递给了FastGPT。目前FastGPT只能正确识别前一种,对于后者只报“LLM model response empty”

以下都是OneAPI的响应:

  1. 直接400 完整content: 作为泡馆达人,你使用三楼讨论室,最多可以待多久? image

这种情况下,FastGPT的报错是正确的: image

  1. 200流式响应,以event的形式返回错误 完整content 回答要求:\\n- 如果你不清楚答案,你需要澄清。\\n- 避免提及你是从 <Data></Data> 获取的知识。\\n- 保持答案与 <Data></Data> 中描述的一致。\\n- 使用 Markdown 语法优化回答格式。\\n- 使用与问题相同的语言回答。\\n\\n问题:\\\"\\\"\\\"作为泡馆达人,你使用三楼讨论室,最多可以待多久?\\\"\\\"\\\" image

这时FastGPT只会提示“LLM model response empty” image

OneAPI返回的明细如下

// event1
{
    "choices": [
        {
            "content_filter_results": {},
            "delta": {
                "content": "",
                "role": "assistant"
            },
            "finish_reason": null,
            "index": 0,
            "logprobs": null
        }
    ],
    "created": 1724116111,
    "id": "chatcmpl-9y7eJyXhFvB05DLc6oltsQwUp17Cv",
    "model": "gpt-4o-2024-05-13",
    "object": "chat.completion.chunk",
    "system_fingerprint": "fp_80a1bad4c7"
}

// event2
{
    "choices": [
        {
            "content_filter_results": {
                "hate": {
                    "filtered": false,
                    "severity": "safe"
                },
                "self_harm": {
                    "filtered": false,
                    "severity": "safe"
                },
                "sexual": {
                    "filtered": true, // 这里触发内容过滤
                    "severity": "medium"
                },
                "violence": {
                    "filtered": false,
                    "severity": "safe"
                }
            },
            "delta": {},
            "finish_reason": "content_filter",
            "index": 0,
            "logprobs": null
        }
    ],
    "created": 1724116111,
    "id": "chatcmpl-9y7eJyXhFvB05DLc6oltsQwUp17Cv",
    "model": "gpt-4o-2024-05-13",
    "object": "chat.completion.chunk",
    "system_fingerprint": "fp_80a1bad4c7"
}

预期结果 2种情况都能够报content_filter错误。

还请大佬们抽空看一下,十分感谢!

Zhenyi-Wang avatar Aug 20 '24 01:08 Zhenyi-Wang