La chiamata degli strumenti coinvolge diversi componenti chiave che collaborano per facilitare l'interazione dell'AI con strumenti esterni. I moderni LLM, tra cui Claude di Anthropic, Llama 3 di Meta, Mistral e IBM® Granite, possiedono tutti funzionalità di chiamata agli strumenti, ma li gestiscono in modo leggermente diverso.
Il primo componente è il modello AI stesso, che riconosce quando non dispone di conoscenze sufficienti o necessita di una funzione esterna per completare una richiesta.
Successivamente, il meccanismo di selezione degli strumenti identifica le dipendenze appropriate per gestire il compito specifico, che si tratti di un motore di ricerca, di un database o di una risorsa di calcolo.
Quando viene selezionato uno strumento, entra in gioco l'interfaccia API, che consente all'AI di inviare query strutturate e ricevere risposte in un formato leggibile da una macchina.
Infine, il sistema di elaborazione delle risposte aiuta a garantire che i dati recuperati siano formattati correttamente e presentati all'utente in modo significativo.
Passaggio 1: riconoscimento della necessità di uno strumento
Supponiamo che un utente chieda a un LLM: "Che tempo fa a San Francisco in questo momento?" L'AI utilizza il Natural Language Understanding per riconoscere che sono necessari dati meteorologici in tempo reale, che non possono essere derivati dalla sua base di conoscenza statica.
Viene assegnato automaticamente un ID univoco alla richiesta di un modello di utilizzare uno strumento, che funge da numero di tracciamento per collegare la richiesta al suo risultato.
Passaggio 2: selezione dello strumento
L'AI identifica lo strumento più adatto per il compito da svolgere, in questo caso consultando un database meteorologico aggiornato. Questo passaggio contribuisce a garantire che le informazioni recuperate siano accurate e pertinenti.
Ogni strumento contiene metadati e informazioni strutturate, come un nome univoco dello strumento (o nome della funzione), che aiuta il modello e il sistema a identificarlo correttamente. Altri metadati includono descrizione, parametri dello strumento e i tipi di input e output richiesti.
Il modello esegue una scelta dello strumento dopo aver stabilito che i dati devono essere ottenuti da una serie di strumenti disponibili.
I modelli sono formati di prompt strutturati che indicano al modello quale strumento utilizzare e quali argomenti (o "arg") fornire, consentendo interazioni più controllate e strutturate con le API.
Nel contesto del tool calling, gli arg si riferiscono agli input strutturati che vengono passati a uno strumento o a una funzione quando viene avviata da un modello generativo. Questi argomenti definiscono i parametri che lo strumento richiede per essere eseguito correttamente.
Combinare il tool calling con la retrieval-augmented generation (RAG) migliora le funzionalità dell'AI, consentendo ai sistemi di recuperare sia i dati strutturati che i dati non strutturati prima di generare output strutturati.
Questo approccio migliora la rilevanza contestuale recuperando i dati più pertinenti prima di generare una risposta, portando a output più informati e accurati.
Inoltre, riduce al minimo il sovraccarico delle API consolidando più recuperi in un unico passaggio, riducendo latenza e costi. La RAG è più flessibile rispetto al tool calling tradizionale, poiché consente ai modelli di attingere da fonti diverse, il che la rende altamente adattabile a vari ambiti.
A differenza della struttura rigida dell'uso tradizionale degli strumenti, la RAG consente un'integrazione più fluida delle informazioni recuperate con il ragionamento e la generazione, producendo risposte più dinamiche e approfondite.
Passaggio 3: creazione e invio di una query
L'AI formula quindi una richiesta strutturata che lo strumento o l'API possono comprendere.
Ogni strumento è associato a funzioni specifiche che ne definiscono il funzionamento. Queste funzioni si basano su una documentazione API, che fornisce le istruzioni su come interagire con l'API dello strumento, inclusi gli URL degli endpoint, i metodi di richiesta e i formati di risposta.
Per accedere a un'API esterna, molti servizi richiedono una chiave API, un identificatore univoco che concede l'autorizzazione a effettuare richieste. Quando lo strumento viene selezionato e i parametri vengono impostati, viene effettuata una chiamata API per recuperare i dati richiesti. Questa richiesta viene in genere inviata tramite HTTP a un server esterno.
Passaggio 4: ricezione ed elaborazione della risposta
Lo strumento esterno restituisce i dati. L'AI deve quindi analizzare i risultati dello strumento. Per una richiesta meteo, l'API potrebbe rispondere con un oggetto schema JSON contenente temperatura, umidità e velocità del vento. L'AI filtra e struttura questi dati per riassumere una risposta significativa per l'utente.
Passaggio 5: presentazione delle informazioni o azione
L'AI fornisce le informazioni elaborate in modo intuitivo. Se la richiesta prevede un'automazione, come l'impostazione di un promemoria, l'AI confermerà che l'azione è stata pianificata.
Passaggio 6: affinamento della ricerca
Se l'utente richiede maggiori dettagli o modifiche, l'AI può ripetere il processo con una query modificata, contribuendo a garantire che continui a perfezionare la risposta in base alle esigenze degli utenti.
LangChain è comunemente utilizzato nel tool calling fornendo un framework open source per integrare strumenti esterni, API e funzioni con i LLM. Aiuta a gestire l'esecuzione degli strumenti, la gestione degli input o degli output e il processo decisionale sensibile al contesto.
Ad esempio, LangChain gestisce gli argomenti delle funzioni con un parser per le richieste dell'utente, estraendo i parametri rilevanti e formattandoli correttamente per lo strumento. A differenza del semplice tool calling, LangChain può memorizzare e richiamare gli output degli strumenti precedenti, consentendo migliori interazioni in più turni.
LangChain consente la combinazione di più strumenti in una sequenza, consentendo workflow più complessi. Ad esempio, può prima recuperare i dati dall'API meteo e poi utilizzare uno strumento separato per consigliare l'abbigliamento adatto in base alle previsioni.