深度思考
在处理复杂任务时,传统的模型往往难以提供全面和深入的回答。您可使用具备深度思考能力的模型来处理复杂任务。模型在回答问题前,会对问题进行分析和拆解,并基于对问题的拆解回答问题,回答会更加全面和深入。当您向模型提问时,MaaS返回模型回答问题前的问题思考逻辑(思维链内容),基于此可观察模型推导过程并使用这部分信息。通过启用具备深度思考能力的模型,可以有效提升回答的质量和深度,同时通过观察思维链内容,用户可以更好地理解模型的推导过程。
工作原理
深度思考模型除了提问(Question)和回答(Answer)外,还会输出思维链内容(COT)。思维链(Chain of Thought,简称CoT)是指模型在解决复杂问题时,能够生成一系列中间推理步骤的能力。这种能力使得模型不仅能够给出最终答案,还能展示出其推理过程,从而提高模型的可解释性和透明度。
支持模型
当前支持深度思考的模型请参见深度思考。
前提条件
- 已在页签开通预置服务。详情请见开通MaaS预置服务。
- (可选)如果需要控制服务调用流量,可提前创建自定义接入点,详情请参见MaaS创建自定义接入点。
- 已获取API Key。详情请见在MaaS管理API Key。
- 已获取模型服务的model参数值。详情请见对话Chat/Post。
思维链使用说明
|
模型 |
开启关闭思维链参数格式 |
参数 |
默认配置 |
|---|---|---|---|
|
GLM-5 |
"thinking": { "type": "enabled" # 是否开启深度思考模式,默认关闭 } |
|
开启思维链 |
|
DeepSeek-V3.1 DeepSeek-V3.2 |
"thinking": { "type": "enabled" # 是否开启深度思考模式,默认关闭 } |
|
关闭思维链 |
|
Qwen3系列: Qwen3-235B-A22B Qwen3-32B Qwen3-30B-A3B |
"thinking": { "type": "enabled" # 是否开启深度思考模式,默认开启 } |
|
开启思维链 |
DeepSeek-V3.1模型的约束限制如下:
- Function Call功能和思维链不兼容,不建议同时使用。
- 开启思维链不支持前缀续写。
- 不截断思维链只截断content能力不生效。
- 开启思维链后guided_choice能力不可用,reasoning_content和guided_decoding不兼容。
快速开始
运行以下代码,快速调用深度思考模型,通过流式输出的方式调用深度思考的deepseek-v3.2模型。
import requests
import json
if __name__ == '__main__':
url = "https://api.modelarts-maas.com/v2/chat/completions" # API地址
api_key = "MAAS_API_KEY" # 把MAAS_API_KEY替换成已获取的API Key
# Send request.
headers = {
'Content-Type': 'application/json',
'Authorization': f'Bearer {api_key}'
}
data = {
"model": "deepseek-v3.2", # model参数,此处以deepseek-v3.2为例,您可按需更换模型参数,详情请见深度思考
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "你好"}
],
"thinking": {
"type": "enabled" # 开启深度思考模式
}
}
response = requests.post(url, headers=headers, data=json.dumps(data), verify=False)
# Print result.
print(response.status_code)
print(response.text)
curl -X POST "https://api.modelarts-maas.com/v2/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $MAAS_API_KEY" \
-d '{
"model": "deepseek-v3.2",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "你好"}
],
"thinking": {
"type": "enabled"
}
}'
from openai import OpenAI
import httpx
base_url = "https://api.modelarts-maas.com/openai/v1" # API地址
api_key = "MAAS_API_KEY" # 把MAAS_API_KEY替换成已获取的API Key
client = OpenAI(api_key=api_key, base_url=base_url, http_client=httpx.Client(verify=False))
response = client.chat.completions.create(
model="deepseek-v3.2", # 此处以deepseek-v3.2为例,您可按需更换模型参数,详情请见深度思考
messages=[
{"role": "system", "content": "You are a helpful assistant"},
{"role": "user", "content": "你好"},
],
extra_body={
"thinking": {
"type": "enabled" # 开启深度思考模式
}
}
)
print(response.choices[0].message.content)
print(response.choices[0].message.reasoning_content)
API说明
模型调用的完整参数列表请见对话Chat/Post。
多轮对话
组合使用系统消息、模型消息以及用户消息,可以实现多轮对话。当需要持续在一个主题内对话,可以将历史轮次的对话记录输入给模型。
以下为多轮对话开启深度思考的示例代码,可通过model参数替换模型,model参数详情请参见文本生成。
reasoning_content是模型的输出字段,不应作为输入。如果在输入的messages序列中包含此字段,将被忽略,不作为模型输入。进行多轮对话时,应只保留role和content字段。可参考下例,详细见对话Chat/Post。
import requests
import json
if __name__ == '__main__':
url = "https://api.modelarts-maas.com/v2/chat/completions" # API地址
api_key = "MAAS_API_KEY" # 把MAAS_API_KEY替换成已获取的API Key
# Send request.
headers = {
'Content-Type': 'application/json',
'Authorization': f'Bearer {api_key}'
}
data = {
"model": "deepseek-v3.2", # 此处以deepseek-v3.2为例,您可按需更换模型参数,详情请见深度思考
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "你好"},
{"role": "assistant", "content": "你好!很高兴见到你!"},
{"role": "user", "content": "介绍下你自己"}
],
"thinking": {
"type": "enabled" # 开启深度思考模式
}
}
response = requests.post(url, headers=headers, data=json.dumps(data), verify=False)
# Print result.
print(response.status_code)
print(response.text)
curl -X POST "https://api.modelarts-maas.com/v2/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $MAAS_API_KEY" \
-d '{
"model": "deepseek-v3.2",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "你好"},
{"role": "assistant", "content": "你好!很高兴见到你!"},
{"role": "user", "content": "介绍下你自己"}
],
"thinking": {
"type": "enabled"
}
}'
from openai import OpenAI
import httpx
base_url = "https://api.modelarts-maas.com/openai/v1" # API地址
api_key = "MAAS_API_KEY" # 把MAAS_API_KEY替换成已获取的API Key
client = OpenAI(api_key=api_key, base_url=base_url, http_client=httpx.Client(verify=False))
response = client.chat.completions.create(
model="deepseek-v3.2", # 此处以deepseek-v3.2为例,您可按需更换模型参数,详情请见深度思考
messages=[
{"role": "user", "content": "你好"},
{"role": "assistant", "content": "你好!很高兴见到你!"},
{"role": "user", "content": "介绍下你自己"}
],
extra_body={
"thinking": {
"type": "enabled" # 开启深度思考模式
}
}
)
print(response.choices[0].message.content)
流式输出
随着大模型输出,动态输出内容。无需等待模型推理完毕,即可看到中间输出过程内容,可以改善用户的等待体验(一边输出一边看内容)。
以下为流式输出开启深度思考的示例代码,可通过model参数替换模型,model参数详情请参见文本生成。
curl -X POST "https://api.modelarts-maas.com/v2/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $MAAS_API_KEY" \
-d '{
"model": "deepseek-v3.2",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "你好"}
],
"thinking": {
"type": "enabled"
},
"stream": true
}'
from openai import OpenAI
import httpx
base_url = "https://api.modelarts-maas.com/openai/v1" # API地址
api_key = "MAAS_API_KEY" # 把MAAS_API_KEY替换成已获取的API Key
client = OpenAI(api_key=api_key, base_url=base_url, http_client=httpx.Client(verify=False))
response = client.chat.completions.create(
model="deepseek-v3.2", # 此处以deepseek-v3.2为例,您可按需更换模型参数,详情请见深度思考
messages=[
{"role": "system", "content": "You are a helpful assistant"},
{"role": "user", "content": "你好"}
],
stream = True,
extra_body={
"thinking": {
"type": "enabled" # 开启深度思考模式
}
}
)
for chunk in response:
if not chunk.choices:
continue
print(chunk.choices[0].delta.content, end="")
开启/关闭深度思考
仅DeepSeek-V3.2、DeepSeek-V3.1和Qwen3系列思考模型支持开启或关闭思维链。思维链使用说明请见思维链使用说明。
以下为关闭深度思考的示例代码,可通过model参数替换模型,model参数详情请参见文本生成,是否开启思维链字段取值参考表1。
import requests
import json
if __name__ == '__main__':
url = "https://api.modelarts-maas.com/v2/chat/completions" # API地址
api_key = "MAAS_API_KEY" # 把MAAS_API_KEY替换成已获取的API Key
# Send request.
headers = {
'Content-Type': 'application/json',
'Authorization': f'Bearer {api_key}'
}
data = {
"model": "qwen3-32b", # 此处以qwen3-32b为例,您可按需更换模型参数,详情请见深度思考
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "你好"}
],
"thinking": {
"type": "enabled" # 是否开启深度思考模式,默认开启
}
}
response = requests.post(url, headers=headers, data=json.dumps(data), verify=False)
# Print result.
print(response.status_code)
print(response.text)
curl -X POST "https://api.modelarts-maas.com/v2/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $MAAS_API_KEY" \
-d '{
"model": "qwen3-32b",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "你好"}
],
"thinking": {
"type": "enabled"
}
}'