Configure Thinking (Reasoning) capabilities
mainGemini 3 series models support explicit reasoning.
- Gemini 3: Thinking is on by default for
gemini-3-pro-previewandgemini-3-flash-preview. You can control the level viaThinkingConfig.ThinkingLevel. - Gemini 2.5: Thinking is on by default. To turn it off, set
ThinkingBudgetto zero usinggenai.Ptr[int32](0).
// Gemini 3 Example
config := &genai.GenerateContentConfig{
ThinkingConfig: &genai.ThinkingConfig{
ThinkingLevel: genai.ThinkingLevelHigh,
},
}
result, err := client.Models.GenerateContent(ctx, "gemini-3-pro-preview", genai.Text("What is AI?"), config)
for _, part := range result.Candidates[0].Content.Parts {
if part.Thought {
fmt.Printf("Thought: %s\n", part.Text)
} else {
fmt.Printf("Response: %s\n", part.Text)
}
}
// Gemini 2.5 Example (Turn off thinking)
config := &genai.GenerateContentConfig{
ThinkingConfig: &genai.ThinkingConfig{
ThinkingBudget: genai.Ptr[int32](0),
},
}