Generatore di funzioni APIM: integra i tuoi servizi APIM come strumenti per LLM

Panida (Chompoo) Nimnual, primo piano
6 lettura minima
Riassumere questo con l'AI

Con la continua evoluzione dei modelli linguistici di grandi dimensioni (LLM), questi stanno diventando potenti strumenti di automazione intelligente, in grado di interpretare il linguaggio naturale e di eseguire azioni tramite la chiamata di strumenti esterni. In SnapLogic, questa funzionalità è supportata dalle pipeline degli agenti LLM, in cui le definizioni delle funzioni, siano esse create manualmente, costruite dalle pipeline SnapLogic o derivate dalle specifiche OpenAPI, possono essere trasformate in strumenti richiamabili che gli LLM utilizzano per interagire con i sistemi esterni.

La gestione delle API (APIM) di SnapLogic svolge un ruolo fondamentale in questo processo. APIM offre un modo moderno e flessibile per progettare, proteggere e pubblicare API direttamente all'interno della piattaforma Snaplogic. Con il supporto per il versioning dei servizi, la configurazione delle policy e un DeveloperHub per la scoperta delle API, APIM semplifica la gestione e il riutilizzo delle API in vari progetti e casi d'uso. Molti utenti si affidano già ad APIM per esporre la logica di business critica attraverso API ben strutturate e riutilizzabili che supportano un'ampia gamma di integrazioni e flussi di lavoro.

Tuttavia, il collegamento di queste API alla chiamata dello strumento LLM ha tradizionalmente comportato un notevole sforzo manuale, tra cui:

  • Difficoltà nell'individuare le versioni e gli endpoint del servizio APIM a livello di Snap
  • Riscrittura delle descrizioni delle API e delle definizioni dei parametri già definiti nel servizio APIM
  • Configurazione di più snap del generatore di funzioni
  • Mantenimento manuale delle definizioni degli strumenti per rimanere sincronizzati con gli aggiornamenti del servizio APIM

Lo Snap APIM Function Generator affronta queste sfide automatizzando l'intero processo di configurazione. Si collega direttamente a una versione del servizio APIM e genera un elenco di definizioni di funzioni in formato interno Snaplogic utilizzando metadati live da utilizzare con lo Snap Tool Calling e gli Snap downstream correlati.

Eliminando la necessità di configurazioni manuali e riflettendo automaticamente eventuali aggiornamenti apportati al servizio APIM, questo Snap contribuisce a mantenere la coerenza, ridurre i tempi di configurazione e semplificare l'integrazione. Offre un modo rapido e affidabile per trasformare una versione esistente del servizio APIM in strumenti richiamabili per LLM, consentendo un'automazione più efficiente.

Generatore di funzioni APIM Snap

ChompooPanida_0-1747209976910.jpeg

Proprietà Snap

  • Percorso del progetto: selezionare il percorso del progetto che contiene il servizio APIM di destinazione.
  • Nome del servizio: scegli il nome del servizio da utilizzare. Vengono forniti suggerimenti in base al percorso del progetto selezionato.
  • Versione: specificare la versione del servizio selezionato. I suggerimenti vengono forniti in base al nome del servizio selezionato.
  • URL di base: specificare l'URL di base utilizzato per richiamare l'API. I suggerimenti vengono forniti in base al Plex selezionato nella versione del servizio APIM.
  • Tipo di contenuto preferito: specificare il tipo di contenuto desiderato per le chiamate API.
  • Tipo di filtro: determina come vengono selezionate le API all'interno della versione del servizio.
  • Input aggregato: quando è abilitato, tutti i documenti in entrata vengono combinati in un unico elenco di definizioni di funzioni.

Opzioni tipo filtro

Snap supporta tre tipi di filtro per determinare quali API della versione del servizio APIM selezionata sono incluse nelle definizioni delle funzioni:

  • Utilizza tutti i percorsi
    Questa opzione include tutti i percorsi e i metodi API disponibili dalla versione del servizio selezionata. È il modo più semplice per esporre l'intero set di API senza ulteriori filtri.
  • Tag
    Questa opzione consente di specificare uno o più tag. Qualsiasi API che includa almeno uno dei tag specificati, a livello di endpoint, percorso o metodo, verrà inclusa nelle definizioni delle funzioni generate. Il filtraggio basato sui tag è utile per organizzare le API in gruppi significativi. Ad esempio, è possibile creare set di strumenti separati per diversi agenti, come fatturazione, ticketing, analisi o accesso in sola lettura.
    ChompooPanida_1-1747210107176.jpeg
  • Percorsi e metodi
    Questa opzione consente di definire percorsi specifici e i relativi metodi HTTP associati. Offre un controllo preciso sugli endpoint esposti all'agente LLM. Questo tipo di filtro è particolarmente utile per applicare le autorizzazioni; ad esempio, includendo solo i metodi GET, è possibile limitare un agente alle operazioni di sola lettura.
    ChompooPanida_2-1747210107083.jpeg

Questa configurazione flessibile consente di personalizzare le definizioni delle funzioni in base al proprio caso d'uso, garantendo la disponibilità delle API appropriate per i flussi di lavoro dell'agente LLM.

Output dello Snap

ChompooPanida_3-1747210229315.jpeg

Lo Snap genera un elenco di definizioni degli strumenti. Ogni definizione dello strumento include: 

  • sl_tool_metadata:
    Contiene metadati essenziali utilizzati dallo Snap di chiamata dello strumento e dagli Snap a valle per instradare e richiamare l'API corretta. Consente la risoluzione dinamica del percorso URL in base ai parametri dell'output LLM. Il
  • tipo_strumento è impostato su APIM e i metadati includono il nome del servizio, il nome della versione, il nome dell'endpoint, i tag (compresi i tag dell'endpoint, i tag del percorso e i tag del metodo) e l'URL completo dell'API.

    ChompooPanida_4-1747210229208.jpeg
  • json_schema: definisce la struttura prevista dei parametri di input per l'API. Questo schema guida l'LLM nella formattazione corretta dell'output e consente allo Snap di chiamata dello strumento di risolvere il percorso URL completo per la chiamata dell'API.

    ChompooPanida_5-1747210229154.jpeg

Questi campi vengono generati in base ai metadati live della versione del servizio APIM.

ChompooPanida_6-1747210229344.jpeg

Esempio di caso d'uso: Raccomandazione di prodotti

Per dimostrare come lo Snap APIM Function Generator semplifichi l'integrazione delle API esistenti nei flussi di lavoro LLM, consideriamo uno scenario basato su un caso d'uso nel settore della vendita al dettaglio. In questo esempio, il servizio APIM di SnapLogic denominato APIM Tool Demo, versione v1, viene utilizzato per esporre le API di un negozio di abbigliamento.

ChompooPanida_7-1747210356490.jpeg

ChompooPanida_8-1747210356346.jpeg

Questo servizio include tre endpoint:

  • /weather: API esterna proxy utilizzata per recuperare dati meteorologici in tempo reale.
  • /inventario: un'attività della pipeline SnapLogic esposta come API per accedere ai dati dei prodotti dal database del negozio.
  • /users: un'altra API di SnapLogic che consente di accedere alle informazioni relative agli utenti.

Queste API potrebbero già essere utilizzate da applicazioni esterne o strumenti interni. Con APIM Function Generator Snap, ora possono essere facilmente trasformate in strumenti richiamabili per LLM, eliminando la necessità di specifiche separate o configurazioni manuali.

In questo caso d'uso, l'obiettivo è quello di creare un agente LLM in grado di consigliare capi di abbigliamento in base alle condizioni meteorologiche attuali. Ad esempio, l'LLM potrebbe ricevere un prompt del tipo:

"Consiglia al massimo 3 articoli della categoria abbigliamento femminile presenti nel negozio in base alle condizioni meteorologiche attuali a Parigi e fornisci una motivazione."

Per supportare questo flusso di lavoro, l'endpoint /weather e alcune API nell'endpoint /inventory sono stati contrassegnati con una raccomandazione nel servizio APIM. Questo tag viene quindi utilizzato nello Snap APIM Function Generator per filtrare e includere solo le API pertinenti durante la generazione delle definizioni degli strumenti, facilitando il raggruppamento delle funzionalità correlate.

Pipeline dell'agente driver

ChompooPanida_9-1747210632301.jpeg

Messaggio di sistema: sei un assistente cordiale e disponibile dotato di alcuni strumenti; usa il tuo giudizio per decidere se utilizzare o meno tali strumenti per rispondere alle domande dell'utente.

Richiesta dell'utente: consiglia al massimo 3 articoli della categoria abbigliamento femminile presenti nel negozio in base alle condizioni meteorologiche attuali a Parigi e fornisci una motivazione.

Pipeline degli agenti operativi 

ChompooPanida_10-1747210632309.jpeg

Generazione di funzioni

Il generatore di funzioni APIM viene utilizzato per fornire la definizione dello strumento allo Snap di richiamo dello strumento

Impostazioni dello Snap:

ChompooPanida_11-1747210632438.jpeg

Uscita:

ChompooPanida_12-1747210632287.jpeg

Chiamata dello strumento

Lo Snap Tool Calling invia le definizioni degli strumenti all'LLM e genera chiamate agli strumenti con l'URL completo e le intestazioni risolte utilizzando i parametri restituiti dall'LLM. Questo output viene quindi trasmesso allo Snap Router per instradare ogni chiamata allo Snap downstream appropriato.

ChompooPanida_13-1747210632466.jpeg

Router

Router Snap è utile quando endpoint diversi richiedono una gestione specifica, come metodi di autenticazione diversi, configurazioni personalizzate o quando si utilizzano più servizi o tipi di Function Generator Snap. Sfrutta i campi di sl_tool_metadata, come il nome dell'endpoint, per indirizzare ogni chiamata dello strumento al percorso appropriato.

Esempio di espressione di percorso:

$.get("sl_tool_metadata").tool_type == "APIM" && 
$.get("sl_tool_metadata").service_name == "APIMToolsDemo" &&
$.get("sl_tool_metadata").endpoint_name == "weather"

Chiamata API

L'API viene chiamata utilizzando HTTP Client Snap. Il metodo di richiesta e l'URL vengono configurati dinamicamente utilizzando sl_tool_metadata. È necessario selezionare l'account appropriato in base alle politiche definite nel servizio APIM.

ChompooPanida_14-1747210632461.jpeg

Con questa configurazione, l'LLM può rispondere alle query utilizzando gli strumenti APIM. Di seguito è riportata la cronologia dei messaggi, che dimostra che lo strumento può essere richiamato correttamente.

ChompooPanida_15-1747210632480.jpeg

Risultato finale

ChompooPanida_16-1747210632463.jpeg

Esempi di pipeline

Conclusione

APIM Function Generator Snap semplifica l'integrazione dei servizi APIM come strumenti per LLM automatizzando la generazione delle funzioni e mantenendo le definizioni sincronizzate con i metadati API in tempo reale. Questo approccio semplificato elimina la configurazione manuale, supporta il filtraggio flessibile e trasforma le API esistenti in strumenti richiamabili, consentendo un'automazione dinamica e basata sui metadati all'interno dei flussi di lavoro LLM.

Panida (Chompoo) Nimnual, primo piano
Ingegnere software presso SnapLogic
Categoria: Tecnica