GenStudio 于 2025 年 5 月 推出 GenStudio 高级版/企业版升级服务,大幅提升 API 调用频率GenStudio 于 2025 年 5 月 推出 GenStudio 高级版/企业版升级服务,大幅提升 API 调用频率 ,依然保留免费基础服务了解计费
Skip to content

Reasoning

通过在生成最终回答之前先生成推理词元(reasoning tokens),推理功能让模型能够透明地展示其思考过程。

要控制推理行为,请在 API 请求中使用 enable_thinking 参数。该参数用于控制模型是否生成 Reasoning tokens。

注意

  • 推理模型均支持 Reasoning 能力。
  • 仅部分推理模型支持通过 enable_thinking 参数开关推理能力。

支持的模型

推理模型均支持推理(Reasoning)能力,但默认行为存在差异。

  • 支持通过 enable_thinking 参数开启推理能力的模型:
    • deepseek-v3.1: 默认关闭
    • qwen3-8b:默认关闭
    • qwen3-32b:默认关闭
    • qwen3-30b-a3b:默认关闭
    • qwen3-235b-a22b:默认关闭
    • glm-4.5:默认开启
    • glm-4.5-air:默认开启
    • glm-4.5v:默认开启
  • 其他推理模型(如 qwen3-14bstep3 等)默认开启推理能力。暂不支持 enable_thinking 参数,暂无法关闭推理能力。

使用推理功能

针对默认关闭推理能力的模型,要使用推理功能,您需要在 API 请求中设置 enable_thinking 参数为 true

以下 curl 命令示例默认从环境变量加载 API 密钥和 Base URL。请注意提前设置环境变量。

  • API_KEY:GenStudio API key。请将 CURL 命令中的 $API_KEY 修改为您获取的 API 密钥。
  • DEFAULT_BASE_URL:GenStudio API URL,请使用 https://cloud.infini-ai.com/maas/v1

使用 curl

shell
curl --request POST \
  --url h"${DEFAULT_BASE_URL}/v1/chat/completions" \
  --header "Accept: application/json, text/event-stream, */*" \
  --header "Authorization: Bearer $API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
  "model": "deepseek-v3.1",
  "messages": [
    {
      "role": "user",
      "content": "9.11 和 9.8 谁大?"
    }
  ],
  "enable_thinking": true,
  "stream": false
}'

使用 Python Requests

python
import os
import requests

DEFAULT_BASE_URL = os.environ["DEFAULT_BASE_URL"]
API_KEY = os.environ["API_KEY"]

url = f"{DEFAULT_BASE_URL}/chat/completions"

payload = {
    "model": "deepseek-v3.1",
    "messages": [
        {
            "role": "user",
            "content": "9.11 和 9.8 谁大?"
        }
    ],
    "enable_thinking": True,
    "stream": False
}
headers = {
    "Content-Type": "application/json",
    "Accept": "application/json, text/event-stream, */*",
    "Authorization": f"Bearer {API_KEY}"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())

获取推理内容

当启用推理后,模型的内部思考过程将包含在响应格式中。根据是否使用流式响应,结构会有所不同。

非流式响应

在非流式响应中,推理内容包含在消息的 reasoning_content 字段中:

json
{
  "id": "843e72a5fae44877bde6e1ecddc85e52",
  "object": "chat.completion",
  "choices": [
    {
      "message": {
        "role": "assistant",
        "content": "Hello, World!",
        "reasoning_content": "用户在请求一个对世界的简单问候。"
      }
    }
  ]
}

流式响应

在支持推理的模型中使用流式传输时,推理内容会通过增量数据(delta)的 reasoning_content 字段传递。请注意在解析流式响应时做好相应的处理,以正确获取和显示推理内容。

python
# 仅演示流式响应解析逻辑
for chunk in stream:
    if not (chunk.choices and chunk.choices[0].delta):
        continue
    
    delta = chunk.choices[0].delta
    
    # Handle reasoning content
    if getattr(delta, 'reasoning_content', None):
        print(delta.reasoning_content, end="")
    
    # Handle regular content
    if getattr(delta, 'content', None):
        print(delta.content, end="")