Gemini 2.5 系列模型在生成回答期间会使用内部“思考过程”。此过程有助于提高孩子的推理能力,并帮助他们使用多步骤规划来解决复杂的任务。因此,这些模型特别擅长编码、高级数学、数据分析以及其他需要规划或思考的任务。
本指南介绍了如何使用 Gemini API 处理 Gemini 的思考功能。
使用思维模型
具有思考能力的模型可在 Google AI Studio 中使用,也可通过 Gemini API 使用。在 API 和 AI Studio 中,思考功能默认处于开启状态,因为 2.5 系列模型能够根据问题自动决定何时思考以及思考多少。对于大多数用例,让系统保持思考状态是有益的。不过,如果您想关闭思考功能,可以将 thinkingBudget
参数设置为 0。
发送基本请求
Python
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)
JavaScript
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();
Go
// 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())
}
REST
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 会停用思考。
根据问题,模型可能会超出或低于令牌预算。
Python
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)
JavaScript
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();
REST
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:求所有大于 9 且 17b 是 97b 的因子的整数底数 b 的总和。
- 为可直观呈现实时股市数据(包括用户身份验证)的 Web 应用编写 Python 代码。尽可能提高效率。
后续操作
- 在 Google AI Studio 中试用 Gemini 2.5 Pro 预览版。
- 如需详细了解 Gemini 2.5 Pro 预览版和 Gemini Flash 2.0 Thinking,请参阅模型页面。
- 如需尝试更多示例,请参阅思考实战宝典。