Generatore di funzioni multi-pipeline: semplifica la pipeline degli agenti operativi

Foto di Luna Wang
5 lettura minima
Riassumere questo con l'AI

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:

  1. Sostituisce la catena esistente di generatori di funzioni, riducendo così la lunghezza della pipeline di lavoro.
  2. 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.
  3. 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.

immagine-20250408-214120.png
Pipeline attuale degli agenti con tre strumenti

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).

immagine-20250408-215436.png
 Nuovo flusso di lavoro degli agenti utilizzando il "Generatore di funzioni multi-flusso"

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.

immagine-20250408-221513.png

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.

immagine-20250408-220049.png
Impostazioni Snap 

Come utilizzare lo Snap

Per utilizzare questo snap, è necessario:

  1. Inserisci le informazioni necessarie per generare la definizione della funzione nelle proprietà della tua pipeline di strumenti.
    1. Il nome della pipeline diventerà il nome della funzione.
    2. Le informazioni riportate alla voce "info -> scopo" costituiranno la descrizione della funzione.
    3. 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.
      1. 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.
  2. Quindi, è possibile selezionare questa pipeline come strumento dal menu a discesa nello snap Multi Pipeline Function Generator.
  3. 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.path per 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.

immagine-20250414-233258.png
immagine-20250408-223734.png

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.

immagine-20250408-224438.png
Fase 3 – ridurre il numero di rami

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.

immagine-20250408-224939.png

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

immagine-20250408-225944.png

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.

immagine-20250408-232857.png
immagine-20250408-232321.png

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.

Foto di Luna Wang
Ingegnere software presso SnapLogic
Categoria: Tecnica