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

# 推理模型

## 1. 概述

推理模型是基于深度学习的 AI 系统，通过逻辑推演、知识关联和上下文分析解决复杂任务，典型应用包括数学解题、代码生成、逻辑判断和多步推理场景。这类模型通常具备以下特性：

* 结构化思维：采用思维链（Chain-of-Thought）等技术分解复杂问题
* 知识融合：整合领域知识库与常识推理能力
* 自修正机制：通过验证反馈回路提升结果可靠性
* 多模态处理：部分先进模型支持文本/代码/公式混合输入

## 2. 平台支持推理模型

* tencent：
  * tencent/Hunyuan-A13B-Instruct
* MiniMaxAI：
  * MiniMaxAI/MiniMax-M2.1
* Qwen 系列：
  * Qwen/Qwen3-32B
  * Qwen/Qwen3-14B
  * Qwen/Qwen3-8B
  * Qwen/Qwen3-235B-A22B
  * Qwen/QwQ-32B
* THUDM 系列：
  * THUDM/GLM-Z1-32B-0414
  * THUDM/GLM-Z1-9B-0414
  * deepseek-ai/DeepSeek-R1
  * deepseek-ai/DeepSeek-R1-Distill-Qwen-32B
  * deepseek-ai/DeepSeek-R1-Distill-Qwen-14B

## 3. 使用建议

### 3.1 API 参数

#### 3.1.1 请求参数

* **请求参数**：

  * **最大思维链长度（thinking\_budget）**：模型用于内部推理的 token 数，合理设置 thinking\_budget ，可以控制回答的思维链长度。

  * **最大回复长度（max\_tokens**）：用于限制模型最终输出给用户的回复 token 数，控制回复的最大长度。

**最大上下文长度（context\_length）**：包括用户输入长度 + 思维链长度 + 输出长度的最大内容长度，非请求参数，不需要用户自己设置。

不同模型支持的最大回复长度、最大思维链长度及最大上下文长度如下表所示：

| 模型                     | 最大回复长度 | 最大思维链长度 | 最大上下文长度 |
| ---------------------- | ------ | ------- | ------- |
| DeepSeek-R1            | 16384  | 65536   | 163840  |
| DeepSeek-R1-Distill 系列 | 16384  | 32768   | 131072  |
| Qwen3 系列               | 8192   | 32768   | 131072  |
| QwQ-32B                | 32768  | 16384   | 131072  |
| GLM-Z1 系列              | 16384  | 32768   | 131072  |
| MiniMax-M1-80k         | 40000  | 40000   | 80000   |
| Hunyuan-A13B-Instruct  | 8192   | 38912   | 131072  |
| GLM-4.1V-9B-Thinking   | 16384  | 32768   | 65536   |

推理模型思维链与回复长度分离后，输出行为将遵循以下规则：

* 若“思考阶段”生成的 `token` 数达到 `thinking_budget`，因 `Qwen3` 系列推理模型原生支持该参数模型将强制停止思维链推理，其他推理模型有可能会继续输出思考内容。
* 若最大回复长度超过 `max_tokens`或上下文长度超过`context_length` 限制，回复内容将进行截断，响应中的 `finish_reason` 字段将标记为 `length`，表示因长度限制终止输出。

#### 3.1.2 返回参数

* **返回参数**:
  * reasoning\_content：思维链内容，与 content 同级。
  * content：最终回答内容

### 3.2 DeepSeek-R1 使用建议

* 将 temperature 设置在 0.5-0.7 范围内（推荐值为 0.6），以防止无限循环或不连贯的输出。
* 将 top\_p 的值设置在 0.95。
* 避免添加系统提示，所有指令应包含在用户提示中。
* 对于数学问题，建议在提示中包含一个指令，例如：“请逐步推理，并将最终答案写在 \boxed{} 中。”
* 在评估模型性能时，建议进行多次测试并平均结果。

## 4. OpenAI 请求示例

### 4.1 流式输出请求

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

url = 'https://api.siliconflow.com/v1/'
api_key = 'your api_key'

client = OpenAI(
    base_url=url,
    api_key=api_key
)

# 发送带有流式输出的请求
content = ""
reasoning_content=""
messages = [
    {"role": "user", "content": "奥运会的传奇名将有哪些？"}
]
response = client.chat.completions.create(
    model="deepseek-ai/DeepSeek-R1",
    messages=messages,
    stream=True,  # 启用流式输出
    max_tokens=4096,
    extra_body={
        "thinking_budget": 1024
    }
)
# 逐步接收并处理响应
for chunk in response:
    if chunk.choices[0].delta.content:
        content += chunk.choices[0].delta.content
    if chunk.choices[0].delta.reasoning_content:
        reasoning_content += chunk.choices[0].delta.reasoning_content

# Round 2
messages.append({"role": "assistant", "content": content})
messages.append({'role': 'user', 'content': "继续"})
response = client.chat.completions.create(
    model="deepseek-ai/DeepSeek-R1",
    messages=messages,
    stream=True
)
```

### 4.2 非流式输出请求

```python theme={null}
from openai import OpenAI
url = 'https://api.siliconflow.com/v1/'
api_key = 'your api_key'

client = OpenAI(
    base_url=url,
    api_key=api_key
)

# 发送非流式输出的请求
messages = [
    {"role": "user", "content": "奥运会的传奇名将有哪些？"}
]
response = client.chat.completions.create(
    model="deepseek-ai/DeepSeek-R1",
    messages=messages,
    stream=False, 
    max_tokens=4096,
    extra_body={
        "thinking_budget": 1024
    }
)
content = response.choices[0].message.content
reasoning_content = response.choices[0].message.reasoning_content

# Round 2
messages.append({"role": "assistant", "content": content})
messages.append({'role': 'user', 'content': "继续"})
response = client.chat.completions.create(
    model="deepseek-ai/DeepSeek-R1",
    messages=messages,
    stream=False
)
```

## 5. 注意事项

* API 密钥：请确保使用正确的 API 密钥进行身份验证。
* 流式输出：流式输出适用于需要逐步接收响应的场景，而非流式输出则适用于一次性获取完整响应的场景。

## 6. 常见问题

* 如何获取 API 密钥？

  请访问 [SiliconFlow](https://cloud.siliconflow.com/) 注册并获取 API 密钥。
* 如何处理超长文本？

  可以通过调整 max\_tokens 参数来控制输出的长度，但请注意最大长度为 16K。
