À mesure que les grands modèles linguistiques (LLM) continuent d'évoluer, ils deviennent de puissants catalyseurs de l'automatisation intelligente, capables d'interpréter le langage naturel et d'effectuer des actions via l'appel d'outils externes. Dans SnapLogic, cette fonctionnalité est prise en charge par les pipelines d'agents LLM, où les définitions de fonctions, qu'elles soient créées manuellement, construites à partir de pipelines SnapLogic ou dérivées de spécifications OpenAPI, peuvent être transformées en outils appelables que les LLM utilisent pour interagir avec des systèmes externes.
La gestion des API (APIM) de SnapLogic joue un rôle clé dans ce processus. APIM offre un moyen moderne et flexible de concevoir, sécuriser et publier des API directement dans la plateforme Snaplogic. Grâce à la prise en charge de la gestion des versions des services, de la configuration des politiques et d'un DeveloperHub pour la découverte d'API, APIM simplifie la gestion et la réutilisation des API dans divers projets et cas d'utilisation. De nombreux utilisateurs s'appuient déjà sur APIM pour exposer des logiques métier critiques via des API bien structurées et réutilisables qui prennent en charge un large éventail d'intégrations et les workflows.
Cependant, connecter ces API à l'appel d'outils LLM impliquait traditionnellement un effort manuel considérable, notamment :
- Difficulté à découvrir les versions et les points de terminaison du service APIM au niveau Snap
- Réécriture des descriptions d'API et des définitions de paramètres déjà définies dans le service APIM
- Configuration de plusieurs générateurs de fonctions
- Maintenir manuellement les définitions d'outils afin de rester synchronisé avec les mises à jour du service APIM.
Le Snap Générateur de fonctions APIM répond à ces défis en automatisant l'ensemble du processus de configuration. Il se connecte directement à une version du service APIM et génère une liste au format interne Snaplogic des définitions de fonctions à l'aide de métadonnées en temps réel à utiliser avec le Snap d'appel d'outil et les Snaps en aval associés.
En supprimant le besoin de configuration manuelle et en reflétant automatiquement toutes les mises à jour apportées au service APIM, ce Snap permet de maintenir la cohérence, de réduire le temps de configuration et de simplifier l'intégration. Il offre un moyen rapide et fiable de transformer une version existante du service APIM en outils appelables pour les LLM, permettant ainsi une automatisation plus efficace.
Générateur de fonctions APIM Snap

Propriétés Snap
- Chemin d'accès au projet : sélectionnez le chemin d'accès au projet qui contient le service APIM cible.
- Nom du service : choisissez le nom du service à utiliser. Des suggestions sont fournies en fonction du chemin d'accès au projet sélectionné.
- Version : spécifiez la version du service sélectionné. Des suggestions sont fournies en fonction du nom du service sélectionné.
- URL de base : spécifiez l'URL de base utilisée pour appeler l'API. Des suggestions sont fournies en fonction du Plex sélectionné dans la version du service APIM.
- Type de contenu préféré : spécifiez le type de contenu souhaité pour les appels API.
- Type de filtre : détermine comment les API au sein de la version du service sont sélectionnées.
- Entrée agrégée : lorsque cette option est activée, tous les documents entrants sont regroupés dans une seule liste de définitions de fonctions.
Options de type de filtre
Le Snap prend en charge trois types de filtres pour déterminer quelles API de la version du service APIM sélectionnée sont incluses dans les définitions de fonction :
- Utiliser tous les chemins
Cette option inclut tous les chemins et toutes les méthodes API disponibles à partir de la version du service sélectionnée. Il s'agit du moyen le plus simple d'exposer l'ensemble complet de l'API sans filtrage supplémentaire.
- Balises
Cette option vous permet de spécifier une ou plusieurs balises. Toute API qui inclut au moins une des balises spécifiées, que ce soit au niveau du point de terminaison, du chemin d'accès ou de la méthode, sera incluse dans les définitions de fonction générées. Le filtrage basé sur les balises est utile pour organiser les API en groupes significatifs. Par exemple, vous pouvez créer des ensembles d'outils distincts pour différents agents, tels que la facturation, la billetterie, l'analyse ou l'accès en lecture seule.
- Chemins et méthodes
Cette option vous permet de définir des chemins spécifiques et les méthodes HTTP qui leur sont associées. Elle offre un contrôle précis sur les points de terminaison exposés à l'agent LLM. Ce type de filtre est particulièrement utile pour appliquer des autorisations. Par exemple, en incluant uniquement les méthodes GET, vous pouvez limiter un agent à des opérations en lecture seule.
Cette configuration flexible vous permet d'adapter les définitions de fonction à votre cas d'utilisation, garantissant ainsi que les API appropriées sont disponibles pour vos les workflowsagent LLM.
Sortie du Snap

Le Snap affiche une liste de définitions d'outils. Chaque définition d'outil comprend :
- sl_tool_metadata :
Contient les métadonnées essentielles utilisées par le snap d'appel d'outil et les snaps en aval pour acheminer et invoquer l'API correcte. Il permet la résolution dynamique du chemin d'accès URL en fonction des paramètres issus de la sortie LLM. Le - type_d'outil est défini sur APIM, et les métadonnées comprennent le nom du service, le nom de la version, le nom du point de terminaison, les balises (y compris les balises de point de terminaison, les balises de chemin et les balises de méthode) et l'URL complète de l'API.

- json_schema: définit la structure attendue des paramètres d'entrée pour l'API. Ce schéma guide le LLM dans le formatage correct de sa sortie et permet au Tool Calling Snap de résoudre le chemin d'URL complet pour appeler l'API.

Ces champs sont générés à partir des métadonnées en temps réel provenant de la version du service APIM.

Exemple d'utilisation : recommandation de produits
Pour illustrer comment le générateur de fonctions APIM Snap rationalise l'intégration des API existantes dans les workflows LLM, prenons un scénario basé sur un cas d'utilisation dans le secteur de la vente au détail. Dans cet exemple, le service SnapLogic APIM nommé APIM Tool Demo, version v1, est utilisé pour exposer les API d'un magasin de vêtements.


Ce service comprend trois points de terminaison :
- /weather: API externe proxy utilisée pour récupérer des données météorologiques en temps réel.
- /inventory: tâche de pipeline SnapLogic exposée sous forme d'API pour accéder aux données produit à partir de la base de données du magasin.
- /users: autre API de tâche SnapLogic qui donne accès aux informations relatives aux utilisateurs.
Ces API alimentent peut-être déjà des applications externes ou des outils internes. Grâce au Snap APIM Function Generator, elles peuvent désormais être facilement transformées en outils appelables pour les LLM, éliminant ainsi le besoin de spécifications distinctes ou de configuration manuelle.
Dans ce cas d'utilisation, l'objectif est de créer un agent LLM capable de recommander des vêtements en fonction de la météo actuelle. Par exemple, le LLM peut recevoir une invite telle que :
« Veuillez recommander au maximum 3 articles de la catégorie vêtements pour femmes disponibles dans le magasin en fonction de la météo actuelle à Paris et justifier votre choix. »
Pour prendre en charge ce flux de travail, le point de terminaison /weather et certaines API du point de terminaison /inventory ont été marqués avec une recommandation dans le service APIM. Cette balise est ensuite utilisée dans le générateur de fonctions APIM Snap pour filtrer et n'inclure que les API pertinentes lors de la génération des définitions d'outils, ce qui facilite le regroupement des fonctionnalités associées.
Pipeline des agents pilotes

Invite système : Vous êtes un assistant aimable et serviable équipé de certains outils. Veuillez utiliser votre jugement pour décider s'il convient ou non d'utiliser ces outils pour répondre aux questions de l'utilisateur.
Invite utilisateur : Veuillez recommander au maximum 3 articles de la catégorie « Vêtements pour femmes » du magasin en fonction de la météo actuelle à Paris et justifier votre choix.
Pipeline des travailleurs agents

Génération de fonctions
Le générateur de fonctions APIM sert à fournir la définition de l'outil à l'outil d'appel. Paramètres de l'
:

Sortie :

Appel d'outil
Le Snap Tool Calling envoie les définitions d'outils au LLM et génère des appels d'outils avec l'URL complète et les en-têtes résolus à l'aide des paramètres renvoyés par le LLM. Cette sortie est ensuite transmise au Snap Router afin d'acheminer chaque appel vers le Snap en aval approprié.

Routeur
Le Snap Router est utile lorsque différents points de terminaison nécessitent un traitement spécifique, tel que différentes méthodes d'authentification, des configurations personnalisées ou l'utilisation de plusieurs services ou types de Snaps Function Generator. Il exploite les champs de sl_tool_metadata, tels que le nom du point de terminaison, pour acheminer chaque appel d'outil vers le chemin approprié.
Exemple d'expression de routage :
$.get("sl_tool_metadata").tool_type == "APIM" &&
$.get("sl_tool_metadata").service_name == "APIMToolsDemo" &&
$.get("sl_tool_metadata").endpoint_name == "weather"
Appel API
L'API est appelée à l'aide du client HTTP Snap. La méthode de requête et l'URL sont configurées dynamiquement à l'aide de sl_tool_metadata. Le compte approprié doit être sélectionné conformément aux politiques définies dans le service APIM.

Avec cette configuration, le LLM peut répondre aux requêtes en utilisant les outils APIM. Vous trouverez ci-dessous l'historique des messages, qui montre que l'outil peut être appelé avec succès.

Résultat final

Exemples de pipelines
Conclusion
Le générateur de fonctions APIM simplifie l'intégration des services APIM en tant qu'outils pour les LLM en automatisant la génération de fonctions et en synchronisant les définitions avec les métadonnées API en temps réel. Cette approche rationalisée élimine la configuration manuelle, prend en charge un filtrage flexible et transforme les API existantes en outils appelables, permettant une automatisation dynamique et basée sur les métadonnées dans les workflows LLM.


