DeepSeek的API调用 | 结合DeepSeek API文档 | 非流式输出效果实现(四)
结合DeepSeek的API文档,介绍了思维链的模型为R1,思维链的输出,以及非流式输出实现多轮对话的效果,即将上一次对话的输出结果(不包括思维链)添加到messages中。
·
1、推理模型(deepseek-reasoner)(DeepSeek-R1)
特点:在生成回答内容之前,生成一段思维链,用于提升答案的准确性。
输出字段中,包含两个内容:reasoning_content (思维链内容) 和 content (模型回答内容)
注意:思维链内容不能拼接到下一个 messages 中。 如图所示:
1.1 非流式例子
from openai import OpenAI
client = OpenAI(api_key="sk-123456", base_url="https://api.deepseek.com")
# Round 1
messages = [{"role": "user", "content": "天空是什么颜色的?"}]
response = client.chat.completions.create(
model="deepseek-reasoner",
messages=messages
)
reasoning_content = response.choices[0].message.reasoning_content
content = response.choices[0].message.content
# Round 2
messages.append({'role': 'assistant', 'content': content})
messages.append({'role': 'user', 'content': "森林呢?"})
response = client.chat.completions.create(
model="deepseek-reasoner",
messages=messages
)
我们首先看看 Round 1 的 reasoning_content 和 content 的值。
先运行下面代码:
from openai import OpenAI
client = OpenAI(api_key="sk-123456", base_url="https://api.deepseek.com")
# Round 1
messages = [{"role": "user", "content": "天空是什么颜色的?"}]
response = client.chat.completions.create(
model="deepseek-reasoner",
messages=messages
)
reasoning_content = response.choices[0].message.reasoning_content
content = response.choices[0].message.content
print(reasoning_content)
print(content)
结果如下(运行用了46s):

再看看后面的代码,后面的代码将前面的 content 内容和新的用户提问添加到 messages 中。
# Round 2
messages.append({'role': 'assistant', 'content': content})
messages.append({'role': 'user', 'content': "森林呢?"})
response = client.chat.completions.create(
model="deepseek-reasoner",
messages=messages
)
print(response.choices[0].message.reasoning_content)
print(response.choices[0].message.content)
结果如下(用时56s):

1.1.1 总结
就是将第一个提问输出的结果作为上文,用于给用户下一个问题的提问,还是比较简单的,关键是下面提到的如何进行流式输出。
1.2 流式输出
因为流式输出的代码在CSDN上介绍很少,所以另起一篇介绍它,将在下一篇中详细介绍流式输出的实现代码,效果中包括思维链的输出效果!
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)