Sbloccare il potere degli LLM con l'integrazione dello strumento OpenAPI

Foto di Pawit Aiemvaravutigul
4 lettura minima
Riassumere questo con l'AI

I modelli linguistici di grandi dimensioni (LLM) stanno rivoluzionando il modo in cui interagiamo con i sistemi digitali, dagli agenti conversazionali all'automazione intelligente. Tuttavia, per sfruttare appieno le loro potenzialità, soprattutto negli ecosistemi aziendali e di sviluppo, è essenziale colmare il divario tra gli LLM e i sistemi esterni attraverso strumenti specifici, in particolare le API. È qui che OpenAPI svolge un ruolo fondamentale.

pawit_roy_0-1744902728471.png

Che cos'è OpenAPI?

OpenAPI (precedentemente Swagger) è una specifica open source che definisce un formato standard leggibile da computer per descrivere le API RESTful. Consente agli sviluppatori e ai sistemi automatizzati di comprendere la struttura di un'API, inclusi endpoint, parametri di richiesta, metodi di autenticazione e tipi di risposta, senza fare affidamento sulla documentazione tradizionale o sull'accesso al codice sorgente.

La sua adozione abbraccia settori quali la tecnologia, la finanza e la sanità, grazie alla sua interoperabilità con un'ampia gamma di strumenti e framework.

Perché OpenAPI è importante per gli LLM

L'integrazione di OpenAPI con gli LLM migliora la loro capacità di interagire con i sistemi del mondo reale. Ecco come:

  • Interfaccia universale: OpenAPI funge da ponte universale per le API RESTful, consentendo agli LLM di interagire con servizi che vanno cloud alle app di produttività.
  • Formato standardizzato: lo schema standardizzato aiuta gli LLM a interpretare accuratamente le funzionalità API, inclusi input e output previsti, senza ambiguità.
  • Creazione accelerata di strumenti: gli sviluppatori possono creare in modo efficiente strumenti compatibili con LLM analizzando direttamente le definizioni OpenAPI.
  • Integrazione perfetta: grazie all'ampio supporto degli ecosistemi di strumenti API, OpenAPI consente il rapido inserimento di agenti LLM nei flussi di lavoro esistenti.
  • Supporta Tool Calling: Tool Calling consente agli LLM di selezionare e richiamare autonomamente le API pertinenti in base alle richieste dell'utente, una funzionalità chiave resa possibile dalle descrizioni strutturate OpenAPI.

Abilitazione della chiamata dello strumento LLM con SnapLogic

Per collegare gli LLM con gli strumenti definiti da OpenAPI, lo Snap OpenAPI Function Generator svolge un ruolo fondamentale. Questo componente converte qualsiasi specifica OpenAPI in un oggetto strumento che gli LLM possono utilizzare tramite la pipeline Tool Calling in SnapLogic.

pawit_roy_1-1744902888625.png
pawit_roy_2-1744902897467.png

Opzioni di input per lo snap del generatore

Il generatore supporta diversi metodi di immissione:

  • URL: Recupera direttamente le specifiche OpenAPI da un URL fornito.
    pawit_roy_3-1744902968350.png
  • Editor di testo: Incolla le specifiche grezze in un editor integrato.
    pawit_roy_4-1744903002589.png
  • Documento di input: Passa la stringa OpenAPI come parte di un documento di input tramite espressione.pawit_roy_5-1744903037503.png
  • Caricamento file: Selezionare un file di specifiche memorizzato nell'SLDB.
    pawit_roy_6-1744903065314.png

Struttura di output

pawit_roy_7-1744903095199.png

L'output generato dallo strumento include:

  • sl_tool_metadata: metadati quali parametri di sicurezza, intestazioni e URL di base.
  • json_schema: uno schema dei parametri di input.

Questi strumenti possono essere trasferiti allo Snap Tool Calling, che risolve dinamicamente le variabili di runtime come le intestazioni e gli URL degli endpoint. Gli sviluppatori possono collegarlo a uno Snap HTTP Client per eseguire chiamate API reali basate sugli output LLM.

Passando attraverso lo strumento che chiama Snap

Quando lo strumento viene passato attraverso lo Snap di richiamo strumenti, esso elabora e risolve dinamicamente diversi componenti chiave utilizzando i metadati e gli input dell'utente:

  • URL risolto: l'URL di base e i parametri del percorso delle specifiche OpenAPI vengono combinati con i valori forniti dall'utente per generare l'endpoint API finale.
  • Intestazioni: le intestazioni personalizzate o le intestazioni relative al tipo di contenuto vengono compilate in base alle definizioni di sicurezza OpenAPI o al contesto fornito dall'LLM.
pawit_roy_8-1744903190429.png
pawit_roy_9-1744903209024.png

Questo output risolto semplifica l'esecuzione diretta della chiamata API da parte degli snap a valle (come HTTP Client).

Strumenti di azione con HTTP Client Snap

pawit_roy_10-1744903267938.png

Una volta che lo Snap Tool Calling genera i dati risolti relativi agli strumenti, questo output può essere convogliato direttamente in uno Snap HTTP Client per l'esecuzione:

pawit_roy_11-1744903334575.png

Questa configurazione trasforma efficacemente una definizione OpenAPI statica in un flusso di lavoro completamente dinamico ed eseguibile, consentendo agli LLM di interagire autonomamente con servizi reali.

Casi d'uso reali

Con la configurazione corretta, gli LLM possono interagire praticamente con qualsiasi servizio conforme a OpenAPI. Ciò apre la strada a una vasta gamma di applicazioni pratiche che spaziano dagli strumenti di produttività alle API per sviluppatori, ai servizi dati e altro ancora.

Esempio di utilizzo: caricare prodotti dall'API FakeStore e salvarli come CSV in GitHub Gist

Questo esempio mostra come un LLM può orchestrare un'integrazione in due fasi utilizzando le specifiche OpenAPI e la chiamata di strumenti tramite SnapLogic:

  1. Recupera dati: recupera i dati dei prodotti dall'API FakeStore.
  2. Trasforma e carica: formatta i dati in formato CSV e pubblicali come GitHub Gist pubblico utilizzando l'API Gist di GitHub.

Pipeline principale (download)

pawit_roy_12-1744903361205.png

Loop Pipeline (download, file openapi github, file openapi negozio fittizio)

pawit_roy_13-1744903375616.png

Suggerimento per LLM

"Carica tutti i prodotti dall'API FakeStore e caricali come file CSV su GitHub Gist."

Interruzione del flusso nella conduttura

Passaggio 1: Richiamo dello strumento API FakeStore

  • Strumento OpenAPI: specifiche API FakeStore (caricate tramite URL o file).
  • Compito LLM: riconoscere l'endpoint /products disponibile e attivare una richiesta GET per recuperare l'elenco completo dei prodotti.
  • Tool Calling Snap Output: URL risolto in https://fakestoreapi.com/products, metodo GET, nessuna autenticazione richiesta.

Passaggio 2: Richiamo dello strumento API GitHub Gist

  • Strumento OpenAPI: specifiche API GitHub Gist, con autenticazione basata su token definita in sl_tool_metadata.
  • Compito LLM: Utilizza l'endpoint POST /gists e costruisci il corpo della richiesta con:
    • descrizione: ad esempio, "Esportazione prodotti FakeStore"
    • pubblico: vero
    • files: A JSON object with one file (e.g., “products.csv”: { content: “<csv data>” })

Fase 3: Riassumere il risultato

  • Compito LLM: Estrai e presenta i dettagli chiave dalla risposta finale dell'API Gist, come ad esempio:
    • Numero totale di prodotti esportati

    • Link al Gist creato (ad esempio, html_url)
    • Messaggio di conferma per l'utente

Risultato finale

pawit_roy_14-1744903779694.png
pawit_roy_15-1744903786829.png
Foto di Pawit Aiemvaravutigul
Ingegnere software presso SnapLogic
Categoria: Tecnica