Simple Science

La science de pointe expliquée simplement

# Informatique# Calcul et langage# Intelligence artificielle# Apprentissage automatique# Génie logiciel

APIGen : un outil pour les ensembles de données d'appel de fonctions

APIGen génère des ensembles de données diversifiés et de haute qualité pour les agents d'appel de fonctions.

― 7 min lire


APIGen : Génération deAPIGen : Génération dejeux de donnéessimplifiéed'appel de fonction.données diversifiés pour les modèlesCréez efficacement des ensembles de
Table des matières

L'essor des agents appelant des fonctions dans l'intelligence artificielle marque un changement significatif. Ces agents peuvent interpréter des demandes en langage naturel, exécuter des appels API et fournir des réponses en temps réel. Le besoin de Jeux de données diversifiés et fiables est crucial pour le développement efficace de ces modèles. Cet article présente APIGen, un outil conçu pour générer des jeux de données de haute qualité pour les Appels de fonctions.

Qu'est-ce qu'APIGen ?

APIGen signifie Pipeline Automatisé pour la Génération de Jeux de Données d'Appels de Fonctions Vérifiables et Diversifiés. Il automatise le processus de création de jeux de données pouvant être utilisés pour entraîner des modèles d'appels de fonctions. APIGen collecte des APIs exécutables à travers diverses catégories et génère des jeux de données structurés. Ces jeux de données passent par un Processus de vérification rigoureux pour garantir leur précision, ce qui les rend adaptés à l'entraînement des modèles.

L'Importance des Jeux de Données de Qualité

Des jeux de données de haute qualité sont essentiels pour développer des modèles d'appels de fonctions puissants. Ces modèles s'appuient sur des données précises pour apprendre et fonctionner efficacement dans des situations du monde réel. Des jeux de données de mauvaise qualité peuvent entraîner des inexactitudes et des inefficacités, entravant la capacité du modèle à gérer de nouvelles demandes ou des demandes non vues. Par conséquent, disposer d'une source fiable de données diversifiées est fondamental pour le succès de ces modèles.

Comment APIGen Fonctionne

APIGen fonctionne à travers un processus en plusieurs étapes qui met l'accent sur la qualité des données, la diversité et l'évolutivité. Le cadre commence par l'approvisionnement en APIs et en paires de questions-réponses à partir d'une bibliothèque. Il formatte ces informations dans un format JSON standard, facilitant la génération de paires de questions-réponses diversifiées.

Processus de Génération de Données

Le processus de génération de données commence par l'échantillonnage d'APIs et de données de départ. Ensuite, des modèles de prompt guident le modèle dans la création de paires de questions-réponses pertinentes. Les réponses générées sont structurées sous forme d'appels de fonctions au format JSON. Ce format structuré permet une vérification efficace et des contrôles de qualité.

Vérification en Plusieurs Étapes

APIGen utilise un processus de vérification en trois étapes pour garantir l'exactitude des données générées :

  1. Vérificateur de Format : Cette étape vérifie si les données générées suivent le bon format JSON. Elle s'assure que les champs nécessaires sont présents et que les appels de fonctions sont correctement structurés.

  2. Vérificateur d'Exécution : À cette étape, les appels de fonctions bien formés sont exécutés contre leurs APIs respectives. Cela aide à confirmer si les sorties sont correctes et si les appels peuvent être exécutés avec succès.

  3. Vérificateur Sémantique : Cette dernière étape évalue si les résultats d'exécution correspondent à la demande originale de l'utilisateur. Elle examine si les appels de fonctions et les arguments fournis sont appropriés pour l'intention de la requête.

Diversité des Jeux de Données

APIGen améliore la diversité des jeux de données générés grâce à divers mécanismes. Ceux-ci incluent différents styles de requêtes, des techniques d'échantillonnage et des sources d'API. En utilisant une gamme variée de sources, le modèle peut apprendre d'un large éventail de données, le rendant adaptable à diverses situations du monde réel.

Types de Requêtes

Le jeu de données généré par APIGen inclut quatre catégories principales de requêtes :

  1. Requêtes Simples : Celles-ci consistent en des demandes simples nécessitant un seul appel de fonction.

  2. Requêtes Multiples : Dans ce cas, la demande de l'utilisateur peut être traitée par différentes fonctions. Le défi réside dans le choix de la fonction la plus appropriée parmi plusieurs options.

  3. Requêtes Parallèles : Celles-ci nécessitent l'exécution de plusieurs appels de fonctions simultanément pour répondre à une seule demande.

  4. Requêtes Multiples Parallèles : Cette catégorie combine les deux précédentes, nécessitant plusieurs appels de fonctions pour aborder différents aspects d'une demande d'utilisateur.

Techniques d'Échantillonnage

APIGen utilise des systèmes d'échantillonnage pour maximiser la pertinence et la diversité dans les jeux de données générés. Cela inclut un échantillonneur d'API, un échantillonneur d'exemples pour les données de départ, et un échantillonneur de prompts pour générer des paires de questions-réponses diversifiées. La sélection aléatoire d'échantillons aide à prévenir les motifs répétitifs et assure une large couverture des scénarios.

Sources de Données

APIGen collecte principalement des APIs à partir de sources bien documentées pour maintenir la qualité et l'utilisabilité. Ces sources incluent de vastes jeux de données avec une variété d'APIs et de fonctions exécutables. Un grand hub d'APIs contribué par des développeurs sert de base à la création de jeux de données. Grâce à un filtrage et à des tests approfondis, les APIs qui ne répondent pas aux normes de qualité sont écartées.

Expérimentation et Résultats

Pour valider l'efficacité d'APIGen, plusieurs expériences ont été menées. Deux modèles de tailles différentes, entraînés à l'aide des jeux de données générés, ont été évalués par rapport à des modèles existants. La performance de ces modèles a été évaluée à l'aide du Berkeley Function-Calling Benchmark. Les résultats ont montré des améliorations substantielles dans la capacité des modèles à traiter des requêtes complexes, indiquant que la qualité et la diversité des jeux de données améliorent considérablement les capacités d'appel de fonctions.

Évaluation Humaine

Pour garantir la qualité des jeux de données générés, une évaluation humaine a été réalisée. Les évaluateurs ont inspecté manuellement un échantillon d'entrées générées, vérifiant l'exactitude et la pertinence. Les résultats indiquent un jeu de données de haute qualité, avec seulement un faible pourcentage d'échantillons présentant des problèmes mineurs. Cette évaluation renforce l'efficacité du processus de vérification rigoureux d'APIGen.

Applications des Jeux de Données d'APIGen

Les jeux de données produits par APIGen sont conçus pour diverses fins, spécifiquement pour l'entraînement et l'évaluation des agents appelant des fonctions. Comme les jeux de données sont structurés au format JSON, ils sont facilement interprétables par les modèles. En fournissant des paires de questions-réponses diversifiées, les jeux de données permettent de meilleurs résultats d'entraînement, conduisant à des modèles d'appels de fonctions plus efficaces.

Travaux Futurs

Bien qu'APIGen se concentre actuellement sur la génération d'APIs REST et de fonctions Python, des améliorations futures sont prévues. Il y a un objectif d'élargir les capacités du cadre pour inclure d'autres langages de programmation et types d'API. De plus, le cadre pourrait s'étendre pour gérer des scénarios plus complexes, tels que des interactions multi-tours, permettant des échanges plus riches et dynamiques entre agents et outils.

Conclusion

APIGen représente une avancée significative dans le domaine des agents appelant des fonctions. En générant des jeux de données de haute qualité et diversifiés à travers un processus de vérification rigoureux, il permet un entraînement plus efficace des modèles. Les implications de ce travail vont au-delà de la simple création de meilleurs modèles, car il favorise le développement d'agents plus polyvalents capables de gérer une large gamme de tâches dans le monde réel. Avec des avancées et des améliorations continues, APIGen est prêt à contribuer de manière significative à l'évolution de l'intelligence artificielle dans les applications d'appels de fonctions.

Source originale

Titre: APIGen: Automated Pipeline for Generating Verifiable and Diverse Function-Calling Datasets

Résumé: The advancement of function-calling agent models requires diverse, reliable, and high-quality datasets. This paper presents APIGen, an automated data generation pipeline designed to synthesize verifiable high-quality datasets for function-calling applications. We leverage APIGen and collect 3,673 executable APIs across 21 different categories to generate diverse function-calling datasets in a scalable and structured manner. Each data in our dataset is verified through three hierarchical stages: format checking, actual function executions, and semantic verification, ensuring its reliability and correctness. We demonstrate that models trained with our curated datasets, even with only 7B parameters, can achieve state-of-the-art performance on the Berkeley Function-Calling Benchmark, outperforming multiple GPT-4 models. Moreover, our 1B model achieves exceptional performance, surpassing GPT-3.5-Turbo and Claude-3 Haiku. We release a dataset containing 60,000 high-quality entries, aiming to advance the field of function-calling agent domains. The dataset is available on Huggingface: https://huggingface.co/datasets/Salesforce/xlam-function-calling-60k and the project homepage: https://apigen-pipeline.github.io/

Auteurs: Zuxin Liu, Thai Hoang, Jianguo Zhang, Ming Zhu, Tian Lan, Shirley Kokane, Juntao Tan, Weiran Yao, Zhiwei Liu, Yihao Feng, Rithesh Murthy, Liangwei Yang, Silvio Savarese, Juan Carlos Niebles, Huan Wang, Shelby Heinecke, Caiming Xiong

Dernière mise à jour: 2024-06-26 00:00:00

Langue: English

Source URL: https://arxiv.org/abs/2406.18518

Source PDF: https://arxiv.org/pdf/2406.18518

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.

Plus d'auteurs

Articles similaires