# 深度思考
在处理复杂任务时，传统的模型往往难以提供全面和深入的回答。您可使用具备深度思考能力的模型来处理复杂任务。模型在回答问题前，会对问题进行分析和拆解，并基于对问题的拆解回答问题，回答会更加全面和深入。当您向模型提问时，MaaS返回模型回答问题前的问题思考逻辑（思维链内容），基于此可观察模型推导过程并使用这部分信息。通过启用具备深度思考能力的模型，可以有效提升回答的质量和深度，同时通过观察思维链内容，用户可以更好地理解模型的推导过程。
#### 工作原理
深度思考模型除了提问（Question）和回答（Answer）外，还会输出思维链内容（COT）。思维链（Chain of Thought，简称CoT）是指模型在解决复杂问题时，能够生成一系列中间推理步骤的能力。这种能力使得模型不仅能够给出最终答案，还能展示出其推理过程，从而提高模型的可解释性和透明度。
#### 支持模型
当前支持深度思考的模型请参见[深度思考](https://support.huaweicloud.com/model-list-maas/model_list_0001.html#section2)。
#### API说明
模型调用的完整参数列表请见[对话Chat/Post](https://support.huaweicloud.com/model-call-maas/model-call-018.html)。
#### 前提条件
- 已在"模型推理 \> 在线推理 \> 预置服务"页签开通预置服务。详情请见[开通MaaS预置服务](https://support.huaweicloud.com/model-call-maas/model-call-052.html)。
- （可选）如果需要控制服务调用流量，可提前创建自定义接入点，详情请参见[创建自定义接入点](https://support.huaweicloud.com/model-call-maas/model-call-048.html#ZH-CN_TOPIC_0000002549717747__zh-cn_topic_0000002397381901_section446813817237)。

- 已获取API Key。详情请见[在MaaS管理API Key](https://support.huaweicloud.com/model-call-maas/model-call-049.html)。
- 已获取模型服务的model参数值。支持的模型信息和接口详情请见[对话Chat/Post](https://support.huaweicloud.com/model-call-maas/model-call-018.html)。
 
#### 思维链使用说明
 表1模型支持开启关闭思维链情况 
| 模型                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | 默认配置  | 开启关闭思维链                                                                                                                                                                                                                   |
|:---|:---|:---|
| openPangu-2.0-Flash openPangu-2.0-Pro Kimi-K2.6 GLM-5.1 GLM-5.2 GLM-5.3 DeepSeek-V4.1-Flash DeepSeek-V4-Flash DeepSeek-V4-Pro Qwen3-32B Qwen3-30B-A3B | 开启思维链 | - GLM-5.3不支持关闭思维链  - 其他模型支持关闭思维链   |
   
#### 快速开始
运行以下代码，快速调用深度思考模型，通过流式输出的方式调用深度思考的deepseek-v4-flash模型。
- [Python]
  ```
  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-v4-flash",  # model参数，此处以deepseek-v4-flash为例，您可按需更换模型参数，详情请见深度思考
          "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]
  ```
  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-v4-flash",
      "messages": [
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "你好"}
      ],
      "thinking": {
         "type": "enabled"
       }     
    }'
  ```
- [Java]
  建议JDK版本为15+。
  ```
  import java.net.URI;
  import java.net.http.HttpClient;
  import java.net.http.HttpRequest;
  import java.net.http.HttpResponse;
  import java.time.Duration;
  public class ChatCompletionsExample {
      public static void main(String[] args) {
          // 接口地址
          String apiUrl = "https://api.modelarts-maas.com/v2/chat/completions" ;
         // 把MAAS_API_KEY替换成已获取的API Key
          String apiKey = "MAAS_API_KEY";
          // 替换为你要调用的模型名称，例如 "deepseek-v4-flash" 等
          String modelName = "deepseek-v4-flash";
          // 构造请求体
          String requestBody = String.format(
                  """
                          {
                              "model": "%s",
                              "messages": [
                                  {"role": "system", "content": "You are a helpful assistant."},
                                  {"role": "user", "content": "你好"}
                              ],
                              "thinking": {
                                   "type": "enabled"
                              }
                          }""", modelName);
          // 创建 HttpClient
          HttpClient client = HttpClient.newBuilder()
                  .connectTimeout(Duration.ofSeconds(10))
                  .build();
          // 创建请求
          HttpRequest request = HttpRequest.newBuilder()
                  .uri(URI.create(apiUrl))
                  .header("Content-Type", "application/json")
                  .header("Authorization", "Bearer " + apiKey)
                  .POST(HttpRequest.BodyPublishers.ofString(requestBody))
                  .build();
          try {
              // 发送请求并打印结果
              HttpResponse<String> response = client.send(
                      request, HttpResponse.BodyHandlers.ofString());
              System.out.println("HTTP Status: " + response.statusCode());
              System.out.println("Response Body:\n" + response.body());
          } catch (Exception e) {
              e.printStackTrace();
          }
      }
  }
  ```
#### 多轮对话
组合使用系统消息、模型消息以及用户消息，可以实现多轮对话。当需要持续在一个主题内对话，可以将历史轮次的对话记录输入给模型。
以下为多轮对话开启深度思考的示例代码，可通过model参数替换模型，model参数详情请参见[文本生成](https://support.huaweicloud.com/model-list-maas/model_list_0001.html#section1)。
![](https://support.huaweicloud.com/model-call-maas/public_sys-resources/note_3.0-zh-cn.png)
reasoning_content是模型的输出字段，不应作为输入。如果在输入的messages序列中包含此字段，将被忽略，不作为模型输入。进行多轮对话时，应只保留role和content字段。可参考下例，详细见[对话Chat/Post](https://support.huaweicloud.com/model-call-maas/model-call-018.html)。
- [Python]
  ```
  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-v4-flash",  # 此处以deepseek-v4-flash为例，您可按需更换模型参数，详情请见深度思考
          "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]
  ```
  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-v4-flash",
      "messages": [
           {"role": "system", "content": "You are a helpful assistant."},     
           {"role": "user", "content": "你好"}, 
           {"role": "assistant", "content": "你好！很高兴见到你！"},     
           {"role": "user", "content": "介绍下你自己"}
      ],
      "thinking": {
           "type": "enabled"
       }
    }'
  ```
- [OpenAI SDK]
  ```
  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-v4-flash",  # 此处以deepseek-v4-flash为例，您可按需更换模型参数，详情请见深度思考
      messages=[
          {"role": "user", "content": "你好"},
          {"role": "assistant", "content": "你好！很高兴见到你！"},
          {"role": "user", "content": "介绍下你自己"}
      ],
     chat_template_kwargs={"thinking": True}
  )
  print(response.choices[0].message.content)
  ```
- [Java]
  建议JDK版本为15+。
  ```
  import java.net.URI;
  import java.net.http.HttpClient;
  import java.net.http.HttpRequest;
  import java.net.http.HttpResponse;
  import java.time.Duration;
  public class ChatCompletionsExample {
      public static void main(String[] args) {
          // 接口地址
          String apiUrl = "https://api.modelarts-maas.com/v2/chat/completions";
          // 把MAAS_API_KEY替换成已获取的API Key
          String apiKey = "MAAS_API_KEY";
          // 替换为你要调用的模型名称，例如 "deepseek-v4-flash" 等
          String modelName = "deepseek-v4-flash";
          // 构造请求体
          String requestBody = String.format(
                  """
                          {
                              "model": "%s",
                              "messages": [
                                  {"role": "system", "content": "You are a helpful assistant."},
                                  {"role": "user", "content": "你好"},
                                  {"role": "assistant", "content": "你好！很高兴见到你！"},
                                  {"role": "user", "content": "介绍下你自己"}
                              ],
                              "thinking": {
                                   "type": "enabled"
                              }
                          }""", modelName);
          // 创建 HttpClient
          HttpClient client = HttpClient.newBuilder()
                  .connectTimeout(Duration.ofSeconds(10))
                  .build();
          // 创建请求
          HttpRequest request = HttpRequest.newBuilder()
                  .uri(URI.create(apiUrl))
                  .header("Content-Type", "application/json")
                  .header("Authorization", "Bearer " + apiKey)
                  .POST(HttpRequest.BodyPublishers.ofString(requestBody))
                  .build();
          try {
              // 发送请求并打印结果
              HttpResponse<String> response = client.send(
                      request, HttpResponse.BodyHandlers.ofString());
              System.out.println("HTTP Status: " + response.statusCode());
              System.out.println("Response Body:\n" + response.body());
          } catch (Exception e) {
              e.printStackTrace();
          }
      }
  }
  ```
#### 流式输出
随着大模型输出，动态输出内容。无需等待模型推理完毕，即可看到中间输出过程内容，可以改善用户的等待体验（一边输出一边看内容）。
以下为流式输出开启深度思考的示例代码，可通过model参数替换模型，model参数详情请参见[文本生成](https://support.huaweicloud.com/model-list-maas/model_list_0001.html#section1)。
- [Curl]
  ```
  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-v4-flash",
      "messages": [
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "你好"}
      ],
      "thinking": {
         "type": "enabled"
      },
       "stream": true
    }'
  ```
- [OpenAI Python]
  ```
  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-v4-flash", # 此处以deepseek-v4-flash为例，您可按需更换模型参数，详情请见深度思考
      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="")
  ```
- [Java]
  建议JDK版本为15+。
  ```
  import java.net.URI;
  import java.net.http.HttpClient;
  import java.net.http.HttpRequest;
  import java.net.http.HttpResponse;
  import java.time.Duration;
  public class ChatCompletionsExample3 {
      public static void main(String[] args) {
          // 接口地址
          String apiUrl = "https://api.modelarts-maas.com/v2/chat/completions" ;
          // 把MAAS_API_KEY替换成已获取的API Key
          String apiKey = "MAAS_API_KEY";
          // 替换为你要调用的模型名称，例如 "deepseek-v4-flash" 等
          String modelName = "deepseek-v4-flash";
          // 构造请求体
          String requestBody = String.format(
                  """
                          {
                              "model": "%s",
                              "messages": [
                                  {"role": "system", "content": "You are a helpful assistant."},
                                  {"role": "user", "content": "你好"}
                              ],
                              "thinking": {
                                   "type": "enabled"
                              },
                              "stream": true
                          }""", modelName);
          // 创建 HttpClient
          HttpClient client = HttpClient.newBuilder()
                  .connectTimeout(Duration.ofSeconds(10))
                  .build();
          // 创建请求
          HttpRequest request = HttpRequest.newBuilder()
                  .uri(URI.create(apiUrl))
                  .header("Content-Type", "application/json")
                  .header("Authorization", "Bearer " + apiKey)
                  .POST(HttpRequest.BodyPublishers.ofString(requestBody))
                  .build();
          try {
              // 发送请求并打印结果
              HttpResponse<String> response = client.send(
                      request, HttpResponse.BodyHandlers.ofString());
              System.out.println("HTTP Status: " + response.statusCode());
              System.out.println("Response Body:\n" + response.body());
          } catch (Exception e) {
              e.printStackTrace();
          }
      }
  }
  ```
#### 开启/关闭深度思考
支持开启或关闭思维链的模型，以及思维链使用说明请见[对话Chat/Post](https://support.huaweicloud.com/model-call-maas/model-call-018.html)接口信息中深度思考设置字段说明。
以下为关闭深度思考的示例代码，可通过model参数替换模型，model参数详情请参见[文本生成](https://support.huaweicloud.com/model-list-maas/model_list_0001.html#section1)，是否开启思维链字段取值参考[表1]。
- [Python]
  ```
  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]
  ```
  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"
       }
    }'
  ```
- [Java]
  建议JDK版本为15+。
  ```
  import java.net.URI;
  import java.net.http.HttpClient;
  import java.net.http.HttpRequest;
  import java.net.http.HttpResponse;
  import java.time.Duration;
  public class ChatCompletionsExample {
      public static void main(String[] args) {
          // 接口地址
          String apiUrl = "https://api.modelarts-maas.com/v2/chat/completions" ;
          // 把MAAS_API_KEY替换成已获取的API Key
          String apiKey = "MAAS_API_KEY";
          // 替换为你要调用的模型名称，例如 "qwen3-32b" 等
          String modelName = "qwen3-32b";
          // 构造请求体（OpenAI 兼容格式）
          String requestBody = String.format(
                  """
                          {
                              "model": "%s",
                              "messages": [
                                  {"role": "system", "content": "You are a helpful assistant."},
                                  {"role": "user", "content": "你好"}
                              ],
                              "thinking": {
                                   "type": "enabled"
                              }
                          }""", modelName);
          // 创建 HttpClient
          HttpClient client = HttpClient.newBuilder()
                  .connectTimeout(Duration.ofSeconds(10))
                  .build();
          // 创建请求
          HttpRequest request = HttpRequest.newBuilder()
                  .uri(URI.create(apiUrl))
                  .header("Content-Type", "application/json")
                  .header("Authorization", "Bearer " + apiKey)
                  .POST(HttpRequest.BodyPublishers.ofString(requestBody))
                  .build();
          try {
              // 发送请求并打印结果
              HttpResponse<String> response = client.send(
                      request, HttpResponse.BodyHandlers.ofString());
              System.out.println("HTTP Status: " + response.statusCode());
              System.out.println("Response Body:\n" + response.body());
          } catch (Exception e) {
              e.printStackTrace();
          }
      }
  }
  ```
