API 参数​

输入参数:最终回答的最大长度(不含思维链输出),默认为 4K,最大为 8K。请注意,思维链的输出最多可以达到 32K tokens,控思维链的长度的参数(reasoning_effort)将会在近期上线。
输出字段:reasoning_content:思维链内容,与 content 同级,访问方法见访问样例content:最终回答内容
上下文长度:API 最大支持 64K 上下文,输出的 reasoning_content 长度不计入 64K 上下文长度中
支持的功能:对话补全,对话前缀续写 (Beta)
不支持的功能:Function Call、Json Output、FIM 补全 (Beta)
不支持的参数:temperature、top_p、presence_penalty、frequency_penalty、logprobs、top_logprobs。请注意,为了兼容已有软件,设置 temperature、top_p、presence_penalty、frequency_penalty 参数不会报错,但也不会生效。设置 logprobs、top_logprobs 会报错。

上下文拼接​

在每一轮对话过程中,模型会输出思维链内容(reasoning_content)和最终回答(content)。在下一轮对话中,之前轮输出的思维链内容不会被拼接到上下文中,如下图所示:

在这里插入图片描述

请注意,如果您在输入的 messages 序列中,传入了reasoning_content,API 会返回 400 错误。因此,请删除 API 响应中的 reasoning_content 字段,再发起 API 请求,方法如访问样例所示。

访问样例​

下面的代码以 Python 语言为例,展示了如何访问思维链和最终回答,以及如何在多轮对话中进行上下文拼接。

非流式示例

from openai import OpenAI
client = OpenAI(api_key=“”, base_url=“https://api.deepseek.com”)

Round 1

messages = [{“role”: “user”, “content”: “9.11 and 9.8, which is greater?”}]
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’: “How many Rs are there in the word ‘strawberry’?”})
response = client.chat.completions.create(
model=“deepseek-reasoner”,
messages=messages
)

流式示例

from openai import OpenAI
client = OpenAI(api_key=“”, base_url=“https://api.deepseek.com”)

Round 1

messages = [{“role”: “user”, “content”: “9.11 and 9.8, which is greater?”}]
response = client.chat.completions.create(
model=“deepseek-reasoner”,
messages=messages,
stream=True
)

reasoning_content = “”
content = “”

for chunk in response:
if chunk.choices[0].delta.reasoning_content:
reasoning_content += chunk.choices[0].delta.reasoning_content
else:
content += chunk.choices[0].delta.content

Round 2

messages.append({“role”: “assistant”, “content”: content})
messages.append({‘role’: ‘user’, ‘content’: “How many Rs are there in the word ‘strawberry’?”})
response = client.chat.completions.create(
model=“deepseek-reasoner”,
messages=messages,
stream=True
)

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐