为什么要分离思维过程
带思维链的推理模型会先生成一段推理过程,再给出最终结论。如果不做解析,这段过程会和最终回答混在同一个内容字段里,前端展示、通知推送、用量统计都会受影响。推理框架提供按模型族解析的选项,把思维过程与最终回答拆到不同字段返回,消费方按需要取用,接口契约也更清晰。
基本信息
| 适用平台 | 自托管推理服务,模型需为带思维链输出的推理模型 |
|---|---|
| 配置方式 | 启动参数按模型族指定解析器名称 |
| 响应字段 | 思维过程与最终回答分为两个字段 |
| 版本差异 | 解析器名称与字段形态随框架版本演进,以所用版本文档为准 |
服务端启用(示意)
服务端启用(示意)
vllm serve <推理模型路径> --reasoning-parser deepseek_r1
# 解析器名称按模型族选择,以版本文档为准响应字段
响应字段
# message.reasoning_content 思维过程(若启用解析)
# message.content 最终回答典型使用场景
- 前端展示:只把最终回答渲染给用户,推理过程默认折叠或不下发
- 用量统计:把思维过程消耗的 token 计入配额,避免口径不一致
- 流式推送:确认推理过程与最终回答在流式响应里的切分方式
- 质量回归:对比启用与不启用解析时,最终回答是否保持一致
- 日志留存:思维过程是否落盘,按数据合规要求决定
字段读法
| 字段 | 内容 | 使用建议 |
|---|---|---|
| 思维过程 | 推理模型生成的中间推理 | 默认不直接展示给终端用户 |
| 最终回答 | 面向用户的结论 | 前端与推送只取这个字段 |
| 结束原因 | 生成如何结束 | 与用量统计一起记录,便于对账 |
未启用解析时思维链会混在内容字段里:前端展示与推送通知都会受影响,建议在服务端一次配好。
把思维过程直接透传给终端用户,可能暴露多余或敏感的推理内容,展示策略要按产品要求收紧。