Skip to main content
文本生成

深度思考

深度思考模型在生成回复前先进行推理,从而在逻辑推理、数学计算等复杂任务中提升准确性。本文介绍如何通过API调用 Qwen、DeepSeek 等深度思考模型。

本文介绍如何通过 OpenAI 兼容的 Chat Completion 接口或 DashScope 接口调用深度思考模型。 Responses API用法参见: 深度思考

效果演示

以下是一个深度思考模型的对话示例,展示模型如何先进行推理再给出回答。

用户提问

9.9和9.11谁大

思考过程(reasoning_content 字段)

首先,用户的问题是:"9.9和9.11谁大",这看起来是在比较两个数字:9.9 和 9.11。

我需要理解这些数字的含义。在数学中,9.9 等同于 9.90,而 9.11 是 9.11。

为了比较它们,我应该将它们视为小数。9.9 是 9 + 9/10 = 9.9,而 9.11 是 9 + 11/100 = 9.11。

现在,比较 9.9 和 9.11:9.9 等于 9.90(因为 9.9 = 9.90),9.11 是 9.11。现在,9.90 与 9.11 比较:9.90 大于 9.11,因为 90/100 > 11/100。

更精确地:9.9 = 99/10 = 990/100,9.11 = 911/100,990/100 与 911/100 比较,显然 990 > 911,所以 990/100 > 911/100,因此 9.9 > 9.11。

我也可以直接看小数部分:9.9 的小数部分是 0.9,9.11 的小数部分是 0.11。0.9 大于 0.11,因为 0.9 = 0.90 > 0.11。

所以,9.9 大于 9.11。

模型回答(content 字段)

结论:9.9 大于 9.11。

使用方式

百炼深度思考模型分为两种模式:
  • 混合思考模式:通过enable_thinking参数控制思考开关:
    • 设为true:模型先思考再回复;
    • 设为false:模型直接回复;
    • OpenAI 兼容
    • DashScope
    # 导入依赖与创建客户端...
    completion = client.chat.completions.create(
        model="qwen3.8-max", # 选择模型
        messages=[{"role": "user", "content": "你是谁"}],
        # 由于 enable_thinking 非 OpenAI 标准参数,需要通过 extra_body 传入
        extra_body={"enable_thinking":True},
        # 流式输出方式调用
        stream=True,
        # 使流式返回的最后一个数据包包含Token消耗信息
        stream_options={
            "include_usage": True
        }
    )
    
  • 仅思考模式:模型始终在回复前进行思考,无法关闭。除无需设置 enable_thinking 参数外,请求格式与混合思考模式一致。
思考内容通过reasoning_content字段返回,回复内容通过content字段返回。深度思考需要额外推理时间,本文示例默认采用流式调用(推荐,可实时查看思考过程、避免长时间等待)。商业版深度思考模型同时支持非流式(同步)输出,用法及注意事项参见下方常见问题;部分模型(如 qwen3-235b-a22b、qwen3-32b 等开源版)仅支持流式输出,非流式调用会报错。

支持的模型

  • Qwen3.8
  • Qwen3.7
  • Qwen3.6
  • Qwen3.5
  • Kimi
  • Qwen3
  • QwQ (基于 Qwen2.5)
  • DeepSeek
  • GLM
  • MiniMax
  • Stepfun
千问3.8 Max系列(混合思考模式,默认开启思考模式):qwen3.8-max千问3.8 Flash系列(混合思考模式,默认开启思考模式):qwen3.8-flash千问3.8 开源系列(混合思考模式,默认开启思考模式):qwen3.8-2.4t-a95b

快速开始

API 使用前提:已获取与配置 API Key并完成配置API Key到环境变量。如果通过SDK调用,需要安装 OpenAI 或 DashScope SDK(DashScope Java SDK需不低于 2.19.4 版本)。 以下代码以流式调用 qwen3.8-max 开启思考模式为例。
  • OpenAI兼容
  • DashScope
  • Python
  • Node.js
  • HTTP

示例代码

from openai import OpenAI
import os

# 初始化OpenAI客户端
client = OpenAI(
    # 如果没有配置环境变量,请用阿里云百炼API Key替换:api_key="sk-xxx"
    # 各地域的API Key不同。获取API Key:https://help.aliyun.com/zh/model-studio/get-api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # 以下为华北2(北京)地域的配置,调用时请将{WorkspaceId}替换为真实的业务空间ID,各地域的配置不同。
    base_url="https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",
)

messages = [{"role": "user", "content": "你是谁"}]

completion = client.chat.completions.create(
    model="qwen3.8-max",  # 您可以按需更换为其它深度思考模型
    messages=messages,
    extra_body={"enable_thinking": True},
    stream=True,
    stream_options={
        "include_usage": True
    },
)

reasoning_content = ""  # 完整思考过程
answer_content = ""  # 完整回复
is_answering = False  # 是否进入回复阶段
print("\n" + "=" * 20 + "思考过程" + "=" * 20 + "\n")

for chunk in completion:
    if not chunk.choices:
        print("\nUsage:")
        print(chunk.usage)
        continue

    delta = chunk.choices[0].delta

    # 只收集思考内容
    if hasattr(delta, "reasoning_content") and delta.reasoning_content is not None:
        if not is_answering:
            print(delta.reasoning_content, end="", flush=True)
        reasoning_content += delta.reasoning_content

    # 收到content,开始进行回复
    if hasattr(delta, "content") and delta.content:
        if not is_answering:
            print("\n" + "=" * 20 + "完整回复" + "=" * 20 + "\n")
            is_answering = True
        print(delta.content, end="", flush=True)
        answer_content += delta.content

返回结果

====================思考过程====================

好的,用户问“你是谁”,我需要给出一个准确且友好的回答。首先,我要确认自己的身份,即千问,由阿里巴巴集团旗下的通义实验室研发。接下来,应该说明我的主要功能,比如回答问题、创作文字、逻辑推理等。同时,要保持语气亲切,避免过于技术化,让用户感觉轻松。还要注意不要使用复杂术语,确保回答简洁明了。另外,可能需要加入一些互动元素,邀请用户提问,促进进一步交流。最后,检查是否有遗漏的重要信息,比如我的中文名称“千问”和英文名称“Qwen”,以及所属公司和实验室。确保回答全面且符合用户期望。
====================完整回复====================

你好!我是千问,是阿里巴巴集团旗下的通义实验室自主研发的超大规模语言模型。我可以回答问题、创作文字、进行逻辑推理、编程等,旨在为用户提供高质量的信息和服务。你可以叫我Qwen,或者直接叫我千问。有什么我可以帮你的吗?

核心能力

切换思考/非思考模式

启用思考模式可提升回复质量,但会增加响应延迟和 Token 消耗。使用混合思考模式的模型时,可根据问题复杂度动态切换,无需更换模型:
  • 简单任务(日常聊天、简单问答):将enable_thinking设为false关闭思考;
  • 复杂任务(逻辑推理、代码生成、数学解答):将enable_thinking设为true开启思考。
  • OpenAI兼容
  • DashScope
enable_thinking非 OpenAI 标准参数,若使用 OpenAI Python SDK请通过 extra_body传入,Node.js SDK中作为顶层参数传入。
  • Python
  • Node.js
  • HTTP

示例代码

from openai import OpenAI
import os

# 初始化OpenAI客户端
client = OpenAI(
    # 如果没有配置环境变量,请用阿里云百炼API Key替换:api_key="sk-xxx"
    # 各地域的API Key不同。获取API Key:https://help.aliyun.com/zh/model-studio/get-api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # 以下为华北2(北京)地域的配置,调用时请将{WorkspaceId}替换为真实的业务空间ID,各地域的配置不同。
    base_url="https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",
)

messages = [{"role": "user", "content": "你是谁"}]
completion = client.chat.completions.create(
    model="qwen3.8-max",
    messages=messages,
    # 通过 extra_body 设置 enable_thinking 开启思考过程
    extra_body={"enable_thinking": True},
    stream=True,
    stream_options={
        "include_usage": True
    },
)

reasoning_content = ""  # 完整思考过程
answer_content = ""  # 完整回复
is_answering = False  # 是否进入回复阶段
print("\n" + "=" * 20 + "思考过程" + "=" * 20 + "\n")

for chunk in completion:
    if not chunk.choices:
        print("\n" + "=" * 20 + "Token 消耗" + "=" * 20 + "\n")
        print(chunk.usage)
        continue

    delta = chunk.choices[0].delta

    # 只收集思考内容
    if hasattr(delta, "reasoning_content") and delta.reasoning_content is not None:
        if not is_answering:
            print(delta.reasoning_content, end="", flush=True)
        reasoning_content += delta.reasoning_content

    # 收到content,开始进行回复
    if hasattr(delta, "content") and delta.content:
        if not is_answering:
            print("\n" + "=" * 20 + "完整回复" + "=" * 20 + "\n")
            is_answering = True
        print(delta.content, end="", flush=True)
        answer_content += delta.content

返回结果

====================思考过程====================

嗯,用户问“你是谁”,我需要先确定他们想知道什么。可能他们第一次接触我,或者想确认我的身份。我应该先介绍自己是千问,由通义实验室研发。然后要说明我的功能,比如回答问题、创作文字、编程等,这样用户了解我能提供什么帮助。还要提到我支持多种语言,这样国际用户也会知道他们可以用不同语言交流。最后保持友好,邀请他们提问,这样可以促进进一步互动。要注意简洁明了,避免技术术语太多,让用户容易理解。可能用户需要的是快速了解我的能力,所以重点放在功能和用途上。还要检查有没有遗漏的信息,比如是否要提到阿里巴巴集团,或者更多技术细节。不过用户可能只需要基本的信息,不需要太深入。确保回答友好且专业,同时鼓励用户继续提问。
====================完整回复====================

我是千问,由通义实验室研发的超大规模语言模型。我可以帮助你回答问题、创作文字、编程、表达观点等,支持多语言交流。有什么需要我帮忙的吗?
====================Token 消耗====================

CompletionUsage(completion_tokens=221, prompt_tokens=10, total_tokens=231, completion_tokens_details=CompletionTokensDetails(accepted_prediction_tokens=None, audio_tokens=None, reasoning_tokens=172, rejected_prediction_tokens=None), prompt_tokens_details=PromptTokensDetails(audio_tokens=None, cached_tokens=0))
此外,Qwen3 开源版混合思考模型以及 qwen-plus-2025-04-28 模型支持通过提示词动态控制思考模式。enable_thinkingtrue时,在提示词中加入/no_think可关闭思考;多轮对话中如需重新开启,在最新提示词中加入/think即可。模型始终遵循最新的/think/no_think指令。

限制思考长度

深度思考模型有时会生成冗长的推理过程,增加等待时间并消耗更多 Token。通过thinking_budget参数可设置推理过程的最大 Token 数,超过限制后模型立即输出回复。
thinking_budget 默认值为模型的最大思维链长度,请参见百炼控制台的模型卡片。
thinking_budget参数用于设置思考过程的最大 Token 数。适用于Qwen3.8、Qwen3.7、Qwen3.6、Qwen3.5、Qwen3-VL、Qwen3、GLM(阿里云直供)、Kimi(阿里云直供)系列模型,其中 kimi-k3 不支持该参数。

控制台体验深度思考

  1. 登录大模型服务平台百炼控制台。
  2. 在左侧导航栏选择体验 > 文本模型,进入模型体验中心。
  3. 页面默认展示 Qwen3.7-Max 模型,也可单击模型名称,在下拉列表中选择其他 Qwen3 系列模型。
  4. 在输入框底部单击深度思考,开启推理模式,查看模型的思考过程。
  5. 切换到模型调试标签页,在配置面板中设置thinking_budget参数,控制思维链输出的最大 Token 数量,取值范围 1~32768,默认值 4000。如需体验更多模型,可前往百炼模型广场。
  • OpenAI兼容
  • DashScope
  • Python
  • Node.js
  • HTTP

示例代码

from openai import OpenAI
import os

# 初始化OpenAI客户端
client = OpenAI(
    # 如果没有配置环境变量,请用阿里云百炼API Key替换:api_key="sk-xxx"
    # 各地域的API Key不同。获取API Key:https://help.aliyun.com/zh/model-studio/get-api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # 以下为华北2(北京)地域的配置,调用时请将{WorkspaceId}替换为真实的业务空间ID,各地域的配置不同。
    base_url="https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",
)

messages = [{"role": "user", "content": "你是谁"}]

completion = client.chat.completions.create(
    model="qwen3.8-max",
    messages=messages,
    # enable_thinking 参数开启思考过程,thinking_budget 参数设置最大推理过程 Token 数
    extra_body={
        "enable_thinking": True,
        "thinking_budget": 50
        },
    stream=True,
    stream_options={
        "include_usage": True
    },
)

reasoning_content = ""  # 完整思考过程
answer_content = ""  # 完整回复
is_answering = False  # 是否进入回复阶段
print("\n" + "=" * 20 + "思考过程" + "=" * 20 + "\n")

for chunk in completion:
    if not chunk.choices:
        print("\nUsage:")
        print(chunk.usage)
        continue

    delta = chunk.choices[0].delta

    # 只收集思考内容
    if hasattr(delta, "reasoning_content") and delta.reasoning_content is not None:
        if not is_answering:
            print(delta.reasoning_content, end="", flush=True)
        reasoning_content += delta.reasoning_content

    # 收到content,开始进行回复
    if hasattr(delta, "content") and delta.content:
        if not is_answering:
            print("\n" + "=" * 20 + "完整回复" + "=" * 20 + "\n")
            is_answering = True
        print(delta.content, end="", flush=True)
        answer_content += delta.content

返回结果

====================思考过程====================

好的,用户问“你是谁”,我需要给出一个清晰且友好的回答。首先,应该明确自己的身份,即千问,由阿里巴巴集团旗下的通义实验室研发。接下来,要说明自己的主要功能,比如回答
====================完整回复====================

我是千问,是阿里巴巴集团旗下的通义实验室研发的超大规模语言模型。我能够回答问题、创作文字、逻辑推理、编程等,旨在为用户提供帮助和便利。有什么我可以帮您的吗?

传递思考过程

多轮对话中,模型默认不会读取历史消息里的messages数组中的reasoning_content。将preserve_thinking设为true后,assistant 消息中的reasoning_content将被拼接到下一轮输入,让模型参考之前的推理过程。
preserve_thinking参数仅支持 qwen3.8-max、qwen3.7-max、qwen3.7-max-2026-05-20、qwen3.7-max-2026-06-08、qwen3.7-max-preview、qwen3.7-max-2026-05-17、qwen3.7-plus、qwen3.7-plus-2026-05-26、qwen3.6-max-preview、qwen3.6-plus、qwen3.6-plus-2026-04-02、qwen3.7-flash、qwen3.7-flash-2026-07-15、kimi-k2.7-code(阿里云百炼部署)、kimi-k2.6(阿里云百炼部署)、kimi/kimi-k3(月之暗面部署)、kimi/kimi-k2.7-code-highspeed(月之暗面部署)、kimi/kimi-k2.7-code(月之暗面部署)、kimi/kimi-k2.6(月之暗面部署)。
若历史消息中不包含 reasoning_content ,开启此参数不会报错。
开启后,历史对话中的 reasoning_content 会计入输入 Token 数量和计费。
  • OpenAI兼容
  • DashScope
preserve_thinking非 OpenAI 标准参数,使用 Python SDK需通过extra_body传入。
  • Python
  • Node.js
  • HTTP

示例代码

from openai import OpenAI
import os

client = OpenAI(
    # 如果没有配置环境变量,请用阿里云百炼API Key替换:api_key="sk-xxx"
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",
)

# 第一轮对话
messages = [
    {"role": "user", "content": "我需要为一个日均千万消息的电商系统选择消息队列,请推荐"}
]

first_reasoning = ""
first_content = ""
is_answering = False

completion = client.chat.completions.create(
    model="qwen3.8-max",
    messages=messages,
    extra_body={"enable_thinking": True},
    stream=True,
    stream_options={"include_usage": True},
)

print("=" * 20 + "第一轮思考过程" + "=" * 20)

for chunk in completion:
    if not chunk.choices:
        continue
    delta = chunk.choices[0].delta
    if hasattr(delta, "reasoning_content") and delta.reasoning_content is not None:
        first_reasoning += delta.reasoning_content
        if not is_answering:
            print(delta.reasoning_content, end="", flush=True)
    if hasattr(delta, "content") and delta.content:
        if not is_answering:
            print("\n" + "=" * 20 + "第一轮回复" + "=" * 20)
            is_answering = True
        print(delta.content, end="", flush=True)
        first_content += delta.content

# 第二轮对话:传递思考过程,追问模型为什么排除了Kafka
messages = [
    {"role": "user", "content": "我需要为一个日均千万消息的电商系统选择消息队列,请推荐"},
    {
        "role": "assistant",
        "content": first_content,
        "reasoning_content": first_reasoning,
    },
    {"role": "user", "content": "你在对比时为什么排除了Kafka?"},
]

reasoning_content = ""
answer_content = ""
is_answering = False

# preserve_thinking 通过 extra_body 传入
completion = client.chat.completions.create(
    model="qwen3.8-max",
    messages=messages,
    extra_body={
        "enable_thinking": True,
        "preserve_thinking": True,
    },
    stream=True,
    stream_options={"include_usage": True},
)

print("\n" + "=" * 20 + "第二轮思考过程" + "=" * 20)

for chunk in completion:
    if not chunk.choices:
        continue
    delta = chunk.choices[0].delta
    if hasattr(delta, "reasoning_content") and delta.reasoning_content is not None:
        if not is_answering:
            print(delta.reasoning_content, end="", flush=True)
        reasoning_content += delta.reasoning_content
    if hasattr(delta, "content") and delta.content:
        if not is_answering:
            print("\n" + "=" * 20 + "第二轮回复" + "=" * 20)
            is_answering = True
        print(delta.content, end="", flush=True)
        answer_content += delta.content

返回结果

====================第一轮思考过程====================
用户需要为日均千万消息的电商系统选择消息队列。让我从吞吐量、可靠性、延迟消息、事务支持等维度对比主流方案...

RocketMQ:阿里电商场景验证,原生支持事务消息和延迟消息,分区级严格有序...
Kafka:极高吞吐量,但无原生事务消息和延迟消息支持,需自研补偿机制...
RabbitMQ:延迟低,但集群扩展能力有限,峰值万级TPS...
====================第一轮回复====================
综合电商场景的核心需求(事务消息、延迟消息、顺序性、峰值应对),推荐 Apache RocketMQ。如果团队已有 Kafka 生态或需强实时分析能力,Kafka 也是可行方案。
====================第二轮思考过程====================
用户在追问为什么排除了Kafka。回顾我的历史思考过程,我并没有排除Kafka,而是给了它4星评分。让我参考之前的详细对比分析来解释...

在上一轮思考中,我对比了RocketMQ和Kafka在事务消息、延迟消息、顺序性方面的差异。Kafka的劣势主要在于需要额外架构设计来补齐电商特有语义...
====================第二轮回复====================
我并没有排除Kafka。Kafka在吞吐量和生态方面表现优秀,之所以RocketMQ评分略高,是因为电商核心链路的"开箱即用"特性匹配度:RocketMQ原生支持事务消息和延迟消息,而Kafka需要通过Outbox Pattern等架构模式自行实现。如果团队已有Kafka生态,它完全能胜任千万级消息场景。

其他功能

计费说明

  • 思考内容按输出 Token 计费。
  • 部分混合思考模型在思考与非思考模式下价格不同。模型输出了思考过程时,所有输出 Token(包括思考 Token 和回复 Token)均按思考模式的输出价格计费。
    若模型在思考模式下未输出思考过程,则按非思考模式价格计费。

常见问题

是否能关闭思考模式取决于所用模型:
  • 混合思考模式模型(如 qwen3.6-plus、deepseek-v4-pro):将 enable_thinking 设为 false 即可关闭;
  • 仅思考模式模型(如 qwen3-235b-a22b-thinking-2507、deepseek-r1):无法关闭。
enable_thinking 是百炼的扩展参数,不属于 OpenAI 标准字段。使用 OpenAI Java SDK 时,ChatCompletionCreateParams 不原生支持该字段,需通过 extraBody 方法传入:
// enable_thinking 非 OpenAI 标准参数,Java SDK 需通过 extra_body 传递
ChatCompletionCreateParams params = ChatCompletionCreateParams.builder()
    .model("qwen3.6-plus")
    .messages(List.of(
        ChatCompletionMessageParam.builder()
            .role(ChatCompletionMessageParamRole.USER)
            .content("你好")
            .build()
    ))
    .extraBody(Map.of("enable_thinking", false))
    .build();

client.chat().completions().create(params);
若思考模式与非思考模式下的调用耗时差异极小,说明思考模式可能未实际开启。按以下步骤排查:
  1. 检查 API 请求中是否正确传入 enable_thinking=true 参数。使用 OpenAI Java SDK 时,该参数需通过 extraBody 传入(参见上一问示例)。
  2. 查看响应中是否包含 reasoning_content 字段,并确认用量中 reasoning_tokens 大于 0。不包含该字段或 reasoning_tokens=0 表示思考模式未启用。
  3. 对比思考与非思考模式下的响应时间与 completion_tokens。启用思考模式后,响应中会出现 reasoning_content 字段,且总耗时显著增加(实测约为非思考模式的 3 倍);若两者耗时差异极小,说明思考模式未实际生效,请检查参数是否正确传入并重试。
qwen3.7-plus 属于混合思考模式模型,且默认开启思考模式。思考过程会生成大量推理 Token(实测占总输出 Token 的 60% 以上),因此单次调用的总耗时明显长于非思考模式。此时 Token 生成速度本身并无异常(实测约 52~54 Tokens/s),总耗时的差异主要来自思考过程产生的 Token 数量,而非模型或网络变慢。排查步骤:
  1. 确认是否开启了思考模式。qwen3.7-plus 默认开启,可根据响应中是否返回 reasoning_content 字段判断。
  2. 查看响应用量中的 completion_tokensreasoning_tokens。若 reasoning_tokens 占比较高,则总耗时长属于思考模式的预期表现。
  3. 若无需思考过程,在请求中将 enable_thinking 设为 false 关闭思考模式。关闭后输出 Token 大幅减少,实测总耗时可降低 60%~75%。
  4. 若需保留思考能力,可改用流式输出,以更快获得首个 Token 并实时查看思考过程,避免长时间等待完整响应。
用量统计中展示的是单次调用的整体耗时(含思考 Token 的生成时间),并非单个 Token 的生成延迟。
本文示例默认采用流式输出(推荐,可实时查看思考过程、避免长时间等待)。商业版深度思考模型(如 qwen-plus、qwen3-max、qwen-flash 等)也支持非流式(同步)输出,一次性返回完整的思考过程与回复。
将流式示例改为非流式时,请同步修改结果解析代码:非流式调用返回的是完整的响应对象(completion),不能再像流式示例那样通过 for chunk in completion 迭代(否则会报错 'tuple' object has no attribute 'choices'),而应直接读取 completion.choices[0].message.reasoning_content(思考过程)与 completion.choices[0].message.content(回复内容)。此外,stream=False 时不能设置 stream_options 参数。
以下以 OpenAI 兼容接口、非流式调用 qwen3.8-max 开启思考模式为例:
from openai import OpenAI
import os

client = OpenAI(
    # 如果没有配置环境变量,请用阿里云百炼API Key替换:api_key="sk-xxx"
    # 各地域的API Key不同。获取API Key:https://help.aliyun.com/zh/model-studio/get-api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # 以下为华北2(北京)地域的配置,调用时请将{WorkspaceId}替换为真实的业务空间ID,各地域的配置不同。
    base_url="https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",
)

completion = client.chat.completions.create(
    model="qwen3.8-max",  # 请替换为支持非流式输出的深度思考模型
    messages=[{"role": "user", "content": "你是谁"}],
    extra_body={"enable_thinking": True},
    stream=False,  # 非流式(同步)输出;stream=False 时不能设置 stream_options
)

# 非流式返回完整响应对象,直接读取 message,无需(也不能)迭代
message = completion.choices[0].message
print("=" * 20 + "思考过程" + "=" * 20 + "\n")
print(getattr(message, "reasoning_content", "") or "")
print("\n" + "=" * 20 + "完整回复" + "=" * 20 + "\n")
print(message.content)
部分模型(如 qwen3-235b-a22b、qwen3-32b 等开源版)仅支持流式输出,非流式调用会报错 parameter.enable_thinking only support stream call,此类模型请使用流式调用。
前往费用与成本中心充值,保持账户余额充足即可正常调用模型。
超出免费额度后自动扣费,出账周期为分钟级,消费明细请前往 **账单详情** 进行查看。
请根据所用工具参考以下步骤:
以下以常用工具为例,其他大模型工具的接入方法类似。
  • Chatbox
  • Cherry Studio
  • Cline
  • Dify
请参见Chatbox
本文涉及的模型仅支持文本输入。Qwen3-VL、QVQ 模型支持图片深度思考,Qwen- Long模型支持文档输入。
请按以下步骤操作:
  1. 更新依赖库 langchain_communitydashscope 更新到最新版本:
pip install -U langchain_community dashscope
  1. 调用深度思考模型 通过以下代码分别打印思考过程与回复内容:
from langchain_community.chat_models.tongyi import ChatTongyi
from langchain_core.messages import HumanMessage

chatLLM = ChatTongyi(
    # 您可按需更换为其它深度思考模型
    model="qwen3.8-max",
    model_kwargs={
        "enable_thinking":True
    }
)
completion = chatLLM.stream(
    [HumanMessage(content="你是谁")])
is_answering = False
print("="*20+"思考过程 "+"="*20)
for chunk in completion:
    if chunk.additional_kwargs.get("reasoning_content"):
        print(chunk.additional_kwargs.get("reasoning_content"),end="",flush=True)
    else:
        if not is_answering:
            print("\n"+"="*20+"回复内容"+"="*20)
            is_answering = True
        print(chunk.content,end="",flush=True)
输出示例:
====================思考过程 ====================
好的,用户问“你是谁”,我需要给出一个准确且友好的回答。首先,我应该介绍自己的名字和基本功能,让用户了解我的用途。然后,可能需要提到我是通义实验室研发的,这样增加权威性。还要说明我能做什么,比如回答问题、创作文字等,这样用户知道可以怎么使用我。同时,保持语气亲切,避免太技术化的术语,让回答更易懂。另外,可能需要检查是否有遗漏的信息,比如多语言支持或者应用场景,但用户的问题比较基础,可能不需要太详细。最后,确保回答简洁明了,不冗长,符合用户的快速获取信息的需求。
====================回复内容====================
我是Qwen3,是阿里巴巴集团旗下的通义实验室自主研发的超大规模语言模型。我可以帮助你回答问题、创作文字(如写故事、公文、邮件、剧本等)、进行逻辑推理、编程,甚至表达观点和玩游戏。我支持多种语言,包括但不限于中文、英文、德语、法语、西班牙语等,旨在为全球用户提供高效、便捷的服务。如果你有任何问题或需要帮助,欢迎随时告诉我!
模型调用完一小时后,在模型监控(北京新加坡)页面设置查询条件(例如,选择时间范围、业务空间等),再在模型列表区域找到目标模型并单击操作列的监控,即可查看该模型的调用统计结果。具体请参见模型监控文档。
数据按小时更新,高峰期可能有小时级延迟,请您耐心等待。
image
使用长提示词调用模型时出现生成失败或响应超时,通常是因为开启了思考模式(enable_thinkingtrue)。思考模式会增加处理时间,长提示词场景下可能导致响应被截断或请求超时。解决方案:
  • 关闭思考模式:将 enable_thinking 设为 false,处理时间可从约 50 秒降至约 30 秒。
  • 开启流式输出:将 stream 设为 true,避免非流式调用的超时限制。
  • 调大超时时间:如需保留思考模式,请将客户端超时时间设为 180 秒以上。
该问题属于客户端侧问题,并非模型限制思考过程输出。百炼平台通过 enable_thinking 参数控制思考模式开关,模型返回结果中的 reasoning_content 字段包含完整思考过程内容,模型侧会正常返回思考内容。断连通常由客户端网络波动或客户端版本兼容问题引起。排查步骤:
  • 检查客户端网络连接的稳定性。
  • 将客户端升级至最新版本。
  • 查看客户端日志,确认断连时间点与思考标签输出的关联。
您也可以通过 DashScope API 直接调用模型,验证思考功能是否正常工作。
视觉模型输出的安全判断是模型生成文本的一部分,并非独立的内容审核裁决。该结论可能随模型版本和所在区域不同而变化,也可能与同一次响应中的内容描述不一致,因此不建议将其作为内容合规的唯一依据。如果您需要稳定、统一的安全判断标准,请接入 AI 安全护栏,对模型的输入与输出进行独立的内容审核。具体请参见AI 安全护栏

API 参考

深度思考模型的输入输出参数,请参见文本生成

错误码

执行报错时,请参见错误码排查解决。
Token Plan
模型体验
模型调优
模型压缩目录节点
用量统计与性能监控
资产中心
服务支持