Les outils étendent les capacités des modèles Gemini, ce qui leur permet 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 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. L'API Gemini fournit une suite d'outils intégrés entièrement gérés, mais vous pouvez également définir des outils personnalisés à l'aide de l'appel de fonction.
Pour créer des systèmes en plusieurs étapes axés sur un objectif, consultez la présentation des agents.
Outils intégrés disponibles
| Outil | Description | Cas d'utilisation |
|---|---|---|
| La recherche Google | Ancrez les réponses dans des événements et des faits actuels provenant du Web pour réduire les hallucinations. | Répondre à des questions sur des événements récents, vérifier des faits à l'aide de diverses sources. |
| 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 avec plusieurs arrêts, trouver des entreprises locales en fonction des critères de l'utilisateur. |
| 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) | Permettez à Gemini d'afficher un écran et de générer des actions pour interagir avec les interfaces utilisateur du navigateur 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). | Rechercher des manuels techniques, systèmes de questions-réponses sur des données propriétaires. |
Pour en savoir plus sur les coûts associés à des outils spécifiques, consultez la page Tarifs.
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 de l'URL, recherche de fichiers, exécution de code), l'ensemble du processus se déroule en un seul appel d'API :
- Vous envoyez un prompt : "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 unid. - 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 l'appel de fonction.
Combiner le flux d'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 de l'outil pour coordonner l'exécution dans différents environnements :
- Vous envoyez un prompt et déclarez les outils intégrés et les fonctions personnalisées que vous souhaitez activer, en définissant un flag pour activer la prise en charge de la combinaison.
- 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 du prompt 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 (ceux-ci peuvent apparaître 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 de contexte.
Sorties structurées ou appel 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 des sorties structurées lorsque vous avez strictement besoin que la réponse finale du modèle respecte un schéma spécifique, par exemple pour afficher une interface utilisateur personnalisée.
Sorties structurées avec des outils
Vous pouvez combiner des sorties structurées avec des outils intégrés pour vous assurer que les réponses du modèle basées sur des données ou des calculs externes respectent toujours un schéma strict.
Pour obtenir des exemples de code, consultez Sorties structurées avec des outils.