UniterRouter
API 参考Google 兼容

扩展思考

Gemini Thinking API - Gemini 2.0 Flash Thinking 高级推理。思维链推理解决复杂数学、编程和分析问题。

扩展思考

Gemini 模型支持扩展思考功能,允许模型在生成响应前进行更深入的推理。这对于复杂问题解决、数学、编程和分析任务特别有用。

模型要求: 扩展思考功能在 Gemini 2.0 Flash Thinking 和 Gemini 3+ 模型上可用。

工作原理

通过在 generationConfig 中添加 thinkingConfig 来启用思考。模型将:

  1. 使用扩展推理在内部处理您的请求
  2. 可选择性地返回思考过程
  3. 提供更准确的最终答案

ThinkingConfig 参数

参数类型描述
includeThoughtsboolean是否在响应中包含思考过程
thinkingBudgetinteger思考过程的 token 预算
thinkingLevelstring思考深度: MINIMAL, LOW, MEDIUM, HIGH

示例

curl -X POST "https://api.uniterouter.ai/v1beta/models/gemini-2.0-flash-thinking-exp:generateContent" \
  -H "Content-Type: application/json" \
  -H "x-goog-api-key: $UNITEROUTER_API_KEY" \
  -d '{
    "contents": [
      {
        "role": "user",
        "parts": [{"text": "解答:一列火车以60公里/小时的速度行驶2.5小时,然后以80公里/小时的速度行驶1.5小时,整个旅程的平均速度是多少?"}]
      }
    ],
    "generationConfig": {
      "thinkingConfig": {
        "includeThoughts": true,
        "thinkingBudget": 2048,
        "thinkingLevel": "HIGH"
      }
    }
  }'
import google.generativeai as genai

genai.configure(
    api_key="your_uniterouter_api_key",
    transport="rest",
    client_options={"api_endpoint": "api.uniterouter.ai"}
)

model = genai.GenerativeModel("gemini-2.0-flash-thinking-exp")

response = model.generate_content(
    "解答:一列火车以60公里/小时的速度行驶2.5小时,然后以80公里/小时的速度行驶1.5小时,整个旅程的平均速度是多少?",
    generation_config={
        "thinkingConfig": {
            "includeThoughts": True,
            "thinkingBudget": 2048,
            "thinkingLevel": "HIGH"
        }
    }
)

# 访问思考过程和响应
for part in response.candidates[0].content.parts:
    if hasattr(part, 'thought') and part.thought:
        print("思考过程:", part.text)
    else:
        print("答案:", part.text)
import { GoogleGenerativeAI } from "@google/generative-ai";

const genAI = new GoogleGenerativeAI("your_uniterouter_api_key", {
  baseUrl: "https://api.uniterouter.ai"
});

const model = genAI.getGenerativeModel({
  model: "gemini-2.0-flash-thinking-exp",
  generationConfig: {
    thinkingConfig: {
      includeThoughts: true,
      thinkingBudget: 2048,
      thinkingLevel: "HIGH"
    }
  }
});

const result = await model.generateContent(
  "解答:一列火车以60公里/小时的速度行驶2.5小时,然后以80公里/小时的速度行驶1.5小时,整个旅程的平均速度是多少?"
);

console.log(result.response.text());

思考级别

级别描述适用场景
MINIMAL快速、表层推理简单问题
LOW基础推理标准任务
MEDIUM中等深度复杂问题
HIGH深度、彻底推理数学、编程、分析

响应格式

当 includeThoughts 为 true 时,响应包含思考部分:

{
  "candidates": [
    {
      "content": {
        "parts": [
          {
            "thought": true,
            "text": "让我一步步分解这个问题..."
          },
          {
            "text": "整个旅程的平均速度是 67.5 公里/小时。"
          }
        ],
        "role": "model"
      }
    }
  ]
}

支持的模型

模型思考支持
gemini-2.0-flash-thinking-exp✅ 完全支持
gemini-2.5-pro✅ 完全支持
gemini-2.5-flash✅ 完全支持
gemini-3-pro✅ 支持 thinkingLevel

最佳实践

  1. 使用适当的思考级别 - 更高级别使用更多 token 但提供更好的推理
  2. 设置思考预算 - 使用 thinkingBudget 控制 token 使用
  3. 审查思考过程 - 开发时启用 includeThoughts 以了解模型推理
  4. 匹配任务复杂度 - 简单任务不需要 HIGH 思考级别

Token 使用

思考 token 在使用元数据中单独计算:

{
  "usageMetadata": {
    "promptTokenCount": 50,
    "candidatesTokenCount": 200,
    "thinkingTokenCount": 500,
    "totalTokenCount": 750
  }
}

相关文档

How is this guide?