错误与拒答/模型拒答

模型拒答识别

Claude 模型拒答时,Wokey 原样转发 Anthropic 的拒答信息。下游平台可以按下面的字段识别拒答并做风控处理。

本页内容expand_more

概要link

  • 拒答时 HTTP 状态码是 200,不是错误码。需要按响应里的字段识别。
  • 拒答原因在响应结尾。流式响应中,拒答前已经下发的内容不会撤回。
  • Wokey 不改写拒答内容,原文由 Anthropic 提供。

按接口格式识别link

Anthropic Messages /v1/messages

识别条件 stop_reason == "refusal"

分类在 stop_details.category,说明在 stop_details.explanation。流式在结尾的 message_delta 事件里,非流式在 message 对象顶层。

SSE
event: message_delta
data: {"type":"message_delta","delta":{"stop_reason":"refusal","stop_sequence":null,"stop_details":{"type":"refusal","category":"cyber","explanation":"This request triggered ..."}},"usage":{...}}

event: message_stop
data: {"type":"message_stop"}

OpenAI Chat Completions /v1/chat/completions

识别条件 finish_reason == "content_filter"

说明在 refusal 字段:流式在最后一个 chunk 的 choices[0].delta.refusal,非流式在 choices[0].message.refusal,此时 message.content 为 null。这个格式不带 category。

SSE
data: {"object":"chat.completion.chunk","choices":[{"index":0,"delta":{"refusal":"This request triggered ..."},"finish_reason":"content_filter"}],"usage":{...}}

data: [DONE]

OpenAI Responses /v1/responses

识别条件 output 中出现 type 为 "refusal" 的内容块

说明在内容块的 refusal 字段;流式会收到 response.refusal.delta 和 response.refusal.done 事件,output_text 为空字符串。这个格式不带 category。

SSE
event: response.refusal.done
data: {"type":"response.refusal.done","item_id":"msg_...","output_index":0,"content_index":0,"refusal":"This request triggered ..."}

拒答分类与原文link

category含义explanation 原文
reasoning_extraction违反服务条款:逆向或复制模型输出(蒸馏)This request was blocked as it seems to violate Anthropic's Terms of Service restrictions on reverse engineering or duplicating model outputs. To learn more, visit https://www.anthropic.com/legal/commercial-terms.
frontier_llm违反服务条款:开发竞品模型This request was blocked as our automated systems flagged that it may violate Anthropic's Terms of Service restrictions on developing competing model products. To learn more, visit https://www.anthropic.com/legal/commercial-terms.
cyber网络安全类内容(Opus 5 及以后、Fable、Sonnet 5.5)This request triggered restrictions on violative cyber content and was blocked under Anthropic's Usage Policy. To learn more, see https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback.
cyber网络安全类内容(Opus 4.x、Sonnet 5、Haiku 5.5)This request triggered cyber-related safeguards. To learn about the Cyber Verification Program and apply for access, visit our help center: https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude.
general_harms一般危害类内容,例如爆炸物This request triggered restrictions on content related to the development of high-yield explosives and was blocked under Anthropic's Usage Policy. To learn more, provide feedback, or request an exemption based on how you use Claude, visit our help center: https://support.claude.com/
bio 等生物类等内容,上游不提供说明Anthropic 格式没有 explanation 字段;OpenAI 两种格式返回 "The upstream model refused this request."

注意事项link

  • 原文由 Anthropic 提供,可能随时调整。建议优先按识别条件和 category 判断,不要只依赖原文字符串匹配。
  • OpenAI 两种格式不带 category,需要分类时可以用上表的原文对照。