> ## Documentation Index
> Fetch the complete documentation index at: https://docs.arouter.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 推理 Token

> 理解并使用 DeepSeek R1、Claude 扩展思考和 o4-mini 等模型中的推理（思考）Token。

某些模型在生成最终响应之前会进行内部链式思考推理。这些推理步骤消耗的 Token 称为**推理 Token**——它们会影响成本和延迟，但默认情况下用户不可见。

## 支持的模型

| 模型                            | 推理支持   |
| ----------------------------- | ------ |
| `openai/o4-mini`              | 始终开启推理 |
| `openai/o3`                   | 始终开启推理 |
| `anthropic/claude-sonnet-4-6` | 可选扩展思考 |
| `anthropic/claude-opus-4-6`   | 可选扩展思考 |
| `deepseek/deepseek-r1`        | 始终开启推理 |
| `google/gemini-2.5-pro`       | 可选思考模式 |
| `google/gemini-2.5-flash`     | 可选思考模式 |

## 推理 Token 在使用量中的体现

推理 Token 作为 `completion_tokens_details` 的一部分，在 `usage` 对象中报告：

```json theme={null}
{
  "usage": {
    "prompt_tokens": 150,
    "completion_tokens": 520,
    "total_tokens": 670,
    "completion_tokens_details": {
      "reasoning_tokens": 400
    }
  }
}
```

在此示例中，520 个补全 Token 中有 400 个用于内部推理。只有剩余的 120 个 Token 出现在可见响应中。

## 推理 Token 的计费

推理 Token 按该模型的**补全 Token 费率**计费。它们被纳入 `completion_tokens` 进行计费——详细分类仅供参考。

ARouter 不对上游服务商的推理 Token 计数进行任何修改，直接透传。

## 控制推理行为

### OpenAI o 系列（o4-mini、o3）

o 系列模型的推理始终开启。使用 `reasoning_effort` 控制模型推理的程度：

```json theme={null}
{
  "model": "openai/o4-mini",
  "reasoning_effort": "high",
  "messages": [...]
}
```

有效值：`"low"`、`"medium"`、`"high"`。力度越高 = 推理 Token 越多 = 质量和成本越高。

### Anthropic 扩展思考

通过在请求中传递 `thinking` 来启用扩展思考：

```python theme={null}
import anthropic

client = anthropic.Anthropic(
    api_key="your-arouter-key",
    base_url="https://api.arouter.ai/anthropic",
)

response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=16000,
    thinking={
        "type": "enabled",
        "budget_tokens": 10000,
    },
    messages=[{"role": "user", "content": "请一步步解决：..."}],
)
```

`budget_tokens` 限制了可用于思考的最大 Token 数。思考内容作为响应中的独立块返回。

### DeepSeek R1

DeepSeek R1 的推理始终开启。该模型在常规 `content` 旁边返回一个 `reasoning_content` 字段：

```python theme={null}
from openai import OpenAI

client = OpenAI(
    api_key="your-arouter-key",
    base_url="https://api.arouter.ai/v1",
)

response = client.chat.completions.create(
    model="deepseek/deepseek-r1",
    messages=[{"role": "user", "content": "证明 √2 是无理数。"}],
)

# 推理内容（如果服务商暴露）
print(response.choices[0].message.reasoning_content)
# 最终答案
print(response.choices[0].message.content)
```

### Google Gemini 思考

通过 `thinking` 参数为 Gemini 2.5 模型启用思考：

```python theme={null}
response = client.chat.completions.create(
    model="google/gemini-2.5-flash",
    messages=[...],
    extra_body={
        "thinking": {
            "type": "enabled",
            "budget_tokens": 5000
        }
    }
)
```

## 活动导出与推理 Token

[活动导出](/zh/guides/administration/activity-export)包含推理 Token 的详细数据，便于准确追踪其对总成本的贡献。在导出摘要中，推理 Token 包含在补全 Token 中。

## 最佳实践

* **从 `"low"` 或 `"medium"` 力度开始** 使用 o 系列模型，除非您需要最高推理质量。这可以显著降低成本和延迟。
* **为 Anthropic 和 Gemini 思考模型设置 `budget_tokens` 上限**，以避免在复杂查询上产生意外的大额账单。
* **在活动记录中监控推理 Token 占比**。推理 Token 与输出 Token 的高比例对复杂任务是正常的，但可能表明模型在简单查询上过度思考。
* **不要为了节省成本而禁用推理**，对于真正需要多步推理的任务——输出质量会显著下降。
