Mit ihrer kontinuierlichen Weiterentwicklung werden große Sprachmodelle (LLMs) zu leistungsstarken Enablern für intelligente Automatisierung, die natürliche Sprache interpretieren und Aktionen durch Aufruf externer Tools ausführen können. In SnapLogic wird diese Fähigkeit durch LLM-Agent-Pipelines unterstützt, in denen Funktionsdefinitionen – unabhängig davon, ob sie manuell erstellt, aus SnapLogic-Pipelines aufgebaut oder aus OpenAPI-Spezifikationen abgeleitet wurden– in aufrufbare Tools umgewandelt werden können, die LLMs für die Interaktion mit externen Systemen verwenden.
Das API-Management (APIM) von SnapLogic spielt dabei eine wichtige Rolle. APIM bietet eine moderne und flexible Möglichkeit, APIs direkt innerhalb der Snaplogic-Plattform zu entwerfen, zu sichern und zu veröffentlichen. Mit Unterstützung für Service-Versionierung, Richtlinienkonfiguration und einem DeveloperHub für die API-Erkennung vereinfacht APIM die Verwaltung und Wiederverwendung von APIs in verschiedenen Projekten und Anwendungsfällen. Viele Benutzer vertrauen bereits auf APIM, um wichtige Geschäftslogik durch gut strukturierte, wiederverwendbare APIs verfügbar zu machen, die eine Vielzahl von Integrationen und Workflows unterstützen.
Die Verbindung dieser APIs mit LLM-Tool-Aufrufen war jedoch bisher mit einem erheblichen manuellen Aufwand verbunden, darunter:
- Schwierigkeiten beim Auffinden von APIM-Dienstversionen und Endpunkten auf Snap-Ebene
- Neuschreiben von API-Beschreibungen und Parameterdefinitionen, die bereits im APIM-Dienst definiert sind
- Konfigurieren mehrerer Funktionsgenerator-Snaps
- Manuelle Pflege von Werkzeugdefinitionen, um mit den Aktualisierungen des APIM-Dienstes synchron zu bleiben
Der APIM Function Generator Snap bewältigt diese Herausforderungen, indem er den gesamten Einrichtungsprozess automatisiert. Er verbindet sich direkt mit einer APIM-Serviceversion und generiert eine Liste des internen Snaplogic-Formats der Funktionsdefinitionen unter Verwendung von Live-Metadaten, die mit dem Tool Calling Snap und den zugehörigen nachgelagerten Snaps verwendet werden können.
Da keine manuelle Konfiguration mehr erforderlich ist und alle Aktualisierungen des APIM-Dienstes automatisch übernommen werden, sorgt dieses Snap für Konsistenz, verkürzt die Einrichtungszeit und vereinfacht die Integration. Es bietet eine schnelle und zuverlässige Möglichkeit, eine vorhandene APIM-Dienstversion in aufrufbare Tools für LLMs umzuwandeln, was eine effizientere Automatisierung ermöglicht.
APIM-Funktionsgenerator-Snap

Schnapp-Eigenschaften
- Projektpfad: Wählen Sie den Projektpfad aus , der den Ziel-APIM-Dienst enthält.
- Dienstname: Wählen Sie den zu verwendenden Dienstnamen aus . Basierend auf dem ausgewählten Projektpfad werden Vorschläge angezeigt.
- Version: Geben Sie die Version des ausgewählten Dienstes an . Vorschläge werden basierend auf dem ausgewählten Dienstnamen angezeigt.
- Basis-URL: Geben Sie die Basis-URL an , die zum Aufrufen der API verwendet wird. Vorschläge werden basierend auf dem in der APIM-Dienstversion ausgewählten Plex bereitgestellt.
- Bevorzugter Inhaltstyp: Geben Sie den gewünschten Inhaltstyp für API-Aufrufe an .
- Filtertyp: Legt fest , wie die APIs innerhalb der Serviceversion ausgewählt werden.
- Aggregierte Eingabe: Wenn diese Option aktiviert ist, werden alle eingehenden Dokumente zu einer einzigen Liste von Funktionsdefinitionen zusammengefasst.
Filtertyp-Optionen
Der Snap unterstützt drei Filtertypen, um zu bestimmen, welche APIs aus der ausgewählten APIM-Serviceversion in den Funktionsdefinitionen enthalten sind:
- Alle Pfade verwenden
Diese Option umfasst alle verfügbaren API-Pfade und -Methoden der ausgewählten Serviceversion. Dies ist die einfachste Möglichkeit, den gesamten API-Satz ohne zusätzliche Filterung verfügbar zu machen.
- Tags
Mit dieser Option können Sie ein oder mehrere Tags angeben. Jede API, die mindestens eines der angegebenen Tags enthält – sei es auf Endpunkt-, Pfad- oder Methodenebene – wird in die generierten Funktionsdefinitionen aufgenommen. Die tagbasierte Filterung ist nützlich, um APIs in sinnvolle Gruppen zu organisieren. Sie können beispielsweise separate Tool-Sets für verschiedene Agenten erstellen, z. B. für Abrechnung, Ticketing, Analyse oder schreibgeschützten Zugriff.
- Wege und Methoden
Mit dieser Option können Sie bestimmte Pfade und die zugehörigen HTTP-Methoden definieren. Sie ermöglicht eine präzise Steuerung darüber, welche Endpunkte für den LLM-Agenten sichtbar sind. Dieser Filtertyp ist besonders nützlich für die Durchsetzung von Berechtigungen. Wenn Sie beispielsweise nur GET-Methoden zulassen, können Sie einen Agenten auf schreibgeschützte Vorgänge beschränken.
Diese flexible Konfiguration ermöglicht es Ihnen, die Funktionsdefinitionen an Ihren Anwendungsfall anzupassen, sodass die richtigen APIs für Ihre LLM-Agent-Workflows verfügbar sind.
Ausgabe des Snap

Der Snap gibt eine Liste mit Werkzeugdefinitionen aus. Jede Werkzeugdefinition enthält:
- sl_tool_metadata:
Enthält wichtige Metadaten, die vom Tool Calling Snap und nachgelagerten Snaps verwendet werden, um die richtige API zu routen und aufzurufen. Es ermöglicht die dynamische Auflösung des URL-Pfads basierend auf Parametern aus der LLM-Ausgabe. Die - Werkzeugtyp ist auf APIM gesetzt, und die Metadaten umfassen den Servicenamen, den Versionsnamen, den Endpunktnamen, Tags (einschließlich Endpunkt-Tags, Pfad-Tags und Methoden-Tags) sowie die vollständige URL der API.

- json_schema: definiert die erwartete Struktur der Eingabeparameter für die API. Dieses Schema hilft dem LLM dabei, seine Ausgabe korrekt zu formatieren, und ermöglicht es dem Tool Calling Snap, den vollständigen URL-Pfad für den Aufruf der API aufzulösen.

Diese Felder werden auf der Grundlage der Live-Metadaten aus der APIM-Serviceversion generiert.

Beispielanwendung: Produktempfehlung
Um zu veranschaulichen, wie der APIM Function Generator Snap die Integration bestehender APIs in LLM-Workflows optimiert, betrachten wir ein Szenario, das auf einem Anwendungsfall aus dem Einzelhandel basiert. In diesem Beispiel wird der SnapLogic APIM-Dienst namens APIM Tool Demo, Version v1, verwendet, um APIs für ein Bekleidungsgeschäft bereitzustellen.


Dieser Dienst umfasst drei Endpunkte:
- /weather: Eine externe API, die zum Abrufen von Echtzeit-Wetterdaten verwendet wird.
- /inventory: Eine SnapLogic-Pipeline-Aufgabe, die als API bereitgestellt wird, um auf Produktdaten aus der Datenbank des Shops zuzugreifen.
- /users: Eine weitere SnapLogic-Task-API, die Zugriff auf benutzerbezogene Informationen bietet.
Diese APIs werden möglicherweise bereits in externen Anwendungen oder internen Tools verwendet. Mit dem APIM Function Generator Snap können sie nun ganz einfach in aufrufbare Tools für LLMs umgewandelt werden, sodass keine separaten Spezifikationen oder manuellen Konfigurationen mehr erforderlich sind.
In diesem Anwendungsfall besteht das Ziel darin, einen LLM-Agenten zu entwickeln, der in der Lage ist, Kleidungsstücke basierend auf dem aktuellen Wetter zu empfehlen. Beispielsweise könnte der LLM eine Eingabeaufforderung wie die folgende erhalten:
„Bitte empfehlen Sie maximal 3 Artikel aus der Kategorie Damenbekleidung im Geschäft, basierend auf dem aktuellen Wetter in Paris, und geben Sie die Gründe dafür an.“
Um diesen Workflow zu unterstützen, wurden der Endpunkt „/weather“ und einige APIs im Endpunkt „/inventory“ im APIM-Dienst mit einer Empfehlung versehen. Diese Kennzeichnung wird dann im APIM Function Generator Snap verwendet, um bei der Generierung von Tool-Definitionen nur die relevanten APIs zu filtern und einzubeziehen, wodurch sich verwandte Funktionen leicht gruppieren lassen.
Agent-Treiber-Pipeline

Systemaufforderung: Sie sind ein freundlicher und hilfsbereiter Assistent, der mit einigen Tools ausgestattet ist. Bitte entscheiden Sie nach eigenem Ermessen, ob Sie die Tools verwenden möchten, um die Fragen des Benutzers zu beantworten.
Benutzeraufforderung: Bitte empfehlen Sie maximal 3 Artikel aus der Kategorie Damenbekleidung im Geschäft, basierend auf dem aktuellen Wetter in Paris, und geben Sie den Grund dafür an.
Agent-Arbeiter-Pipeline

Funktionsgenerierung
Der APIM-Funktionsgenerator wird verwendet, um die Werkzeugdefinition für den Werkzeugaufruf-Snap bereitzustell
-Snap-Einstellungen:

Ausgabe:

Tool-Aufruf
Der Tool Calling Snap sendet Werkzeugdefinitionen an das LLM und gibt Werkzeugaufrufe mit der vollständigen URL und den Headern aus, die anhand der vom LLM zurückgegebenen Parameter aufgelöst werden. Diese Ausgabe wird dann an den Router Snap weitergeleitet, um jeden Aufruf an den entsprechenden nachgelagerten Snap weiterzuleiten.

Router
Der Router Snap ist nützlich, wenn verschiedene Endpunkte eine spezielle Behandlung erfordern, z. B. unterschiedliche Authentifizierungsmethoden, benutzerdefinierte Konfigurationen oder die Verwendung mehrerer Dienste oder Arten von Function Generator Snaps. Er nutzt Felder aus sl_tool_metadata, wie z. B. den Endpunktnamen, um jeden Tool-Aufruf an den entsprechenden Pfad weiterzuleiten.
Beispiel für einen Routing-Ausdruck:
$.get("sl_tool_metadata").tool_type == "APIM" &&
$.get("sl_tool_metadata").service_name == "APIMToolsDemo" &&
$.get("sl_tool_metadata").endpoint_name == "weather"
API aufrufen
Die API wird mithilfe des HTTP Client Snap aufgerufen. Die Anforderungsmethode und die URL werden dynamisch mithilfe von sl_tool_metadata konfiguriert. Das entsprechende Konto sollte gemäß den im APIM-Dienst definierten Richtlinien ausgewählt werden.

Mit dieser Konfiguration kann das LLM mithilfe der APIM-Tools auf Anfragen reagieren. Nachstehend finden Sie den Nachrichtenverlauf, der zeigt, dass das Tool erfolgreich aufgerufen werden kann.

Endergebnis

Beispiel-Pipelines
Schlussfolgerung
Der APIM Function Generator Snap vereinfacht die Integration von APIM-Diensten als Tools für LLMs, indem er die Funktionsgenerierung automatisiert und die Definitionen mit den Live-API-Metadaten synchronisiert. Dieser optimierte Ansatz macht manuelle Einstellungen überflüssig, unterstützt flexible Filterung und wandelt bestehende APIs in aufrufbare Tools um, wodurch eine dynamische und metadatengesteuerte Automatisierung innerhalb von LLM-Workflows ermöglicht wird.


