OpenAI流模式下思考过程的获取示例

OpenAI采用流模式时,思考过程也是通过流式输出的。

这意味着可以像接收最终回答一样,实时逐片段获取模型思考过程,实现边推理边展示的效果。

这里尝试基于网络资料,尝试解锁这一过程的具体实现方式。

1 实现示例

OpenAI流模式下思考过程的获取的具体的实现方法,是在处理流式响应时,从数据块的 delta 字段中提取 reasoning_content 属性,而不是用于最终回答的 content 属性。

以下是一个基于OpenAI库的示例,展示了如何并打印出模型的思考过程和最终回答。

复制代码
from openai import OpenAI

client = OpenAI()
# 以支持推理的模型为例,如 o1 系列或 DeepSeek-R1 等
stream = client.chat.completions.create(
    model="deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B", # 或 "o1-mini" 等
    messages=[{"role": "user", "content": "9.11 和 9.8 哪个更大?"}],
    stream=True,
)

print("开始流式接收...")
for chunk in stream:
    # 获取思考过程的增量
    if hasattr(chunk.choices[0].delta, 'reasoning_content') and chunk.choices[0].delta.reasoning_content:
        reasoning_content = chunk.choices[0].delta.reasoning_content
        print(f"【思考】: {reasoning_content}", end="", flush=True)  # 实时打印思考过程

    # 获取最终回答的增量
    elif hasattr(chunk.choices[0].delta, 'content') and chunk.choices[0].delta.content:
        content = chunk.choices[0].delta.content
        print(f"【回答】: {content}", end="", flush=True)  # 实时打印最终回答

2 核心要点

2.1 关键字段

流式数据块ChatCompletionChunk中,使用choices[0].delta.reasoning_content获取思考过程。在有的实现中比如VLLM,思考过程有可能是reasoning字段,所以需要依据具体框架文档决定。

2.2 参数控制

对于 OpenAI 的 o1o3 等推理模型,还可以通过 reasoning_effort 参数来控制模型思考的深入程度,例如 lowmediumhigh。部分模型或工具如 Vercel AI SDK也支持 reasoningSummary 参数来获取更精炼的思考摘要。

2.3 模型差异

需要注意的是,并非所有模型都支持输出思考过程。这一功能主要针对专门的推理模型,例如 OpenAI 的 o1 系列、o3 ,以及 DeepSeek-R1 等第三方推理模型。普通的 GPT 模型如 gpt-4o在标准 API 调用中通常不提供此字段。

reference


OpenAI Reasoning

https://vercel.com/docs/ai-gateway/capabilities/reasoning/openai

OpenAI 聊天補全與推理流式傳輸

https://docs.vllm.tw/en/latest/getting_started/examples/openai_chat_completion_with_reasoning_streaming.html

使用openai库进行流式输出时,到底发生了什么

https://juejin.cn/post/7430462823758512128

相关推荐
码兄科技4 分钟前
Java AI智能体开发实战:从零构建智能对话系统指南
java·开发语言·人工智能
Zik----20 分钟前
CCswitch-code
人工智能
AI科技星1 小时前
全域谱分析:无穷维超复数信息场分形统一场论 ——自然、量子、金融多重分形第一性原理完整体系(中英双语终稿)
人工智能·机器学习·金融·乖乖数学·全域数学
stormzhangV2 小时前
为什么你的 AI 像智障
人工智能
ai产品老杨2 小时前
H264 H265视频分析常见问题和排查清单
人工智能·算法·音视频
项目经理老王2 小时前
OpenClaw无捆绑安装包,安全纯净版AI助手部署
人工智能·安全
梦帮科技3 小时前
GRAVIS v4.0:基于Web的极速套利架构设计与实时数据流实现
前端·人工智能·rust·自动化·区块链·智能合约·数字货币
“码”力全开3 小时前
AI视频分析API性能优化指南
人工智能·性能优化·音视频
liuyicenysabel3 小时前
大模型学习笔记 · 第八篇 · 进阶:偏好对齐与多卡训练
人工智能·笔记·学习
CIO_Alliance3 小时前
iPaaS 生态与选型对比(1)| 开源vs商业 iPaaS:国内外iPaaS系统集成平台怎么选
人工智能·科普·ipaas·选型·系统集成