Gemini 思考

Gemini 2.5 系列模型会在生成回答的过程中使用内部“思考过程”。此过程有助于提高其推理能力,并帮助他们使用多步骤规划解决复杂的任务。这使得这些模型特别擅长编码、高级数学、数据分析和其他需要规划或思考的任务。

本指南介绍了如何使用 Gemini API 处理 Gemini 的思考功能。

使用思维模型

具有思考能力的模型可在 Google AI Studio 中使用,也可通过 Gemini API 使用。在 API 和 AI Studio 中,“思考”功能默认处于开启状态,因为 2.5 系列模型能够根据提示自动决定何时思考和思考多少。对于大多数用例,让系统保持思考状态是有益的。不过,如果您想关闭思考功能,可以将 thinkingBudget 参数设置为 0。

发送基本请求

from google import genai

client = genai.Client(api_key="GOOGLE_API_KEY")
prompt = "Explain the concept of Occam's Razor and provide a simple, everyday example."
response = client.models.generate_content(
    model="gemini-2.5-flash-preview-04-17",
    contents=prompt
)

print(response.text)
import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({ apiKey: "GOOGLE_API_KEY" });

async function main() {
  const prompt = "Explain the concept of Occam's Razor and provide a simple, everyday example.";

  const response = await ai.models.generateContent({
    model: "gemini-2.5-flash-preview-04-17",
    contents: prompt,
  });

  console.log(response.text);
}

main();
// import packages here

func main() {
  ctx := context.Background()
  client, err := genai.NewClient(ctx, option.WithAPIKey(os.Getenv("GOOGLE_API_KEY")))
  if err != nil {
    log.Fatal(err)
  }
  defer client.Close()

  model := client.GenerativeModel("gemini-2.5-flash-preview-04-17")
  resp, err := model.GenerateContent(ctx, genai.Text("Explain the concept of Occam's Razor and provide a simple, everyday example."))
  if err != nil {
    log.Fatal(err)
  }
  fmt.Println(resp.Text())
}
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-preview-04-17:generateContent?key=$GOOGLE_API_KEY" \
 -H 'Content-Type: application/json' \
 -X POST \
 -d '{
   "contents": [
     {
       "parts": [
         {
           "text": "Explain the concept of Occam\''s Razor and provide a simple, everyday example."
         }
       ]
     }
   ]
 }'
 ```

根据思维模式设定预算

thinkingBudget 参数为模型提供了有关在生成响应时可以使用的思维词元数量的指导。更多数量的令牌通常与更详细的思考相关,而解决更复杂的任务需要更详细的思考。thinkingBudget 必须是介于 0 到 24576 之间的整数。将思维预算设为 0 会禁止思维。

根据提示,模型可能会溢出或下溢令牌预算。

from google import genai
from google.genai import types

client = genai.Client()

response = client.models.generate_content(
    model="gemini-2.5-flash-preview-04-17",
    contents="Explain the Occam's Razor concept and provide everyday examples of it",
    config=types.GenerateContentConfig(
        thinking_config=types.ThinkingConfig(thinking_budget=1024)
    ),
)

print(response.text)
import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({ apiKey: "GOOGLE_API_KEY" });

async function main() {
  const response = await ai.models.generateContent({
    model: "gemini-2.5-flash-preview-04-17",
    contents: "Explain the Occam's Razor concept and provide everyday examples of it",
    config: {
      thinkingConfig: {
        thinkingBudget: 1024,
      },
    },
  });

  console.log(response.text);
}

main();
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-preview-04-17:generateContent?key=$GOOGLE_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
  "contents": [
    {
      "parts": [
        {
          "text": "Explain the Occam\''s Razor concept and provide everyday examples of it"
        }
      ]
    }
  ],
  "generationConfig": {
    "thinkingConfig": {
          "thinkingBudget": 1024
    }
  }
}'

将工具与思维模型搭配使用

您可以结合使用思维模型与 Gemini 的任何工具和功能,以执行生成文本以外的操作。这使它们能够与外部系统交互、执行代码或访问实时信息,并将结果整合到其推理和最终响应中。

  • 搜索工具允许模型查询外部搜索引擎,以查找最新信息或除其训练数据之外的信息。这对于与近期事件或高度具体的主题相关的问题非常有用。

  • 代码执行工具使模型能够生成并运行 Python 代码,以执行计算、操作数据或解决最适合通过算法处理的问题。模型会接收代码的输出,并可以在其回答中使用该输出。

  • 借助结构化输出,您可以限制 Gemini 以 JSON 格式(一种适合自动处理的结构化输出格式)进行响应。这对于将模型的输出集成到应用中特别有用。

  • 函数调用可将思维模型与外部工具和 API 关联起来,以便推断何时调用正确的函数以及应提供哪些参数。

最佳做法

本部分包含有关高效使用思维模式的一些指导。与往常一样,遵循我们的提示指南和最佳做法有助于您获得最佳效果。

调试和指导

  • 查看推理:如果思维模型没有得到您预期的回答,不妨仔细分析 Gemini 的推理过程。 您可以看到它如何分解任务并得出结论,并使用该信息进行更正,从而得出正确的结果。

  • 提供推理方面的指导:如果您希望获得特别长的输出,则可能需要在提示中提供指导,以限制模型使用的思考量。这样,您就可以为响应预留更多令牌输出。

任务复杂性

  • 简单任务(可以关闭思考):对于简单的请求,不需要进行复杂的推理,例如简单的事实检索或分类,不需要思考。例如:
    • “DeepMind 成立的地方是哪里?”
    • “这封电子邮件是想安排会议,还是只是提供信息?”
  • 中等任务(默认/需要思考):许多常见请求都需要进行一定程度的分步处理或更深入的理解。Gemini 可以灵活地使用思考功能来执行以下任务:
    • 将光合作用与成长进行类比。
    • 比较和对比电动汽车和混合动力汽车。
  • 难题(最大限度发挥思考能力):对于真正复杂的挑战,AI 需要调用其全部推理和规划能力,通常需要完成许多内部步骤才能提供答案。例如:
    • 解决 AIME 2025 中的问题 1:计算所有整数基数 b > 9 的总和,其中 17b 是 97b 的除数。
    • 为可直观呈现实时股市数据(包括用户身份验证)的 Web 应用编写 Python 代码。尽可能提高效率。

后续操作