[控场AI]
概念stop_reason / finishReason / 停止原因

finish_reason

LLM API响应中标识模型停止生成原因的字段,常见取值包括自然结束(stop/end_turn)、长度截断(length/max_tokens)、内容过滤(content_filter/SAFETY)等,用于区分模型是否正常完成输出

核心事实

时间轴 (近 90 天)

10月19日

停止原因(finish_reason/stop_reason)是模型响应元数据字段,标明生成为何结束:正常结束、达到max_tokens上限、触发内容过滤或工具调用请求等

待验证50%
10月19日

若 finish_reason 为 length 而客户端仍把内容当作完整答案,则属于 truncation_ambiguity 失败分类。

待验证50%
10月17日

检查响应完整性应同时验证 finish_reason 为 stop 以及关键数据结构符合预期(如 items 为非空列表)。

待验证50%
10月17日

finish_reason 字段常见取值包括 stop(自然结束)和 length(达到最大 token 数被截断)。

待验证50%
10月16日

生产环境的路由逻辑不应只看 HTTP 状态码,而应同时检查 finish_reason 与 content 是否非空,并把 finish_reason 为 length 且 content 为空视为硬失败而非可解析结果。

待验证50%
10月15日

即使厂商提供 OpenAI 兼容端点,模型名、tool/function calling 字段、流式 chunk 细节和错误对象结构往往存在差异,因此需在兼容层之上维护按供应商的适配配置。

待验证50%
10月12日

流式输出配合增量校验可在检测到 finish_reason: length 时立即触发告警或重试,而不必等整个响应返回

待验证50%
10月12日

finish_reason 为 length 或 MAX_TOKENS 类的值意味着模型被强制打断,而非主动收尾

已验证65%
10月12日

作者 Serguey Asael Shinder 建议在每一次 LLM 调用后读取停止原因,就像读取 HTTP 状态码一样

待验证50%
10月12日

应将 finish_reason 与调用成本记录在一起并绘制在同一张监控图上以提升可观测性

待验证50%

还有 3 条时间轴事件

全部知识事实 (13)

已验证

finish_reason 为 length 或 MAX_TOKENS 类的值意味着模型被强制打断,而非主动收尾

65%
已验证

OpenAI的API使用finish_reason字段,取值包括stop、length、content_filter等

65%
待验证

停止原因(finish_reason/stop_reason)是模型响应元数据字段,标明生成为何结束:正常结束、达到max_tokens上限、触发内容过滤或工具调用请求等

50%
待验证

若 finish_reason 为 length 而客户端仍把内容当作完整答案,则属于 truncation_ambiguity 失败分类。

50%
待验证

检查响应完整性应同时验证 finish_reason 为 stop 以及关键数据结构符合预期(如 items 为非空列表)。

50%
待验证

finish_reason 字段常见取值包括 stop(自然结束)和 length(达到最大 token 数被截断)。

50%
待验证

生产环境的路由逻辑不应只看 HTTP 状态码,而应同时检查 finish_reason 与 content 是否非空,并把 finish_reason 为 length 且 content 为空视为硬失败而非可解析结果。

50%
待验证

即使厂商提供 OpenAI 兼容端点,模型名、tool/function calling 字段、流式 chunk 细节和错误对象结构往往存在差异,因此需在兼容层之上维护按供应商的适配配置。

50%
待验证

流式输出配合增量校验可在检测到 finish_reason: length 时立即触发告警或重试,而不必等整个响应返回

50%
待验证

作者 Serguey Asael Shinder 建议在每一次 LLM 调用后读取停止原因,就像读取 HTTP 状态码一样

50%
待验证

应将 finish_reason 与调用成本记录在一起并绘制在同一张监控图上以提升可观测性

50%
待验证

应只缓存finish_reason为stop或tool_calls的响应,被length截断或出错的响应不应缓存

50%
待验证

大语言模型 API 返回响应时通常附带 finish_reason 字段,常见取值包括 stop、length、tool_calls

50%

来源文章