Simple Science

La science de pointe expliquée simplement

# Informatique# Calcul et langage# Intelligence artificielle# Apprentissage automatique

API Pack : Un nouveau jeu de données pour les développeurs

API Pack simplifie la génération d'appels API pour les modèles de langage, aidant carrément les développeurs.

― 5 min lire


Le pack API améliore lesLe pack API améliore lesefforts de codage.développeurs.génération d'appels API pour lesNouveau jeu de données booste la
Table des matières

API Pack est un jeu de données conçu pour aider les grands modèles de langage (LLMs) à générer des appels d'API dans plusieurs Langages de programmation. Il contient plus d'un million de paires d'Instructions et d'appels d'API. Notre objectif est d'améliorer la façon dont ces modèles peuvent générer du code qui interagit avec des API, facilitant ainsi la tâche des développeurs pour obtenir le code correct dont ils ont besoin.

Pourquoi API Pack ?

Les développeurs passent beaucoup de temps à chercher des exemples d'API dans la documentation ou sur divers sites web. Trouver des informations pertinentes peut être long et frustrant. API Pack vise à simplifier cela en permettant aux modèles de générer rapidement des appels d'API en fonction de requêtes en langage naturel.

Caractéristiques clés d'API Pack

  1. Grand ensemble de données : Avec plus d'un million d'instances, API Pack est le plus grand jeu de données open-source pour cette utilisation.
  2. Multilingue : Il inclut des exemples dans dix langages de programmation, permettant aux développeurs de travailler avec des API dans différents environnements.
  3. Focus sur les appels d'API : Le jeu de données est conçu spécifiquement pour apprendre aux modèles à identifier et à générer les bons appels d'API en fonction des instructions de l'utilisateur.

Comment fonctionne API Pack

Le jeu de données se compose de paires d'instructions utilisateur et d'appels d'API correspondants. Les instructions sont écrites dans un format de langage naturel, tandis que les appels d'API sont des extraits de code dans divers langages de programmation. Par exemple, un utilisateur pourrait demander comment utiliser une API spécifique, et le modèle répondrait avec le code approprié.

Étapes de création

  1. Collecte de données : Nous avons rassemblé les informations sur les API à partir de plusieurs sources fournissant des fichiers de spécification OpenAPI.
  2. Filtrage : Nous avons filtré les données de mauvaise qualité pour nous assurer que le jeu de données ne contient que des appels d'API valides.
  3. Génération d'instructions : En utilisant divers modèles, nous avons créé des instructions expliquant comment utiliser chaque appel d'API.
  4. Validation : Chaque paire instruction et appel d'API a été vérifiée pour sa qualité afin de garantir leur exactitude et leur utilité.

Expérimentation et résultats

Nous avons mené plusieurs expériences pour tester l'efficacité d'API Pack. Voici quelques résultats clés :

  1. Ajustement fin avec des données limitées : Nous avons ajusté un modèle appelé CodeLlama-13B en utilisant seulement 20 000 exemples et avons constaté qu'il surperformait d'autres modèles comme GPT-3.5 et GPT-4 dans la génération d'appels d'API pour de nouvelles API.
  2. Effet de la taille du jeu de données : Augmenter la taille du jeu de données à 100 000 instances a amélioré la capacité du modèle à gérer de nouvelles API non vues pendant l'entraînement.
  3. Performance inter-langage : Le modèle pouvait générer des appels d'API dans plusieurs langues sans avoir besoin de grandes quantités de données pour chacune. Une petite quantité de données provenant de plusieurs langues a bien fonctionné.

Points forts des expériences

  • CodeLlama-13B a montré plus de 10 % de précision en plus par rapport à GPT-3.5 et plus de 5 % de mieux que GPT-4 lors de la génération d'appels d'API non vus.
  • Utiliser 100 000 exemples a amélioré significativement les performances du modèle sur de nouvelles API.
  • La génération inter-linguistique a réussi, nécessitant principalement une langue principale et un peu de données d'autres.

Travailler avec des Jeux de données existants

Nous avons également testé la performance d'API Pack lorsqu'il est combiné avec d'autres jeux de données d'instructions. Les résultats ont montré que l'intégration d'API Pack améliorait la génération d'appels d'API sans affecter négativement les tâches de codage général.

Conclusion

API Pack est une ressource précieuse pour améliorer la capacité des modèles de langage à générer des appels d'API. En utilisant ce jeu de données, les modèles peuvent mieux répondre aux besoins des développeurs, accélérant ainsi le processus de récupération et d'utilisation des API.

Travaux futurs

Nous prévoyons d'explorer d'autres améliorations, telles que :

  1. Classification API plus large : Faciliter l'interprétation des requêtes incomplètes par les modèles sans avoir besoin du nom exact de l'API.
  2. Inclusion d'arguments : Ajouter des API qui incluent des arguments pour des exemples de code plus réalistes.
  3. Scénarios multi-étapes : Inclure des séquences complexes de plusieurs appels d'API pour améliorer la compréhension du modèle des applications réelles.

API Pack promet d'améliorer la productivité du développement logiciel, mais nous devons relever les défis auxquels il est confronté pour maximiser son potentiel.

Plus d'auteurs

Articles similaires