Libérer la puissance des LLM grâce à l'intégration des outils OpenAPI

Photo portrait de Pawit Aiemvaravutigul
4 min read
Résumez cela avec l'IA

Les modèles linguistiques à grande échelle (LLM) révolutionnent notre manière d'interagir avec les systèmes numériques, des agents conversationnels à l'automatisation intelligente. Mais pour exploiter pleinement leurs capacités, en particulier dans les écosystèmes d'entreprise et de développement, il est essentiel de combler le fossé entre les LLM et les systèmes externes à l'aide d'outils, notamment des API. C'est là qu'OpenAPI joue un rôle central.

pawit_roy_0-1744902728471.png

Qu'est-ce que l'OpenAPI ?

OpenAPI (anciennement Swagger) est une spécification open source qui définit un format standard lisible par machine pour décrire les API RESTful. Elle permet aux développeurs et aux systèmes automatisés de comprendre la structure d'une API, y compris les points de terminaison, les paramètres de requête, les méthodes d'authentification et les types de réponse, sans avoir recours à la documentation traditionnelle ou à l'accès au code source.

Son adoption s'étend à des secteurs tels que la technologie, la finance et la santé, grâce à son interopérabilité avec un large éventail d'outils et de cadres.

Pourquoi OpenAPI est important pour les LLM

L'intégration d'OpenAPI aux LLM améliore leur capacité à interagir avec les systèmes du monde réel. Voici comment :

  • Interface universelle: OpenAPI sert de passerelle universelle vers les API RESTful, permettant aux LLM d'interagir avec des services allant de cloud aux applications de productivité.
  • Format standardisé: le schéma standardisé aide les LLM à interpréter avec précision les fonctionnalités de l'API, y compris les entrées et sorties attendues, sans ambiguïté.
  • Création accélérée d'outils: les développeurs peuvent créer efficacement des outils compatibles avec les LLM en analysant directement les définitions OpenAPI.
  • Intégration transparente: grâce à la prise en charge étendue des écosystèmes d'outils API, OpenAPI permet l'intégration rapide d'agents LLM dans les workflows existants.
  • Prise en charge de l'appel d'outils: l'appel d'outils permet aux LLM de sélectionner et d'invoquer de manière autonome les API pertinentes en fonction des invites utilisateur, une fonctionnalité clé rendue possible par les descriptions OpenAPI structurées.

Activation de l'appel d'outils LLM avec SnapLogic

Pour connecter les LLM aux outils définis par OpenAPI, le composant OpenAPI Function Generator Snap joue un rôle crucial. Ce composant convertit toute spécification OpenAPI en un objet outil que les LLM peuvent utiliser via le pipeline Tool Calling dans SnapLogic.

pawit_roy_1-1744902888625.png
pawit_roy_2-1744902897467.png

Options de saisie pour l'accrochage au générateur

Le générateur prend en charge plusieurs méthodes de saisie :

  • URL: Récupérer directement la spécification OpenAPI à partir d'une URL fournie.
    pawit_roy_3-1744902968350.png
  • Éditeur de texte: Collez les spécifications brutes dans un éditeur intégré.
    pawit_roy_4-1744903002589.png
  • Document d'entrée: Transmettez la chaîne OpenAPI dans le cadre d'un document d'entrée via une expression.pawit_roy_5-1744903037503.png
  • Téléchargement de fichiers: Sélectionnez un fichier de spécifications stocké dans la SLDB.
    pawit_roy_6-1744903065314.png

Structure de sortie

pawit_roy_7-1744903095199.png

La sortie générée par l'outil comprend :

  • sl_tool_metadata: métadonnées telles que les paramètres de sécurité, les en-têtes et les URL de base.
  • json_schema: schéma des paramètres d'entrée.

Ces outils peuvent être transmis au Snap Tool Calling, qui résout ensuite de manière dynamique les variables d'exécution telles que les en-têtes et les URL des points de terminaison. Les développeurs peuvent les associer à un Snap HTTP Client pour effectuer des appels API réels basés sur les sorties LLM.

Passage par l'outil d'appel Snap

Lorsque l'outil passe par le Tool Calling Snap, il traite et résout dynamiquement plusieurs composants clés à l'aide des métadonnées et des entrées utilisateur :

  • URL résolue: l'URL de base et les paramètres de chemin provenant de la spécification OpenAPI sont combinés avec les valeurs fournies par l'utilisateur afin de générer le point de terminaison API final.
  • En-têtes: les en-têtes personnalisés ou les en-têtes de type de contenu sont renseignés en fonction des définitions de sécurité OpenAPI ou du contexte fourni par le LLM.
pawit_roy_8-1744903190429.png
pawit_roy_9-1744903209024.png

Cette sortie résolue facilite l'exécution directe de l'appel API par les snaps en aval (comme HTTP Client).

Outils d'action avec HTTP Client Snap

pawit_roy_10-1744903267938.png

Une fois que le Snap d'appel d'outil a généré les données d'outil résolues, cette sortie peut être directement transmise à un Snap client HTTP pour exécution :

pawit_roy_11-1744903334575.png

Cette configuration transforme efficacement une définition OpenAPI statique en un flux de travail entièrement dynamique et exécutable, permettant aux LLM d'interagir de manière autonome avec des services réels.

Cas d'utilisation concrets

Avec la bonne configuration, les LLM peuvent interagir avec pratiquement tous les services compatibles OpenAPI. Cela ouvre la voie à un large éventail d'applications pratiques dans les outils de productivité, les API pour développeurs, les services de données, etc.

Exemple d'utilisation : charger des produits à partir de l'API FakeStore et les enregistrer au format CSV dans GitHub Gist

Cet exemple montre comment un LLM peut orchestrer une intégration en deux étapes à l'aide des spécifications OpenAPI et de l'appel d'outils via SnapLogic :

  1. Récupérer les données: récupérer les données produit à partir de l'API FakeStore.
  2. Transformer et télécharger: formatez les données au format CSV et publiez-les en tant que GitHub Gist public à l'aide de l'API Gist de GitHub.

Pipeline principal (téléchargement)

pawit_roy_12-1744903361205.png

Loop Pipeline (téléchargement, fichier openapi github, fichier openapi de boutique fictive)

pawit_roy_13-1744903375616.png

Invite à LLM

« Chargez tous les produits depuis l'API FakeStore et téléchargez-les sous forme de fichier CSV sur GitHub Gist. »

Panne du débit du pipeline

Étape 1 : Appel de l'outil API FakeStore

  • Outil OpenAPI: spécification API FakeStore (chargée via URL ou fichier).
  • Tâche LLM: reconnaître le point de terminaison /products disponible et déclencher une requête GET pour récupérer la liste complète des produits.
  • Appel de l'outil Snap Output: URL résolue vers https://fakestoreapi.com/products, méthode GET, aucune authentification requise.

Étape 2 : Appel de l'outil API GitHub Gist

  • Outil OpenAPI: spécification API GitHub Gist, avec authentification par jeton définie dans sl_tool_metadata.
  • Tâche LLM: Utilisez le point de terminaison POST /gists et construisez le corps de la requête avec :
    • description : par exemple, « Exportation des produits FakeStore »
    • public : vrai
    • files: A JSON object with one file (e.g., “products.csv”: { content: “<csv data>” })

Étape 3 : Résumez le résultat

  • Tâche LLM : Extrayez et présentez les informations clés de la réponse finale de l'API Gist, telles que :
    • Nombre total de produits exportés

    • Lien vers le Gist créé (par exemple, html_url)
    • Message de confirmation pour l'utilisateur

Résultat final

pawit_roy_14-1744903779694.png
pawit_roy_15-1744903786829.png
Photo portrait de Pawit Aiemvaravutigul
Ingénieur logiciel chez SnapLogic
Catégorie : Technique