Questo articolo presenta un nuovo Snap denominato "Multi Pipeline Function Generator". Il Multi Pipeline Function Generator è progettato per prendere le pipeline esistenti nel progetto SnapLogic e trasformarne le configurazioni in definizioni di funzioni per la chiamata di strumenti basati su LLM.
Consente di ottenere i seguenti risultati:
- Sostituisce la catena esistente di generatori di funzioni, riducendo così la lunghezza della pipeline di lavoro.
- In combinazione con i nostri aggiornamenti agli snap di chiamata degli strumenti, questo snap consente di unire più rami di chiamata degli strumenti in un unico ramo, semplificando la struttura della pipeline.
- Con esso, gli utenti possono selezionare direttamente la pipeline desiderata da utilizzare come strumento da un menu a tendina. Lo snap recupererà automaticamente il nome dello strumento, lo scopo e i parametri dalle proprietà della pipeline per generare una definizione di funzione nel formato richiesto.
Descrizione del problema
Attualmente, la complessità della pipeline dell'agente worker aumenta in modo lineare con il numero di strumenti di cui dispone. L'immagine sottostante mostra una pipeline worker con tre strumenti. Richiede tre generatori di funzioni e dispone di tre rami di chiamata strumenti per eseguire strumenti diversi.
Ciò diventa problematico quando il numero di strumenti è elevato, poiché la pipeline diventa molto lunga sia orizzontalmente che verticalmente.

Panoramica della soluzione
Un generatore di funzioni multi-pipeline può sostituire più generatori di funzioni (purché lo strumento sia una pipeline; non è applicabile se lo strumento è di un altro tipo, come OpenAPI o servizio APIM).

Inoltre, per ogni definizione dello strumento generata, include il percorso della pipeline corrispondente. Ciò consente ai componenti a valle (lo snap Pipeline Execute) di richiamare direttamente la rispettiva pipeline dello strumento con il percorso, come mostrato di seguito.

Lo snap Multi Pipeline Function Generator consente agli utenti di selezionare più pipeline di strumenti contemporaneamente tramite menu a tendina. Legge i dati necessari per generare la definizione della funzione dalle proprietà della pipeline. Ovviamente, ciò richiede che i dati siano stati precedentemente impostati nelle proprietà della pipeline (verrà spiegato più avanti). L'immagine sottostante mostra le impostazioni per questo snap.

Come utilizzare lo Snap
Per utilizzare questo snap, è necessario:
- Inserisci le informazioni necessarie per generare la definizione della funzione nelle proprietà della tua pipeline di strumenti.
- Il nome della pipeline diventerà il nome della funzione.
- Le informazioni riportate alla voce "info -> scopo" costituiranno la descrizione della funzione.
- Ogni chiave nella specifica OpenAPI verrà trattata come un parametro, quindi sarà NECESSARIO aggiungere anche i parametri di input previsti all'elenco dei parametri della pipeline.
- Si noti che nell'attuale progettazione, i parametri della pipeline qui specificati vengono utilizzati esclusivamente per generare la definizione della funzione. Quando si utilizzano i parametri all'interno della pipeline, non è necessario recuperarne i valori utilizzando i parametri della pipeline. È invece possibile accedere direttamente ai valori degli argomenti dal documento di input, come determinato dal modello in base alla definizione della funzione.
- Quindi, è possibile selezionare questa pipeline come strumento dal menu a discesa nello snap Multi Pipeline Function Generator.
- Nel secondo output dello strumento che richiama snap, è necessario mantenere solo un ramo. Nell'esecuzione della pipeline snap, è possibile utilizzare direttamente l'espressione
$sl_tool_metadata.pathper recuperare dinamicamente il percorso della pipeline dello strumento richiamato. Vedi immagine sotto.
Di seguito è riportato un esempio delle proprietà della pipeline per lo strumento "CRM_insight" a titolo di riferimento.



Di seguito è riportata la pagina delle impostazioni dello snap del generatore di funzioni originale a titolo di confronto. Come si può notare, le informazioni richieste sono le stesse. La differenza è che ora inseriamo direttamente queste informazioni nelle proprietà della pipeline.


Maggiori dettagli sul design
Anche lo strumento di richiamo snap è stato aggiornato per supportare $sl_tool_metadata.path, poiché la risposta iniziale del modello non include il percorso della pipeline necessario. Dopo che lo strumento che chiama snap riceve gli strumenti che il modello deve chiamare, aggiunge il sl_tool_metadata contenente il percorso della pipeline verso la risposta del modello e lo invia alla seconda vista di output dello snap. Questo ci permette di utilizzarlo nello snap di esecuzione della pipeline in un secondo momento. Questa funzione è supportata per la chiamata di strumenti con i pacchetti snap Amazon Bedrock, OpenAI, Azure OpenAI e Google GenAI.

Il percorso della pipeline può accettare come input sia una stringa che un elenco.

Attivando la modalità "Aggregate input" (Aggregazione input), è possibile combinare più documenti di input in un unico documento di definizione delle funzioni per l'output, in modo simile a quello di un gate snap.
Ciò può essere utile in scenari come questo: si utilizza uno snap elenco SnapLogic per enumerare tutte le pipeline all'interno di un progetto, quindi si utilizza uno snap filtro per selezionare le pipeline degli strumenti desiderati e infine si utilizza il generatore di funzioni multi-pipeline per convertire questa serie di pipeline in definizioni di funzioni.


Esempi di pipeline
Scarica qui gli esempi di pipeline.
Conclusione
In sintesi, lo snap Multi Pipeline Function Generator semplifica la creazione di definizioni di funzioni per la pipeline come strumento nelle pipeline degli agenti worker. Ciò riduce significativamente la lunghezza della pipeline in scenari con numerosi strumenti e, associando le informazioni della pipeline direttamente alla pipeline stessa, ne migliora la gestibilità complessiva. Inoltre, la sua applicabilità si estende a vari provider.



