Les outils et les agents étendent les capacités des modèles Gemini, leur permettant d'agir dans le monde, d'accéder à des informations en temps réel et d'effectuer des tâches de calcul complexes. Les modèles peuvent utiliser des outils dans les interactions standard de type requête-réponse et dans les sessions de streaming en temps réel à l'aide de l'API Live.
- Les outils sont des fonctionnalités spécifiques (comme la recherche Google ou l'exécution de code) qu'un modèle peut utiliser pour répondre aux requêtes.
- Les agents sont des systèmes capables de planifier, d'exécuter et de synthétiser des tâches en plusieurs étapes pour atteindre un objectif défini par l'utilisateur.
L'API Gemini fournit une suite d'outils et d'agents intégrés entièrement gérés et optimisés pour les modèles Gemini. Vous pouvez également définir des outils personnalisés à l'aide de l'appel de fonction.
Outils intégrés disponibles
| Outil | Description | Cas d'utilisation |
|---|---|---|
| La recherche Google | Ancrez les réponses dans l'actualité et les faits du Web pour réduire les hallucinations. | - Répondre à des questions sur des événements récents - Vérifier des faits à l'aide de sources variées |
| Google Maps | Créez des assistants géolocalisés capables de trouver des lieux, d'obtenir des itinéraires et de fournir un contexte local riche. | - Planifier des itinéraires de voyage avec plusieurs arrêts - Trouver des établissements locaux en fonction des critères des utilisateurs |
| Exécution de code | Permettez au modèle d'écrire et d'exécuter du code Python pour résoudre des problèmes mathématiques ou traiter des données avec précision. | - Résoudre des équations mathématiques complexes - Traiter et analyser des données textuelles avec précision |
| Contexte de l'URL | Demandez au modèle de lire et d'analyser le contenu de pages Web ou de documents spécifiques. | - Répondre à des questions basées sur des URL ou des documents spécifiques - Récupérer des informations sur différentes pages Web |
| Utilisation de l'ordinateur (aperçu) | Activez Gemini pour qu'il puisse voir un écran et générer des actions pour interagir avec les UI des navigateurs Web (exécution côté client). | - Automatiser les workflows Web répétitifs - Tester les interfaces utilisateur des applications Web |
| Recherche de fichiers | Indexez et recherchez vos propres documents pour activer la génération augmentée par récupération (RAG). | - Recherche dans des manuels techniques ; - Réponses à des questions sur des données propriétaires |
Pour en savoir plus sur les coûts associés à des outils spécifiques, consultez la page des tarifs.
Agents disponibles
| Agent | Description | Cas d'utilisation |
|---|---|---|
| Deep Research | Planifie, exécute et synthétise de manière autonome des tâches de recherche en plusieurs étapes. | - Analyse du marché - Diligence raisonnable - Revues de littérature |
Fonctionnement de l'exécution des outils
Les outils permettent au modèle de demander des actions lors d'une conversation. Le flux diffère selon que l'outil est intégré (géré par Google) ou personnalisé (géré par vous).
Flux d'outil intégré
Pour les outils intégrés (Recherche Google, Google Maps, contexte d'URL, recherche de fichiers, exécution de code), l'ensemble du processus se déroule en un seul appel d'API :
- Vous envoyez une requête : "Quelle est la racine carrée du dernier cours de l'action GOOG ?"
- Gemini décide qu'il a besoin d'outils et les exécute sur les serveurs de Google (par exemple, il recherche le cours de l'action, puis exécute du code Python pour calculer la racine carrée).
- Gemini renvoie la réponse finale basée sur les résultats de l'outil.
Flux d'outil personnalisé (appel de fonction)
Pour les outils personnalisés et l'utilisation de l'ordinateur, votre application gère l'exécution :
- Vous envoyez un prompt avec des déclarations de fonctions (outils).
- Gemini peut renvoyer un code JSON structuré pour appeler une fonction spécifique (par exemple,
{"name": "get_order_status", "args": {"order_id": "123"}}), toujours avec unidunique. - Vous exécutez la fonction dans votre application ou votre environnement.
- Vous renvoyez les résultats de la fonction à Gemini, avec le même
idque l'appel de fonction. - Gemini utilise les résultats pour générer une réponse finale ou un autre appel d'outil.
Pour en savoir plus, consultez le guide sur les appels de fonction.
Combiner des outils intégrés et personnalisés
Pour les requêtes qui combinent des outils intégrés et des outils personnalisés (appels de fonction), le modèle utilise la circulation du contexte d'outil pour coordonner l'exécution dans différents environnements :
- Vous envoyez une requête et déclarez les outils intégrés et les fonctions personnalisées que vous souhaitez activer, en définissant un indicateur pour activer la prise en charge des combinaisons.
- Gemini exécute les outils intégrés et cède la place à l'utilisateur si des appels de fonction côté client sont générés (l'exécution en premier dépend de la requête et de ce que le modèle décide). Il renvoie une réponse avec :
- Confirmation de l'appel d'outil
- Résultats de la réponse de l'outil (ils peuvent être fournis après le JSON si le modèle a généré deux appels de fonction parallèles)
- JSON structuré pour appeler votre fonction
- Signatures de pensée chiffrées pour préserver le contexte
- Vous exécutez la fonction dans votre application ou votre environnement.
- Vous renvoyez toutes les parties de la réponse de Gemini, ainsi que les résultats de votre appel de fonction.
- Gemini génère la réponse finale à l'aide de l'ensemble du contexte combiné.
Consultez le guide sur la combinaison d'outils pour découvrir comment activer la prise en charge de la combinaison d'outils intégrés et personnalisés, et obtenir des exemples de circulation du contexte.
Sorties structurées et appels de fonction
Gemini propose deux méthodes pour générer des sorties structurées. Utilisez l'appel de fonction lorsque le modèle doit effectuer une étape intermédiaire en se connectant à vos propres outils ou systèmes de données. Utilisez les sorties structurées lorsque vous avez absolument besoin que la réponse finale du modèle respecte un schéma spécifique, par exemple pour afficher une UI personnalisée.
Sorties structurées avec des outils
Vous pouvez combiner les sorties structurées avec des outils intégrés pour vous assurer que les réponses du modèle ancrées dans des données externes ou des calculs respectent toujours un schéma strict.
Pour obtenir des exemples de code, consultez Sorties structurées avec des outils.
Créer des agents
Les agents sont des systèmes qui utilisent des modèles et des outils pour effectuer des tâches en plusieurs étapes. Alors que Gemini fournit les capacités de raisonnement (le "cerveau") et les outils essentiels (les "mains"), vous avez souvent besoin d'un framework d'orchestration pour gérer la mémoire de l'agent, les boucles de planification et l'enchaînement d'outils complexes.
Pour maximiser la fiabilité des workflows en plusieurs étapes, vous devez créer des instructions qui contrôlent explicitement la façon dont le modèle raisonne et planifie. Bien que Gemini fournisse un raisonnement général solide, les agents complexes bénéficient de requêtes qui imposent des comportements spécifiques tels que la persévérance face aux problèmes, l'évaluation des risques et la planification proactive.
Pour obtenir des stratégies de conception de ces requêtes, consultez Workflows agentiques. Voici un exemple d'instruction système qui a amélioré les performances sur plusieurs benchmarks d'environ 5 %.
Frameworks d'agents
Gemini s'intègre aux principaux frameworks d'agents Open Source, tels que :
- LangChain / LangGraph : créez des flux d'application complexes avec état et des systèmes multi-agents à l'aide de structures de graphiques.
- LlamaIndex : connectez les agents Gemini à vos données privées pour des workflows RAG améliorés.
- CrewAI : orchestrez des agents d'IA autonomes et collaboratifs qui jouent un rôle.
- SDK Vercel AI : créez des interfaces utilisateur et des agents optimisés par l'IA en JavaScript/TypeScript.
- Google ADK : framework Open Source permettant de créer et d'orchestrer des agents d'IA interopérables.