🧠 图解记忆:EOS 自然停,上限兜底,Stop 要防误截断;点击图片可查看原图。
定义
EOS(End of Sequence) = 词表中一个特殊的终止 Token,模型生成它即代表回答结束。
生成终止的四种方式
| 方式 | 说明 |
|---|---|
| EOS Token | 模型自己预测出 EOS,自然结束 |
| max_tokens | 达到长度上限强制截断(兜底) |
| Stop Words | 命中自定义停止词立即终止(如 \n\n、"再见") |
| 工具调用/结构化输出 | 命中特定格式边界结束(如 JSON 闭合括号) |
工程注意
- max_tokens 必须设置,防止死循环/无限生成(成本失控)
- 流式输出时识别 EOS 立即断开,减少 token 消耗
- 结构化输出(JSON)场景下,停止符配置不当会截断半截 JSON
面试话术
"生成终止有三层保险:模型预测出 EOS 自然结束、max_tokens 硬性截断兜底、Stop Words 按业务边界提前终止。工程上我必设 max_tokens 防成本失控,流式场景识别到 EOS 就立即断开连接。"
