Gorille : Un nouvel outil pour interagir avec les API
Gorilla améliore la capacité des LLM à générer des appels API précis pour de meilleures performances.
― 7 min lire
Table des matières
- Le défi avec les LLMs actuels
- Pourquoi Gorilla est différent
- APIBench : L'outil d'évaluation
- Comment fonctionne Gorilla
- Entraînement du modèle
- Résoudre le problème des Hallucinations
- L'importance du contexte
- Tester et comparer les performances
- S'adapter au changement
- Applications dans le monde réel
- Interaction conviviale
- Limitations actuelles
- Directions futures
- Conclusion
- Source originale
- Liens de référence
Gorilla est un nouvel outil conçu pour aider les grands modèles de langage (LLMs) à mieux interagir avec les APIs. Même si les LLMs ont fait de grands pas en avant pour comprendre et générer du texte, ils ont du mal à utiliser les APIs efficacement. Les APIs, c'est comme des instructions qui permettent à différents programmes de communiquer et de travailler ensemble. Par exemple, quand tu utilises une appli pour réserver un vol, cette appli utilise probablement plusieurs APIs pour vérifier la disponibilité, réserver le billet, et envoyer une confirmation. Gorilla vise à améliorer la façon dont les LLMs génèrent ces appels API, en les rendant plus précis et en réduisant les risques d'erreurs.
Le défi avec les LLMs actuels
Malgré les progrès réalisés ces dernières années, les LLMs comme GPT-4 rencontrent encore des limitations. Ils s'appuient sur un ensemble fixe d'informations et ne peuvent pas facilement mettre à jour leurs connaissances. Si quelque chose change dans le monde, ces modèles ont souvent besoin d'être réentraînés pour rester à jour. Cela peut poser problème pour les applications qui dépendent d'informations qui changent fréquemment, comme les APIs. En permettant aux LLMs d'utiliser des outils et d'accéder à des informations à jour, on peut les aider à mieux performer dans des tâches qui nécessitent des données en temps réel.
Pourquoi Gorilla est différent
Gorilla est basé sur un modèle appelé LLaMA, qui a été affiné pour mieux gérer les appels API. Il est spécifiquement conçu pour réduire les erreurs que les LLMs font généralement en générant des instructions API. Par exemple, il a souvent du mal à identifier quelle API utiliser ou génère des paramètres incorrects pour les appels. Gorilla s'attaque à ces problèmes et montre une capacité forte à s'adapter aux changements en temps réel, ce qui est essentiel pour suivre l'évolution de la Documentation API.
APIBench : L'outil d'évaluation
Pour mesurer la capacité de Gorilla, l'équipe a créé un jeu de données appelé APIBench. Ce jeu de données inclut une variété d'APIs populaires provenant de sources comme HuggingFace, PyTorch et TensorFlow. En utilisant ce jeu de données, ils peuvent évaluer à quel point Gorilla performe bien dans la génération d'appels API précis par rapport aux modèles existants.
Comment fonctionne Gorilla
Gorilla fonctionne en combinant une version affinée de LLaMA avec un système de récupération de documents. Cela signifie que quand un utilisateur pose une question, Gorilla peut consulter la documentation API la plus pertinente en temps réel. Ainsi, il génère non seulement des appels API, mais s'assure aussi que les appels sont basés sur les informations les plus récentes. Dans les tests, Gorilla a montré une meilleure précision et réduit le risque d'erreurs comparé à d'autres modèles.
Entraînement du modèle
L'équipe a collecté un grand nombre d'appels API et créé des exemples utiles pour entraîner Gorilla. Ils ont examiné plusieurs sources importantes pour rassembler des APIs et ont veillé à ce que les APIs sélectionnées aient une bonne documentation. Après avoir collecté ces informations, ils ont créé un jeu de données complet contenant des milliers de paires instruction-API.
Pendant l'entraînement, Gorilla a appris à générer des instructions spécifiques en fonction des demandes des utilisateurs. Il a été entraîné pour comprendre non seulement comment appeler les APIs, mais aussi les contraintes qui pourraient être impliquées, comme la taille du modèle ou la précision requise.
Résoudre le problème des Hallucinations
Un problème majeur avec les LLMs est leur tendance à "halluciner", c'est-à-dire qu'ils génèrent des appels API incorrects ou imaginaires. Gorilla a fait des progrès significatifs dans ce domaine. En affinant sa capacité à utiliser une large sélection d'APIs, le modèle peut mieux différencier entre les appels API corrects et incorrects. Cela se traduit par moins d'erreurs d'hallucination, ce qui le rend plus fiable pour les utilisateurs.
L'importance du contexte
Un autre aspect crucial de la conception de Gorilla est sa capacité à utiliser le contexte efficacement. Quand les utilisateurs fournissent des invites, Gorilla peut récupérer la documentation la plus récente pertinente par rapport à ces invites. Cette approche adaptative lui permet de répondre avec précision en fonction des informations actuelles, le rendant plus utile pour les applications dans le monde réel.
Tester et comparer les performances
Pour évaluer l'efficacité de Gorilla, l'équipe a comparé sa performance avec d'autres modèles leaders comme GPT-4 et ses prédécesseurs. Ils ont réalisé des tests dans divers contextes, avec et sans le système de récupération, pour analyser comment chaque modèle répondait à différentes invites. Les résultats ont montré que Gorilla surperformait constamment les autres modèles en précision et pertinence, tout en minimisant les hallucinations.
S'adapter au changement
La capacité de Gorilla à s'adapter aux changements dans la documentation API est l'une de ses forces clés. Étant donné que les APIs peuvent changer fréquemment, cette fonctionnalité garantit que les utilisateurs peuvent compter sur Gorilla pour fournir des informations précises, quelle que soit l'évolution dans le monde des APIs. Cette adaptabilité n'est pas courante parmi les autres modèles, qui ont souvent du mal à suivre la documentation nouvellement publiée.
Applications dans le monde réel
Gorilla a le potentiel pour de nombreuses applications. Par exemple, il peut être utilisé pour aider les développeurs à créer des applications qui nécessitent une intégration sans couture des APIs. Des tâches qui prenaient autrefois beaucoup d'étapes-comme réserver des voyages ou coordonner des événements-pourraient devenir beaucoup plus simples. Les utilisateurs pourraient simplement demander à Gorilla d'effectuer ces actions, et il gérerait les appels API nécessaires en arrière-plan.
Interaction conviviale
Un des objectifs de Gorilla est de faciliter l'interaction pour les utilisateurs. En permettant des invites en langage naturel, les utilisateurs peuvent entrer leurs demandes comme ils le feraient dans une conversation. Le système de récupération et les fonctionnalités adaptatives signifient que les utilisateurs n'ont pas besoin de connaître les APIs spécifiques ou leurs fonctions. Au lieu de cela, ils peuvent se concentrer sur ce qu'ils veulent accomplir, et Gorilla s'occupera des détails techniques.
Limitations actuelles
Bien que Gorilla montre du potentiel, il y a encore des domaines à améliorer. Le modèle dépend beaucoup de la qualité de la documentation API qu'il récupère. Si la documentation est pauvre ou obsolète, cela pourrait entraîner des inexactitudes dans les réponses. De plus, Gorilla est encore un modèle en développement ; des tests supplémentaires et un affinage sont donc nécessaires pour maximiser son potentiel.
Directions futures
En regardant vers l'avenir, il y a beaucoup d'opportunités pour améliorer Gorilla. Les prochaines versions pourraient inclure un meilleur support pour des APIs plus diverses ou même s'étendre à d'autres langages de programmation. Des recherches supplémentaires pourraient aussi explorer comment rendre le modèle plus robuste contre les erreurs dans la documentation ou fournir des réponses plus intuitives.
Conclusion
Gorilla représente un pas en avant passionnant dans le domaine des grands modèles de langage et leur application dans les interactions API. En améliorant la façon dont les LLMs génèrent des appels API et s'adaptent aux changements, Gorilla a le potentiel d'améliorer diverses applications dans différents domaines. À mesure que le modèle continue de se développer, il promet de rendre les interactions avec la technologie plus fluides et conviviales, ouvrant de nouvelles possibilités tant pour les utilisateurs que pour les développeurs.
Titre: Gorilla: Large Language Model Connected with Massive APIs
Résumé: Large Language Models (LLMs) have seen an impressive wave of advances recently, with models now excelling in a variety of tasks, such as mathematical reasoning and program synthesis. However, their potential to effectively use tools via API calls remains unfulfilled. This is a challenging task even for today's state-of-the-art LLMs such as GPT-4, largely due to their inability to generate accurate input arguments and their tendency to hallucinate the wrong usage of an API call. We release Gorilla, a finetuned LLaMA-based model that surpasses the performance of GPT-4 on writing API calls. When combined with a document retriever, Gorilla demonstrates a strong capability to adapt to test-time document changes, enabling flexible user updates or version changes. It also substantially mitigates the issue of hallucination, commonly encountered when prompting LLMs directly. To evaluate the model's ability, we introduce APIBench, a comprehensive dataset consisting of HuggingFace, TorchHub, and TensorHub APIs. The successful integration of the retrieval system with Gorilla demonstrates the potential for LLMs to use tools more accurately, keep up with frequently updated documentation, and consequently increase the reliability and applicability of their outputs. Gorilla's code, model, data, and demo are available at https://gorilla.cs.berkeley.edu
Auteurs: Shishir G. Patil, Tianjun Zhang, Xin Wang, Joseph E. Gonzalez
Dernière mise à jour: 2023-05-24 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2305.15334
Source PDF: https://arxiv.org/pdf/2305.15334
Licence: https://creativecommons.org/licenses/by/4.0/
Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.
Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.