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. Ces modèles sont donc particulièrement efficaces pour le codage, les mathématiques avancées, l'analyse de données et d'autres tâches nécessitant une planification ou une 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 d'utilisation, il est préférable de continuer à réfléchir. 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 le budget des modèles de réflexion

Le paramètre thinkingBudget indique au modèle 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 pensée plus détaillée, 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 à 0 désactive la réflexion.

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

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 réflexion

Vous pouvez combiner votre utilisation des modèles de réflexion 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 dans leur raisonnement et leur réponse finale.

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

  • L'outil d'exécution de code permet au modèle de générer et d'exécuter du code Python afin d'effectuer des calculs, de manipuler des données ou de résoudre les problèmes les mieux gérés par un 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 des applications.

  • L'appel de fonction connecte le modèle de pensée aux outils et API externes, afin qu'il puisse déterminer quand appeler la fonction appropriée 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 pour optimiser vos résultats.

Débogage et pilotage

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

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

Complexité de la tâche

  • 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ù a été fondé DeepMind ?"
    • "Cet e-mail demande-t-il une réunion ou fournit-il simplement des informations ?"
  • Tâches moyennes (par défaut/quelques réflexions) : de nombreuses requêtes courantes bénéficient d'un certain niveau de traitement étape par étape ou d'une compréhension approfondie. Gemini peut utiliser de manière flexible la capacité de réflexion pour des tâches telles que :
    • Faites une analogie entre la photosynthèse et 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ésoudre le problème 1 dans AIME 2025: trouver la somme de toutes les bases d'entiers 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