Die Leistungsfähigkeit von LLMs durch die Integration von OpenAPI-Tools freisetzen

Porträtfoto von Pawit Aiemvaravutigul
4 min gelesen
Fassen Sie dies mit AI zusammen

Große Sprachmodelle (LLMs) revolutionieren die Art und Weise, wie wir mit digitalen Systemen interagieren, von Dialogagenten bis hin zur intelligenten Automatisierung. Um ihre Fähigkeiten jedoch wirklich nutzen zu können, insbesondere in Unternehmens- und Entwickler-Ökosystemen, ist es unerlässlich, die Lücke zwischen LLMs und externen Systemen durch Tools – insbesondere APIs – zu schließen. Hier spielt OpenAPI eine entscheidende Rolle.

pawit_roy_0-1744902728471.png

Was ist OpenAPI?

OpenAPI (früher Swagger) ist eine Open-Source-Spezifikation, die ein standardisiertes, maschinenlesbares Format zur Beschreibung von RESTful-APIs definiert. Sie ermöglicht es Entwicklern und automatisierten Systemen, die Struktur einer API – einschließlich Endpunkten, Anfrageparametern, Authentifizierungsmethoden und Antworttypen – zu verstehen, ohne auf herkömmliche Dokumentationen oder den Zugriff auf den Quellcode angewiesen zu sein.

Dank seiner Interoperabilität mit einer Vielzahl von Tools und Frameworks wird es in Branchen wie Technologie, Finanzen und Gesundheitswesen eingesetzt.

Warum OpenAPI für LLMs wichtig ist

Die Integration von OpenAPI in LLMs verbessert deren Fähigkeit zur Interaktion mit realen Systemen. Und zwar folgendermaßen:

  • Universelle Schnittstelle: OpenAPI fungiert als universelle Brücke zu RESTful-APIs und ermöglicht es LLMs, mit Diensten zu interagieren, die von Cloud-Infrastrukturen bis hin zu Produktivitätsanwendungen reichen.
  • Standardisiertes Format: Das standardisierte Schema hilft LLMs dabei, API-Funktionen – einschließlich erwarteter Ein- und Ausgänge – ohne Mehrdeutigkeiten genau zu interpretieren.
  • Beschleunigte Tool-Erstellung: Entwickler können LLM-kompatible Tools effizient erstellen, indem sie OpenAPI-Definitionen direkt analysieren.
  • Nahtlose Integration: Dank umfassender Unterstützung durch API-Tooling-Ökosysteme ermöglicht OpenAPI die schnelle Einbettung von LLM-Agenten in bestehende Workflows.
  • Unterstützt Tool Calling: Mit Tool Calling können LLMs anhand von Benutzeranweisungen selbstständig relevante APIs auswählen und aufrufen – eine wichtige Funktion, die durch strukturierte OpenAPI-Beschreibungen ermöglicht wird.

Aktivieren des Aufrufs von LLM-Tools mit SnapLogic

Um LLMs mit OpenAPI-definierten Tools zu verbinden, spielt der OpenAPI Function Generator Snap eine entscheidende Rolle. Diese Komponente wandelt jede OpenAPI-Spezifikation in ein Tool-Objekt um, das LLMs über die Tool Calling-Pipeline in SnapLogic verwenden können.

pawit_roy_1-1744902888625.png
pawit_roy_2-1744902897467.png

Eingabeoptionen für den Generator-Snap

Der Generator unterstützt mehrere Eingabemethoden:

  • URL: Die OpenAPI-Spezifikation direkt von einer angegebenen URL abrufen.
    pawit_roy_3-1744902968350.png
  • TexteditorFügen Sie die Rohspezifikation in einen integrierten Editor ein.
    pawit_roy_4-1744903002589.png
  • Eingabedokument: Übergeben Sie die OpenAPI-Zeichenfolge als Teil eines Eingabedokuments über einen Ausdruck.pawit_roy_5-1744903037503.png
  • Datei-UploadWählen Sie eine in der SLDB gespeicherte Spezifikationsdatei aus.
    pawit_roy_6-1744903065314.png

Ausgabestruktur

pawit_roy_7-1744903095199.png

Die generierte Tool-Ausgabe umfasst:

  • sl_tool_metadata: Metadaten wie Sicherheitsparameter, Header und Basis-URLs.
  • json_schema: Ein Schema der Eingabeparameter.

Diese Tools können an den Tool Calling Snap übergeben werden, der dann Laufzeitvariablen wie Header und Endpunkt-URLs dynamisch auflöst. Entwickler können dies mit einem HTTP Client Snap verknüpfen, um echte API-Aufrufe basierend auf LLM-Ausgaben durchzuführen.

Durchlaufen des Werkzeugaufrufs Snap

Wenn das Werkzeug durch den Tool Calling Snap geleitet wird, verarbeitet und löst es dynamisch mehrere Schlüsselkomponenten unter Verwendung der Metadaten und Benutzereingaben:

  • Aufgelöste URL: Die Basis-URL und die Pfadparameter aus der OpenAPI-Spezifikation werden mit den vom Benutzer angegebenen Werten kombiniert, um den endgültigen API-Endpunkt zu generieren.
  • Header: Benutzerdefinierte Header oder Content-Type-Header werden basierend auf den OpenAPI-Sicherheitsdefinitionen oder dem vom LLM bereitgestellten Kontext ausgefüllt.
pawit_roy_8-1744903190429.png
pawit_roy_9-1744903209024.png

Diese aufgelöste Ausgabe erleichtert es nachgelagerten Snaps (wie HTTP Client), den API-Aufruf direkt auszuführen.

Aktionswerkzeuge mit HTTP-Client-Snap

pawit_roy_10-1744903267938.png

Sobald das Tool Calling Snap die aufgelösten Werkzeugdaten generiert hat, kann diese Ausgabe direkt in ein HTTP Client Snap zur Ausführung weitergeleitet werden:

pawit_roy_11-1744903334575.png

Diese Konfiguration verwandelt eine statische OpenAPI-Definition effektiv in einen vollständig dynamischen und ausführbaren Workflow, sodass LLMs autonom mit realen Diensten interagieren können.

Anwendungsfälle aus der Praxis

Mit der richtigen Konfiguration können LLMs mit praktisch jedem OpenAPI-kompatiblen Dienst interagieren. Dies eröffnet eine Vielzahl praktischer Anwendungsmöglichkeiten in Produktivitätswerkzeugen, Entwickler-APIs, Datendiensten und vielem mehr.

Beispielanwendung: Produkte aus der FakeStore-API laden und als CSV in GitHub Gist speichern

Dieses Beispiel zeigt, wie ein LLM eine zweistufige Integration mithilfe von OpenAPI-Spezifikationen und Tool-Aufrufen über SnapLogic orchestrieren kann:

  1. Daten abrufen: Produktdaten aus der FakeStore-API abrufen.
  2. Transformieren und hochladen: Formatieren Sie die Daten als CSV und veröffentlichen Sie sie als öffentlichen GitHub Gist mithilfe der Gist-API von GitHub.

Hauptpipeline (Download)

pawit_roy_12-1744903361205.png

Loop Pipeline (Download, GitHub-OpenAPI-Datei, gefälschte Store-OpenAPI-Datei)

pawit_roy_13-1744903375616.png

Aufforderung an LLM

„Laden Sie alle Produkte aus der FakeStore-API und laden Sie sie als CSV-Datei auf GitHub Gist hoch.“

Pipeline-Durchflussausfall

Schritt 1: Aufruf des FakeStore-API-Tools

  • OpenAPI-Tool: FakeStore-API-Spezifikation (über URL oder Datei geladen).
  • LLM-Aufgabe: Erkennen Sie den verfügbaren Endpunkt „/products“ und lösen Sie eine GET-Anfrage aus, um die vollständige Liste der Produkte abzurufen.
  • Tool Calling Snap Output: URL aufgelöst zu https://fakestoreapi.com/products, Methode GET, keine Authentifizierung erforderlich.

Schritt 2: Aufruf des GitHub Gist API-Tools

  • OpenAPI-Tool: GitHub Gist API-Spezifikation mit tokenbasierter Authentifizierung, definiert in sl_tool_metadata.
  • LLM-AufgabeVerwenden Sie den Endpunkt POST /gists und erstellen Sie den Request-Body mit:
    • Beschreibung: z. B. „FakeStore-Produkte exportieren“
    • öffentlich: wahr
    • files: A JSON object with one file (e.g., “products.csv”: { content: “<csv data>” })

Schritt 3: Fassen Sie das Ergebnis zusammen.

  • LLM-Aufgabe: Extrahieren und präsentieren Sie wichtige Details aus der endgültigen Gist-API-Antwort, wie z. B.:
    • Gesamtzahl der exportierten Produkte

    • Link zum erstellten Gist (z. B. html_url)
    • Bestätigungsmeldung für den Benutzer

Endergebnis

pawit_roy_14-1744903779694.png
pawit_roy_15-1744903786829.png
Porträtfoto von Pawit Aiemvaravutigul
Software-Entwickler bei SnapLogic
Kategorie: Technik