Dieser Artikel stellt einen neuen Snap namens „Multi Pipeline Function Generator“ vor. Der Multi Pipeline Function Generator wurde entwickelt, um vorhandene Pipelines in Ihrem SnapLogic-Projekt zu übernehmen und deren Konfigurationen in Funktionsdefinitionen für LLM-basierte Tool-Aufrufe umzuwandeln.
Es erreicht Folgendes:
- Es ersetzt die bestehende Kette von Funktionsgeneratoren und reduziert somit die Länge der Arbeiter-Pipeline.
- In Kombination mit unseren Aktualisierungen der Tool-Aufruf-Snaps ermöglicht dieser Snap die Zusammenführung mehrerer Tool-Aufruf-Zweige zu einem einzigen Zweig, wodurch die Pipeline-Struktur vereinfacht wird.
- Damit können Benutzer direkt aus einem Dropdown-Menü die gewünschte Pipeline auswählen, die als Tool verwendet werden soll. Der Snap ruft automatisch den Namen, den Zweck und die Parameter des Tools aus den Pipeline-Eigenschaften ab, um eine Funktionsdefinition im erforderlichen Format zu generieren.
Problemstellung
Derzeit steigt die Komplexität der Agent-Worker-Pipeline linear mit der Anzahl der verfügbaren Tools. Die folgende Abbildung zeigt eine Worker-Pipeline mit drei Tools. Sie erfordert drei Funktionsgeneratoren und verfügt über drei Tool-Aufrufzweige, um verschiedene Tools auszuführen.
Dies wird problematisch, wenn die Anzahl der Tools groß ist, da die Pipeline sowohl horizontal als auch vertikal sehr lang wird.

Lösungsübersicht
Ein Multi-Pipeline-Funktionsgenerator-Snap kann mehrere Funktionsgeneratoren ersetzen (sofern es sich bei dem Tool um eine Pipeline handelt; dies gilt nicht, wenn das Tool einem anderen Typ angehört, z. B. OpenAPI oder APIM-Dienst).

Darüber hinaus enthält jede ausgegebene Werkzeugdefinition den entsprechenden Pfad der Pipeline. Dadurch können nachgelagerte Komponenten (der Pipeline Execute Snap) die jeweilige Werkzeug-Pipeline direkt über den Pfad aufrufen, wie unten dargestellt.

Mit dem Snap „Multi Pipeline Function Generator“ können Benutzer über Dropdown-Menüs mehrere Werkzeugpipelines gleichzeitig auswählen. Er liest die für die Generierung der Funktionsdefinition erforderlichen Daten aus den Pipeline-Eigenschaften aus. Dazu müssen die Daten natürlich zuvor in den Pipeline-Eigenschaften eingerichtet worden sein (wird später erläutert). Die folgende Abbildung zeigt die Einstellungen für diesen Snap.

So verwenden Sie den Snap
Um diesen Snap zu verwenden, müssen Sie:
- Geben Sie die erforderlichen Informationen zur Generierung der Funktionsdefinition in den Eigenschaften Ihrer Tool-Pipeline ein.
- Der Name der Pipeline wird zum Funktionsnamen.
- Die Informationen unter „Info -> Zweck“ werden zur Funktionsbeschreibung.
- Jeder Schlüssel in Ihrer OpenAPI-Spezifikation wird als Parameter behandelt, daher müssen Sie AUCH die erwarteten Eingabeparameter zur Liste der Pipeline-Parameter hinzufügen.
- Bitte beachten Sie, dass in der aktuellen Version die hier angegebenen Pipeline-Parameter ausschließlich zur Generierung der Funktionsdefinition verwendet werden. Wenn Sie Parameter innerhalb der Pipeline verwenden, müssen Sie deren Werte nicht über Pipeline-Parameter abrufen. Stattdessen können Sie direkt auf die Argumentwerte aus dem Eingabedokument zugreifen, die vom Modell basierend auf der Funktionsdefinition ermittelt werden.
- Anschließend können Sie diese Pipeline als Werkzeug aus dem Dropdown-Menü im Snap „Multi Pipeline Function Generator“ auswählen.
- In der zweiten Ausgabe des Tools „snap“ müssen wir nur einen Zweig behalten. In der Pipeline „execute snap“ können wir den Ausdruck direkt verwenden.
$sl_tool_metadata.pathum den Pfad der aufgerufenen Tool-Pipeline dynamisch abzurufen. Siehe Abbildung unten.
Nachfolgend finden Sie ein Beispiel für die Pipeline-Eigenschaften des Tools „CRM_insight“ zu Ihrer Information.



Unten sehen Sie die Einstellungsseite des ursprünglichen Funktionsgenerator-Snaps zum Vergleich. Wie Sie sehen können, sind die erforderlichen Informationen dieselben. Der Unterschied besteht darin, dass wir diese Informationen nun direkt in die Eigenschaften der Pipeline eintragen.


Weitere Designdetails
Das Tool „snap“ wurde ebenfalls aktualisiert, um Folgendes zu unterstützen: $sl_tool_metadata.path, da die erste Antwort des Modells nicht den erforderlichen Pipeline-Pfad enthält. Nachdem das Tool, das den Snap aufruft, die vom Modell benötigten Tools erhalten hat, fügt es den sl_tool_metadata enthält den Pipeline-Pfad zur Antwort des Modells und gibt ihn an die zweite Ausgabeansicht des Snaps aus. Dadurch können wir ihn später im Pipeline-Ausführungssnap verwenden. Diese Funktion wird für den Aufruf von Tools mit Amazon Bedrock-, OpenAI-, Azure OpenAI- und Google GenAI-Snap-Paketen unterstützt.

Der Pipeline-Pfad kann entweder eine Zeichenfolge oder eine Liste als Eingabe akzeptieren.

Durch Aktivieren des Modus „Aggregate input“ (Eingaben aggregieren) können mehrere Eingabedokumente zu einem einzigen Funktionsdefinitionsdokument für die Ausgabe kombiniert werden, ähnlich wie bei einem Gate Snap.
Dies kann in folgenden Szenarien nützlich sein: Sie verwenden einen SnapLogic-Listen-Snap, um alle Pipelines innerhalb eines Projekts aufzulisten, wählen dann mit einem Filter-Snap die gewünschten Tool-Pipelines aus und wandeln diese Reihe von Pipelines schließlich mit dem Multi-Pipeline-Funktionsgenerator in Funktionsdefinitionen um.


Beispiel-Pipelines
Beispiel-Pipelines hier herunterladen.
Schlussfolgerung
Zusammenfassend lässt sich sagen, dass der Multi-Pipeline-Funktionsgenerator die Erstellung von Funktionsdefinitionen für Pipelines als Werkzeug in Agent-Worker-Pipelines optimiert. Dies reduziert die Pipeline-Länge in Szenarien mit zahlreichen Tools erheblich und verbessert durch die direkte Verknüpfung der Pipeline-Informationen mit der Pipeline die allgemeine Verwaltbarkeit. Darüber hinaus ist er für verschiedene Anbieter einsetzbar.



