Pensée Gemini

Les modèles de la série Gemini 2.5 utilisent un "processus de réflexion" interne lors de la génération des réponses. Ce processus contribue à améliorer leurs capacités de raisonnement et les aide à utiliser une planification en plusieurs étapes pour résoudre des tâches complexes. Cela rend ces modèles particulièrement efficaces pour le codage, les mathématiques avancées, l'analyse de données et d'autres tâches qui nécessitent de la planification ou de la réflexion.

Ce guide vous explique comment utiliser les capacités de réflexion de Gemini à l'aide de l'API Gemini.

Utiliser des modèles de réflexion

Les modèles dotés de capacités de réflexion sont disponibles dans Google AI Studio et via l'API Gemini. La réflexion est activée par défaut dans l'API et AI Studio, car les modèles de la série 2.5 peuvent décider automatiquement quand et combien réfléchir en fonction de l'invite. Dans la plupart des cas, il est préférable de laisser la réflexion en cours. Toutefois, si vous souhaitez désactiver la réflexion, vous pouvez le faire en définissant le paramètre thinkingBudget sur 0.

Envoyer une requête de base

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."
         }
       ]
     }
   ]
 }'
 ```

Définir un budget pour les modèles de réflexion

Le paramètre thinkingBudget fournit des conseils au modèle sur le nombre de jetons de réflexion qu'il peut utiliser lors de la génération d'une réponse. Un plus grand nombre de jetons est généralement associé à une réflexion plus détaillée, qui est nécessaire pour résoudre des tâches plus complexes. thinkingBudget doit être un entier compris entre 0 et 24 576. Définir le budget de réflexion sur "0" désactive la réflexion.

En fonction de l'invite, le modèle peut dépasser ou sous-dépasser le budget de jetons.

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
    }
  }
}'

Utiliser des outils avec des modèles de pensée

Vous pouvez combiner l'utilisation des modèles de pensée avec n'importe quel outil et fonctionnalité de Gemini pour effectuer des actions au-delà de la génération de texte. Cela leur permet d'interagir avec des systèmes externes, d'exécuter du code ou d'accéder à des informations en temps réel, en intégrant les résultats à leur raisonnement et à leur réponse finale.

  • L'outil de recherche permet au modèle d'interroger des moteurs de recherche externes pour trouver des informations à jour ou des informations au-delà de ses données d'entraînement. Cela est utile pour les questions concernant des événements récents ou des sujets très spécifiques.

  • L'outil d'exécution du code permet au modèle de générer et d'exécuter du code Python pour effectuer des calculs, manipuler des données ou résoudre des problèmes qui sont mieux gérés par algorithme. Le modèle reçoit la sortie du code et peut l'utiliser dans sa réponse.

  • Avec la sortie structurée, vous pouvez contraindre Gemini à répondre avec JSON, un format de sortie structuré adapté au traitement automatisé. Cela est particulièrement utile pour intégrer la sortie du modèle dans les applications.

  • L'appel de fonction connecte le modèle de pensée à des outils et des API externes afin qu'il puisse déterminer quand appeler la bonne fonction et quels paramètres fournir.

Bonnes pratiques

Cette section contient des conseils pour utiliser efficacement les modèles de pensée. Comme toujours, suivez nos conseils et bonnes pratiques concernant les requêtes pour obtenir les meilleurs résultats.

Débogage et orientation

  • Examiner le raisonnement: lorsque vous n'obtenez pas la réponse attendue des modèles de réflexion, il peut être utile d'analyser attentivement le processus de raisonnement de Gemini. Vous pouvez voir comment il a décomposé la tâche et abouti à sa conclusion, et utiliser ces informations pour corriger les résultats.

  • Fournir des conseils pour le raisonnement: si vous souhaitez obtenir un résultat particulièrement long, vous pouvez fournir des conseils dans votre requête pour limiter la quantité de réflexion utilisée par le modèle. Vous pouvez ainsi réserver une plus grande partie de la sortie du jeton pour votre réponse.

Complexité des tâches

  • Tâches faciles (la réflexion peut être désactivée) : pour les requêtes simples, le raisonnement complexe n'est pas nécessaire, comme la récupération ou la classification de faits simples. La réflexion n'est pas nécessaire. Voici quelques exemples :
    • "Où DeepMind a-t-il été fondé ?"
    • "Cet e-mail demande-t-il une réunion ou fournit-il simplement des informations ?"
  • Tâches moyennes (par défaut/réflexion requise) : de nombreuses requêtes courantes bénéficient d'un traitement par étapes ou d'une compréhension plus approfondie. Gemini peut utiliser de manière flexible la capacité de réflexion pour des tâches telles que :
    • Comparez la photosynthèse à la croissance.
    • Comparez les voitures électriques et les voitures hybrides.
  • Tâches difficiles (capacité de réflexion maximale) : pour les défis vraiment complexes, l'IA doit mobiliser toutes ses capacités de raisonnement et de planification, ce qui implique souvent de nombreuses étapes internes avant de fournir une réponse. Voici quelques exemples :
    • Résolvez le problème 1 de l'AIME 2025: Trouvez la somme de toutes les bases entières b > 9 pour lesquelles 17b est un diviseur de 97b.
    • Écrire du code Python pour une application Web qui visualise les données boursières en temps réel, y compris l'authentification des utilisateurs Faites-le aussi efficacement que possible.

Étape suivante