In questo tutorial creiamo un agente AI ReACT (Reasoning and Action) con il framework open source LangGraph utilizzando un modello IBM Granite con IBM® watsonx.ai API in Python. Il caso d'uso sarà la gestione delle richieste di assistenza IT esistenti e la creazione di nuove.
Un agente di intelligenza artificiale (AI) è un sistema o programma in grado di eseguire autonomamente attività per conto di un utente o di un altro sistema, progettandone il workflow e utilizzando gli strumenti disponibili. Gli agenti di AI generativa utilizzano le tecniche avanzate di elaborazione del linguaggio naturale (NLP) dei modelli linguistici di grandi dimensioni (LLM) per comprendere e rispondere passo dopo passo agli input degli utenti e determinare quando ricorrere a strumenti esterni. Una componente chiave degli agenti AI è il ragionamento. Dopo avere acquisito nuove informazioni tramite il tool calling, l'intervento umano o altri agenti, il paradigma del ragionamento guida i passi successivi dell'agente.
Con ogni azione e risposta di ogni strumento, il paradigma ReACT (Reasoning and Action) indica agli agenti di "pensare" e pianificare i passi successivi. Questo ragionamento lento e graduale ci offre insight su come l'agente utilizza il contesto aggiornato per formulare conclusioni. Poiché questo processo di riflessione è continuo, viene spesso definito ciclo think-act-observe ed è un tipo di prompt chain-of-thought.
Questo tutorial utilizza il framework LangGraph, un framework di agenti AI open source progettato per creare, implementare e gestire complessi workflow di agenti di AI generativa. La funzione predefinita
All'interno di LangGraph, la funzione "state" funge da banca di memoria che registra e tiene traccia di tutte le informazioni preziose elaborate da ogni iterazione del sistema di AI. Questi grafici stateful consentono agli agenti di ricordare informazioni passate e un contesto prezioso. La struttura ciclica del grafico ReAct viene utilizzata quando il risultato di una fase dipende dai passaggi precedenti del ciclo. I nodi, o "attori", nel grafico codificano la logica degli agenti e sono collegati da edge. Gli edge sono essenzialmente funzioni Python che determinano il nodo successivo da eseguire in base allo stato corrente.
Per creare un progetto watsonx.ai è necessario un account IBM Cloud.
Per utilizzare l'application programming interface (API) watsonx, è necessario completare i seguenti passaggi. Nota: puoi accedere a questo tutorial anche su GitHub.
Accedi a watsonx.ai usando il tuo account IBM Cloud.
Crea un'istanza di servizio watsonx.ai Runtime (seleziona l'area geografica appropriata e scegli il piano Lite, che è un'istanza gratuita).
Genera una chiave API (application programming interface).
Per iniziare a implementare agenti su watsonx.ai facilmente, clona questo repository GitHub e accedi al progetto dell'agente ReAct di assistenza IT. Per farlo, puoi eseguire il seguente comando nel tuo terminale.
Installa quindi poetry se non lo hai già installato. Poetry è uno strumento per la gestione delle dipendenze e del packaging di Python.
Quindi, attiva il tuo ambiente virtuale.
Anziché usare il comando
L'aggiunta di una directory di lavoro a PYTHONPATH è necessaria per i passaggi successivi. Nel tuo terminale esegui:
Per configurare il tuo ambiente, segui le istruzioni nel file README.md su Github. Questa configurazione richiede l'esecuzione di diversi comandi sull'IDE o sulla riga di comando.
Nel file
Il nostro agente richiede una fonte di dati per fornire informazioni aggiornate e aggiungere nuovi dati. Memorizziamo il nostro file di dati in IBM Cloud Object Storage.
Per fornire all'agente ReACT la funzionalità di gestione dei ticket IT, dobbiamo connetterci alla nostra fonte di dati in IBM Cloud Object Storage. Per questo passaggio, possiamo utilizzare il comando
In
Il nostro agente sarà in grado di leggere e scrivere i dati nel file. Per prima cosa, creiamo insieme lo strumento per leggere i dati utilizzando il LangChain
Abbiamo aggiunto questo strumento
Successivamente abbiamo aggiunto lo strumento
Questo strumento prende in considerazione come argomenti la descrizione del problema da parte dell'utente e l'urgenza del problema. Una nuova riga viene aggiunta al nostro file in COS con queste informazioni, quindi viene creato un nuovo ticket. In caso contrario, viene generata un'eccezione.
Un ultimo strumento che dobbiamo aggiungere al nostro
Per garantire al nostro agente l'accesso a questi strumenti, li abbiamo aggiunti alla lista
Questi strumenti vengono importati file
Prima di distribuire il tuo agente, ricordati di completare tutte le informazioni necessarie nel file
Ci sono tre modi per chattare con il tuo agente.
Esegui lo script per l'esecuzione del servizio di AI locale.
L'opzione finale consiste nell'accedere all'agente nello spazio di implementazione su watsonx.ai. Per fare questo, seleziona "Deployments" nel menu a sinistra. Quindi, seleziona il tuo spazio di implementazione, seleziona la scheda "Assets", seleziona il tuo asset
Per eseguire lo script di implementazione, inizializza la variabile
Il
Esegui quindi lo script di implementazione.
Esegui ora lo script per interrogare l'implementazione.
Ai fini di questo tutorial, scegliamo l'opzione 2 e interroghiamo il nostro agente distribuito su watsonx.ai sotto forma di chatbot agentico. Forniamo all'agente alcuni prompt che richiederebbero l'uso di strumenti. Dopo avere seguito i passaggi elencati nell'opzione 3, dovresti vedere un'interfaccia di chat su watsonx.ai. Lì possiamo digitare il nostro prompt.
Innanzitutto, verifichiamo se lo strumento
Come si può vedere nella risposta finale dell'agente, il sistema AI ha utilizzato con successo la risoluzione dei problemi per creare un nuovo ticket con lo strumento
Fantastico! L'agente ha aggiunto correttamente il ticket al file.
In questo tutorial, hai creato un agente con il framework ReAct che utilizza il processo decisionale per risolvere attività complesse come il recupero e la creazione di richieste di assistenza. Esistono diversi modelli AI che consentono la chiamata di strumenti agentici come Gemini di Google, Granite di IBM e GPT-4 di OpenAI. Nel nostro progetto, abbiamo utilizzato un modello AI IBM Granite tramite l'API watsonx.ai. Il modello si è comportato come previsto sia a livello locale che quando è stato implementato su watsonx.ai. Come prossimo passo, controlla i modelli LlamaIndex e crewAI multiagente, disponibili nel repository watsonx-developer-hub GitHub per la creazione di agenti AI.
Consenti agli sviluppatori di creare, distribuire e monitorare agenti AI con lo studio IBM watsonx.ai.
Migliora la produttività con uno dei set di funzionalità più completi del settore che aiuta le aziende a creare, personalizzare e gestire agenti e assistenti AI.
Ottieni un risparmio sui costi di oltre il 90% con i modelli più piccoli e aperti di Granite, progettati per l'efficienza degli sviluppatori. Questi modelli pensati per le imprese offrono prestazioni eccellenti rispetto ai benchmark di sicurezza e in un'ampia gamma di attività aziendali, dalla cybersecurity alla RAG.