深度思考与推理过程
适用读者:Halo 站长、Widget 开发者 适用版本:AI 智能套件 0.3.x 前置条件:所选 AI Foundation 语言模型支持推理能力
功能边界
“深度思考”是一次请求级选择,不是模型供应商的永久开关。AI Suite 把访客选择转换为 AI Foundation 的推理模式,并把模型返回的推理片段与最终回答分开处理。
<think>...</think> 或 <reasoning>...</reasoning> 是部分兼容模型在普通文本流中携带推理内容的约定标签。它们通常表示推理过程,但不是所有模型都使用标签,也不是标准化的完整内部思维记录。
后台配置
进入「对话与外观」:
- 开启“允许访客开启深度思考”。
- 需要时开启“默认开启深度思考”。
- 保存后刷新访客页面。
关闭访客选择后,请求不再携带 reasoningEnabled,后台按禁用模式调用模型。默认开启只影响访客首次打开浮窗时的开关状态,访客仍可在每次提问前调整。
访客体验
- 深度思考按钮位于消息输入区附近,只影响下一次请求。
- 推理开始后显示独立面板。
- 面板默认折叠,访客可以展开查看已经返回的推理文本。
- 最终答案仍显示在正常回答区域,不和推理文本混排。
- 模型没有返回推理内容时,不展示空面板。
API
请求体可增加:
json
{
"message": "比较站内两篇文章的观点",
"history": [],
"reasoningEnabled": true
}开启后可能出现以下 SSE 事件:
text
event:reasoning_start
data:{}
event:reasoning_delta
data:{"content":"正在分析文章之间的关系……"}
event:reasoning_end
data:{}随后继续发送普通 token、logId 和 [DONE]。自定义客户端不认识推理事件时可以安全忽略。
供应商兼容与降级
AI Foundation 可能通过结构化 reasoning 字段返回推理,也可能把 <think> 标签混在文本中。AI Suite 会把两者归一为相同的三类 SSE 事件。
如果模型不接受显式推理参数,AI Suite 会回退到不携带该参数的调用。此时请求仍可能成功,但不保证返回推理过程。未开启深度思考时,供应商意外透传的 <think> 内容会被过滤,避免直接出现在最终回答中。
验证清单
- 后台允许访客选择后,前台出现深度思考开关。
- 开启请求体包含
reasoningEnabled: true。 - 推理内容进入折叠面板,最终答案保持独立。
- 关闭后,MiniMax 等模型的
<think>内容不会混入答案。 - 不支持推理的模型仍能正常回答。
- Nginx/CDN 未缓冲 SSE。