Con l'evoluzione dell'ecosistema degli agenti AI, alcune aziende segnalano esitazioni riguardo all'adozione su larga scala di questi agenti autonomi.1 Tra le principali sfide figurano governance, aspetti etici, collaborazione tra esseri umani e AI, nonché distribuzione e scalabilità. Tuttavia, creare agenti AI affidabili non deve essere complicato. Con IBM watsonx Orchestrate, queste preoccupazioni possono essere affrontate in un'unica piattaforma. In questo tutorial imparerai a utilizzare Langflow e watsonx Orchestrate per creare agenti AI affidabili, scalabili e pronti per l'uso in ambito aziendale.
Langflow è un framework open source basato su Python per la creazione di agenti AI e altre applicazioni di AI. Langflow è stato originariamente costruito su LangChain, il suo framework di riferimento. Anche LangGraph, un'altra piattaforma della stessa famiglia, viene utilizzata per sviluppare sistemi agentici basati su architetture a grafo. Ciò che distingue Langflow è la sua interfaccia intuitiva drag and drop, con cui gli utenti possono collegare i componenti degli agenti AI per progettare workflow personalizzati oppure iniziare da modelli predefiniti. In alternativa a questo approccio low-code o no-code, gli sviluppatori possono creare componenti personalizzati e integrare flussi di agenti, definiti passo dopo passo, nel codice delle applicazioni esistenti utilizzando l'API Langflow. In questo tutorial su Langflow, esploriamo come costruire e distribuire agenti nei seguenti modi:
Entrambi gli approcci corrispondono a una sezione di questo tutorial. Nota: puoi accedere a questo tutorial anche su GitHub.
Iniziamo!
Questo tutorial richiede:
Attenzione: senza questi prerequisiti, non sarà possibile riprodurre questo tutorial.
Nel terminale, esegui il seguente comando. Ti verrà chiesto di accedere al tuo account IBM Cloud utilizzando il tuo IBMid. Se possiedi più account, dovrai selezionarne uno.
Nota: credenziali rifiutate? Potresti essere un utente federato. Accedi di nuovo utilizzando il flag
Saprai che l'accesso è andato a buon fine quando verrà visualizzato un output simile al seguente.
Output
Nota: se noti che la regione non è corretta, esegui
Per vedere le tue risorse Cloud, esegui
Output
Successivamente, seleziona la risorsa specifica eseguendo
Il risultato dovrebbe essere simile al seguente output.
Output
Con IBM Cloud Code Engine, puoi eseguire praticamente qualsiasi workload basato su container senza dover gestire server o infrastrutture. La piattaforma supporta tutto, dai microservizi e dalle applicazioni web, fino ai processi batch e le funzioni basate su eventi. Offre inoltre la creazione integrata delle immagini a partire dal codice sorgente. Poiché tutti i workload condividono lo stesso ambiente Kubernetes, si integrano in modo naturale. Code Engine è progettato per eliminare la complessità dell'infrastruttura, consentendo di concentrarsi sullo sviluppo delle applicazioni. Il passaggio successivo consiste nell'installazione della CLI di Code Engine. Esegui il seguente comando nel terminale.
Output
Fantastico! Ora concentriamoci su un progetto in Code Engine. Per prima cosa, visualizza l'elenco dei progetti eseguendo
Output
Un progetto Code Engine raggruppa entità come applicazioni, job e build. Funge da unità per la gestione delle risorse e per il controllo degli accessi a tali entità. Se non hai progetti Code Engine attivi, esegui
Per selezionare il progetto specifico, esegui il comando
Output
Nota: se riscontri un errore in questo passaggio, assicurati di avere selezionato l'ambiente corretto con il comando
Per utilizzare Langflow con la CLI di Code Engine, esegui il seguente comando.
Questo comando può essere eseguito per diversi minuti. Non interrompere il processo e lascia che venga completato.
Output
Mentre viene eseguito il comando di configurazione di Langflow, possiamo aggiungere un ambiente per consentire l'interazione tra il computer locale e la soluzione SaaS in hosting.
In una nuova finestra del terminale, attiva un ambiente virtuale nella directory prescelta. Puoi modificare
Attiva l'ambiente virtuale con il seguente comando e sostituisci
MacOS/Linux:
Windows:
Ora, nel browser che preferisci, accedi all'elenco delle risorse, espandi il menu a discesa AI/Machine Learning e seleziona la risorsa wxO attiva. Il nome dovrebbe essere simile a "watsonx Orchestrate-itz", ad esempio. Quindi copia l'URL riportato nella finestra Credentials. Tieni aperta questa pagina nel tuo browser, perché ti servirà a breve. Nel comando seguente, sostituisci
Output
Quando viene richiesta la chiave API di wxO, torna alla pagina della risorsa già aperta nel browser. Non inserire la chiave API visualizzata sopra l'URL che hai copiato. Clicca invece sul pulsante Launch watsonx Orchestrate. Quindi, fai clic sull'icona circolare con le tue iniziali nell'angolo in alto a destra dello schermo e apri Settings. Seleziona la scheda API details e fai clic sul pulsante Generate API key. Successivamente, inserisci un nome e una descrizione a tua scelta per la chiave API e seleziona "Disable the leaked key" nella sezione "Leaked action". Soprattutto, seleziona "Yes" nella sezione "Session Management" per abilitare la gestione delle sessioni per gli accessi tramite CLI, quindi fai clic su "Create". Dovrebbe apparire la tua chiave API. Copia e incolla la chiave nel terminale che stavi utilizzando poco fa, in risposta alla richiesta di inserimento della chiave API di wxO.
Output
Fantastico! Langflow è ora attivo.
Per creare un ambiente Code Engine stabile che non elimini l'applicazione Langflow dopo un periodo di inattività prestabilito, apri nuovamente il browser. Accedi alla panoramica dei container di IBM Cloud. Nell'elenco dei progetti, dovresti vedere il tuo progetto Code Engine creato più di recente. Apri il progetto. Apri quindi la tua applicazione Langflow. Nella scheda Configuration, apri il componente Resources and scaling. L'unica modifica da apportare consiste nell'aumentare il numero minimo di istanze da 0 a 1. Infine, fai clic sul pulsante Deploy per applicare questa revisione della configurazione.
Una volta completato questo passaggio, fai clic sul pulsante Test application e sul link Application URL. Questa azione aprirà la nostra istanza di Langflow su IBM Cloud.
Esistono molti modi per creare un flusso Langflow. Puoi utilizzare i modelli predefiniti oppure crearne uno da zero. In questo tutorial esploreremo la seconda opzione. Per iniziare, fai clic su + Blank Flow. Questo esempio mostra un flusso che puoi creare, ma puoi esplorare liberamente la vasta gamma di componenti e integrazioni disponibili in Langflow.
Chat Input - Riceve l'input dell'utente dalla chat.
Chat Output - Restituisce l'output all'utente nella chat.
Agent - Utilizza un'integrazione con un modello linguistico di grandi dimensioni (LLM) per rispondere all'input dell'utente e può essere collegato a diversi strumenti. 2
MCP Tools - Si collega a un server Model Context Protocol (MCP) ed espone le funzioni del server MCP come strumenti che gli agenti possono utilizzare per rispondere all'input.2
IBM watsonx.ai - Fornisce l'accesso ai modelli IBM watsonx.ai per la generazione di testo.3
News Search - Recupera contenuti da Google News e genera un DataFrame strutturato contenente il titolo, il link, la data di pubblicazione e un riassunto di ciascun articolo.4
arXiv - Cerca articoli pertinenti su arXiv.org e restituisce i risultati in formato DataFrame. 5
Per finire, seleziona + New Custom Component nella parte inferiore del menu.
Per facilitare la visualizzazione, disponi il flusso nel modo seguente.
2. Collega il componente Chat Input al campo "Input" nel componente Agent.
3. Collega il componente Chat Output al campo "Response" del componente Agent.
4. Nel componente Agent, imposta "Model Provider" su "Custom" dal menu a discesa. A seconda della versione di Langflow che stai utilizzando, potresti visualizzare invece "Connect other models". Entrambe le opzioni sono accettabili.
5. Nel componente IBM watsonx.ai,seleziona l'endpoint API di watsonx.ai corretto per le tue credenziali API. Successivamente, incolla l'ID del progetto watsonx.ai e la chiave API nei campi appropriati. Quindi, seleziona il nome del modello linguistico di grandi dimensioni (LLM) che preferisci. In questo tutorial, possiamo selezionare
6. Abilita Tools Mode utilizzando il toggle per arXiv, News Search e Custom Component. Puoi visualizzare questo interruttore nella barra superiore facendo clic in un punto qualsiasi di ciascuno di questi componenti. Con questa modalità abilitata, puoi ora collegare questi componenti al campo "Tools" del componente Agent. I componenti arXiv e News Search sono configurati e pronti per l'uso. Ora possiamo concentrarci sulla configurazione degli altri componenti.
7. Nel menu superiore di Custom Component, seleziona <> Code. Qui possiamo personalizzare il comportamento del componente modificando il codice Python che lo definisce.6 Come semplice esempio, possiamo creare uno strumento che restituisce la data odierna, un'informazione altrimenti non accessibile a un LLM. Sostituisci il codice boilerplate con il seguente:
Procedi e salva le modifiche. Ora dovresti vedere il componente aggiornato con il nuovo nome, la nuova descrizione e la nuova icona.
8. Il numero di strumenti che fornisci al tuo agente dipende da te. Tuttavia, ricorda di non sovraccaricare il tuo agente con troppi strumenti in quanto potrebbero ostacolare le prestazioni e la precisione. L'ultimo strumento che abiliteremo è un server MCP. Puoi connetterti a qualsiasi server di tua scelta. In questo tutorial, possiamo connetterci al server MCP di Alpha Vantage.7 Il server MCP ufficiale di Alpha Vantage consente agli LLM e agli agenti di recuperare facilmente dati azionari in tempo reale e storici utilizzando il Model Context Protocol. Per connetterti a questo server, apri il menu a discesa "MCP Server" nel componente MCP Tools e fai clic su + Add MCP Server. Nella scheda STDIO, assegna un nome al server, ad esempio "av_mcp", quindi incolla il seguente comando:
Ottimo lavoro! Il flusso è ora completo e dovrebbe essere simile alla seguente schermata.
Per verificare che la pipeline di ricerca funzioni come previsto, apri il Playground e parla con il tuo nuovo agente! Poni all'agente domande che richiedano l'utilizzo di uno degli strumenti collegati. Alcuni esempi di valori di input includono:
Dovresti vedere l'agente utilizzare gli strumenti a sua disposizione e produrre l'output corretto. Se riscontri problemi in questa fase, torna al tuo flusso e verifica che le credenziali siano corrette e di avere seguito tutti i passaggi.
Un modo per collegare questo flusso a watsonx Orchestrate è utilizzarlo come server MCP. Fai clic sul menu a discesa Share nell'angolo in alto a destra e seleziona "MCP Server". Fai clic sulla scheda "JSON". Dovresti vedere un codice simile al seguente esempio:
Copia l'URL presente nello snippet JSON. Nota che sarà diverso dall'esempio precedente. Torna al tuo terminale e incolla l'URL del server MCP al posto del segnaposto
Output
Nel browser, apri watsonx Orchestrate e crea un nuovo agente da zero. Inserisci un nome e una descrizione per il tuo agente. Una volta creato, apri la scheda Toolset e fai clic sul pulsante Add tool. Da lì, seleziona l'opzione per importare gli strumenti da un server MCP. Dal menu a discesa Select MCP server, seleziona il server che abbiamo importato, attiva gli strumenti tramite l'apposito toggle e chiudi la finestra. Successivamente, fai clic su Deploy. Dopo l'implementazione, puoi conversare con il tuo agente nella finestra di chat Preview oppure nell'interfaccia di chat accessibile dal menu laterale compresso della pagina.
Facciamo una domanda al nostro agente! Ad esempio: "Trova 5 articoli di ricerca sul calcolo quantistico".
Fantastico! Il chatbot agentico si comporta come previsto, non solo fornendo la risposta corretta, ma anche richiamando il corretto strumento arXiv. Sperimenta liberamente con diversi prompt.
Con questo approccio, Code Engine non è necessario. Questo approccio configura un ambiente di sviluppo locale utilizzando l'SDK di watsonx Orchestrate Developer Edition, una versione leggera di watsonx Orchestrate che funziona come server di sviluppo locale.
Prima di iniziare a sviluppare in locale con Langflow, installa la Developer Edition del wxO ADK. Nota: la Developer Edition non era necessaria per il primo approccio illustrato in questo tutorial.
Nel tuo IDE preferito, configura il tuo ambiente. Crea una cartella chiamata
wxo-langflow-agent/ ├── .env ├── tools/ └── agents/
2. Apri il terminale e attiva un ambiente virtuale. Puoi sostituire
Attiva l'ambiente virtuale con il seguente comando e sostituisci
MacOS/Linux:
Windows:
3. Nel file .env, imposta le seguenti variabili di ambiente. Per ulteriori informazioni, consulta la guida alla configurazione.
4. Esegui il seguente comando per installare il server watsonx Orchestrate Developer Edition. Non è necessario installare Langflow perché è incluso nell'ADK Developer Edition. L'opzione del comando
Questo comando può richiedere diversi minuti se è la prima volta che avvii un server.
Risoluzione dei problemi: se in passato hai installato watsonx Orchestrate Developer Edition con una versione dell'ADK precedente alla 2.0 e riscontri errori durante l'avvio dei container, esegui:
La parte finale dell'output dovrebbe essere simile al seguente esempio.
Output
Nel watsonx Orchestrate ADK, gli ambienti rappresentano le istanze di watsonx Orchestrate a cui è possibile connettersi. Il tuo ambiente sarà un'istanza di Developer Edition in esecuzione sul tuo laptop. Puoi usare il comando orchestrate env listlocallocal
orchestrate env activate local
Output
[INFO] - local tenant found
[INFO] - Environment 'local' is now active
Successivamente, esegui questo comando per avviare l'interfaccia di chat nel browser predefinito.
orchestrate chat start
Output
[INFO] - Chat UI Service started successfully.
[INFO] - Waiting for UI component to be initialized...
[INFO] - Opening chat interface at http://localhost:3000/chat-lite
L'editor di Langflow è disponibile tramite watsonx Orchestrate Developer Edition sulla porta 7861, come mostrato nell'output precedente.
Possiamo esplorare due opzioni per importare i flussi di Langflow nel nostro server locale di watsonx Orchestrate:
a) Importare il flusso come server MCP locale.
b) Importare il flusso come JSON.
Questo passaggio è simile al passaggio 7 della prima parte del tutorial, con alcune piccole differenze.
Fai clic sul menu a discesa Share nell'angolo in alto a destra di Langflow e seleziona "MCP Server". Fai clic sulla scheda "JSON". Dovresti vedere un codice simile al seguente esempio:
{
"mcpServers": {
"lf-starter_project": {
"command": "uvx",
"args": [
"mcp-proxy",
"http://localhost:7861/api/v1/mcp/project/41c9434f-67bf-439e-8dac-b7bb09b1d1ca/sse"
]
}
}
}
Copia l'URL presente nello snippet JSON. Nota che sarà diverso dall'esempio precedente. Torna al terminale e incolla il seguente comando, sostituendo l'URL di esempio con il tuo. A differenza del comando che eseguivamo usando IBM Cloud, qui devi sostituire localhosthost.docker.internal
orchestrate toolkits add \
--kind mcp \
--name langflow_research_mcp \
--description "LangFlow MCP Server" \
--command "uvx mcp-proxy http://host.docker.internal:7861/api/v1/mcp/project/41c9434f-67bf-439e-8dac-b7bb09b1d1ca/sse" \
--tools "*"
Output
[INFO] - Successfully imported tool kit langflow_research_mcp
Nell'istanza locale di watsonx Orchestrate in esecuzione nel browser, fai clic su "Create new agent" e inserisci un nome e una descrizione per il nuovo agente. Quindi, fai clic sul pulsante Create .
4. Nella scheda Toolset, fai clic sul pulsante Add tool. Seleziona "local instance" per aggiungere il server MCP già importato, seleziona la casella corrispondente al server MCP importato e fai clic su Add to agent.
5. Inizia a chattare!
In alternativa all'importazione dei flussi come server MCP, possiamo utilizzare l'ADK per importare i flussi come file JSON esportati.
1. Questo approccio funziona meglio per flussi semplici. A scopo dimostrativo, usiamo questo flusso:
Esporta il flusso in formato JSON facendo clic sul pulsante Share e selezionando Export. Inserisci il nome e la descrizione che preferisci per lo strumento o il flusso. Il nome dello strumento deve contenere solo caratteri alfanumerici e trattini bassi e non deve iniziare con un numero o un trattino basso.
2. Aggiungi il file JSON appena esportato alla cartella
3. Esegui il seguente comando per importare il tuo flusso in watsonx Orchestrate.
4. Dopo avere importato il flusso Langflow come strumento, il prossimo passo è collegarlo a un sistema di agenti. Puoi eseguire questo passaggio creando un nuovo agente nell'interfaccia utente di watsonx Orchestrate oppure copiando la seguente definizione dell'agente in un nuovo file
Ora importa l'agente semplice eseguendo:
5. Aggiorna il browser in cui è in esecuzione l'interfaccia di chat locale di watsonx Orchestrate per visualizzare le modifiche apportate. Nel menu a discesa Agents, seleziona "ArXiv Agent" e poni domande che richiedano l'utilizzo dello strumento arXiv!
Esempio di prompt: "Trova 5 articoli di ricerca sul calcolo quantistico".
Output
Ottimo! L'agente ha stabilito che era necessario invocare lo strumento
Questo tutorial ti ha fornito le competenze essenziali per utilizzare Langflow e watsonx Orchestrate nella creazione di agenti robusti, scalabili e pronti per l'ambiente enterprise. Hai imparato a importare flussi agentici di Langflow come server MCP utilizzando watsonx Orchestrate come Software as a Service (SaaS) insieme a IBM Cloud. Inoltre, ora sai come importare flussi di base di Langflow quando utilizzi localmente l'IBM watsonx Orchestrate Agent Development Kit (ADK). Seguendo le istruzioni passo dopo passo, hai imparato a progettare, sviluppare e distribuire agenti che richiamano strumenti personalizzati e predefiniti per rispondere alle richieste degli utenti. Grazie all'interfaccia visiva intuitiva di Langflow, hai creato workflow complessi, mentre watsonx Orchestrate ti ha consentito di gestire e scalare questi agenti in modo efficiente. Come prossimo passo, applica le conoscenze acquisite in questo tutorial lavorando su un caso d'uso reale. Scegli uno specifico problema aziendale o un processo della tua organizzazione che potrebbe beneficiare dell'automazione e progetta una soluzione basata su Langflow e watsonx Orchestrate per affrontarlo. Questa esperienza pratica consoliderà la tua comprensione e ti aiuterà a individuare aree di ulteriore miglioramento o approfondimento.
In caso di problemi o domande, consulta la documentazione. I problemi più comuni sono trattati nella guida alla risoluzione dei problemi. Puoi anche consultare le issue di GitHub per verificare se altri hanno riscontrato problemi simili.
Metti l'AI al servizio della tua azienda grazie all'esperienza leader di settore e alla gamma di soluzioni di IBM nel campo dell'AI.
Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.
1 Satyadhar Joshi. “Review of Autonomous Systems and Collaborative AI Agent Frameworks.” International Journal of Science and Research Archive, vol. 14, no. 2, 28 febbraio 2025, pp. 961–972, https://ijsra.net/content/review-autonomous-systems-and-collaborative-ai-agent-frameworks.
2 "Agents | Langflow Documentation." Langflow.org, 2025, docs.langflow.org/components-agents.
3 "IBM | Langflow Documentation." Langflow.org, 2025, docs.langflow.org/bundles-ibm.
4 "Data | Langflow Documentation." Langflow.org, 2025, docs.langflow.org/components-data.
5 "ArXiv | Langflow Documentation." Langflow.org, 2025, docs.langflow.org/bundles-arxiv.
6 "Components Overview | Langflow Documentation." Langflow.org, 2025, docs.langflow.org/concepts-components.
7 "Alpha Vantage MCP for Stock Market Data." Alphavantage.co, 2025, mcp.alphavantage.co/.