In questo articolo ti spiego passo dopo passo come usare Flowise per creare un agente AI in grado di rispondere a domande basandosi su un dataset CSV.
Flowise è uno strumento utile per chi vuole costruire agenti AI senza perdersi in codice complesso. Adotta un approccio low-code e ci permette di concentrarci più sul compito da svolgere che sui dettagli tecnici.
Di recente ho visto un aumento di strumenti pensati per creare agenti AI. Sono diventati più accessibili e facili da usare, consentendo a chiunque di sviluppare sistemi intelligenti senza grandi competenze tecniche. Se vuoi esplorare altri strumenti, dai un'occhiata anche a questi tutorial:
Flowise è uno strumento progettato per aiutarci a creare agenti AI tramite un'interfaccia semplice di drag-and-drop. Funziona permettendoci di collegare diversi blocchi, che rappresentano varie funzioni, per costruire un workflow personalizzato. Ogni blocco può essere configurato per eseguire un'azione specifica.
Per esempio, esistono blocchi chiamati LLM che servono a inviare un messaggio a un large language model. Ci sono anche blocchi funzione che ci permettono di eseguire funzioni JavaScript personalizzate, abilitando operazioni ancora più su misura.
Collegando questi blocchi tra loro, le informazioni scorrono da un blocco al successivo, elaborando e trasformando i dati passo dopo passo. Questo approccio modulare rende facile costruire agenti AI senza una profonda conoscenza di programmazione, perché possiamo concentrarci sulla progettazione del workflow e sulla configurazione delle azioni necessarie.
Creare un agente AI da data analyst con Flowise
Vediamo come creare un agente AI da data analyst usando Flowise. Questa guida copre la registrazione a Flowise, la costruzione di un workflow personalizzato e l'uso di vari blocchi per creare un agente interattivo in grado di analizzare dataset.
Passo 1: Crea un account su Flowise
Inizia visitando questa pagina di registrazione a Flowise e creando un account. Compila i dati richiesti e segui le istruzioni inviate via email per verificare e attivare l'account.
Passo 2: Configurazione del database
Ora che il nostro account Flowise è pronto, è il momento di configurare il database che useremo. Ci serve un database dove archiviare i dati che vogliamo analizzare.
Useremo SingleStore, un provider SQL popolare e facile da usare, per gestire i nostri dati. Segui questi passaggi:
Con un account SingleStore attivo, il passo successivo è caricare il dataset con cui lavoreremo. In questo esempio usiamo un dataset sulle abitudini social dei/studenti, disponibile su Kaggle. Assicurati di scaricare il file del dataset da Kaggle e caricarlo su SingleStore.
Una volta caricato il dataset, SingleStore genererà automaticamente una tabella del database. Questa tabella sarà la base della nostra analisi, rendendo le informazioni pronte per l'interazione con l'agente AI su Flowise.
Passo 3: Vai alla sezione chatflows
Dopo l'accesso, vai alla dashboard e trova la sezione "Chatflows". Clicca su "Add New" per iniziare a creare un nuovo workflow.
Passo 4: Crea una funzione personalizzata per caricare le informazioni sulla tabella
In questo passaggio scriviamo una funzione personalizzata per recuperare informazioni sulla tabella, come descrizione e nomi delle colonne. Questi dati sono fondamentali perché il nostro agente AI capisca la struttura del dataset su cui eseguirà le query.
Crea un blocco funzione personalizzata.
Incolla il seguente codice nell'editor del blocco funzione:
const mysql =require('mysql2/promise');const tableName = $tableName;const tableDescription = $tableDescription;const connectionUrl ="<PASTE_YOUR_CONNECTION_STRING_HERE>"asyncfunctionmain(){try{const pool = mysql.createPool(connectionUrl);const q =DESCRIBE ${tableName};;const[rows]=await pool.query(q);const fields = rows.map((row)=> ${row.Field}of type ${row.Type}).join("\n");const tableInformation = Table name: ${tableName}\nTable description:\n${tableDescription.trim()}\nColumns:\n${fields.trim()};return tableInformation;}catch(error){returnString(error);}}returnmain();Offerto da
All'inizio della funzione, dobbiamo impostare il valore di connectionUrl. Lo trovi su SingleStore, nella scheda Deployments.
La stringa di connessione è simile a questa:
françois-19ecc:<françois-19ecc Password>@svc-3482219c-a389-4079-b18b-d50662524e8a-shared-dml.aws-virginia-6.svc.SingleStore.com:3333/db_franois_88ec0Offerto da
La prima parte, françois-19ecc nel mio caso, è lo username. Subito dopo c'è un segnaposto per la password, <françois-19ecc Password>, che dobbiamo sostituire.
Questa funzione si connette al database SingleStore e ottiene le informazioni sulle colonne della tabella. Ha due input:
tableName: il nome della tabella
tableDescription: la descrizione della tabella.
Vanno configurati cliccando il pulsante “Input Variables” nel nodo di codice personalizzato. Le variabili sono accessibili nel codice anteponendo un $ al loro nome.
Nel mio caso, la tabella è stata chiamata dataset quando è stata creata su SingleStore. Usa il nome impostato quando hai caricato il file CSV.
Passo 5: Crea un nodo prompt template
Qui prepariamo le istruzioni che guideranno il nostro agente AI. Collega questo nodo alla tua funzione personalizzata.
Crea un nodo prompt template.
Inserisci questo prompt:
Based on the SQL table information and the user's questions, return a SQL query that answers that question.
TABLE INFORMATION: {tableInformation}
QUESTION: {question}Offerto da
Il prompt ha due segnaposto: {tableInformation} e {question}. La question è il prompt inviato dall'utente, mentre tableInformation è l'output della funzione definita al passaggio precedente.
Questi valori vanno configurati cliccando il pulsante “Format Prompt Values” nel nodo del prompt template.
Passo 6: Collega a un blocco LLM chain
Ora colleghiamo il nodo prompt template a un blocco LLM chain, che interpreterà il prompt e genererà da esso una query SQL. Ecco i passaggi da seguire:
Aggiungi un blocco LLM chain.
Includi un blocco modello configurato per usare OpenAI e collegalo al blocco LLM chain all'input “Language Model”.
Per configurare il modello OpenAI, dovrai impostare una chiave API di OpenAI. Se non ne hai una, puoi crearla qui.
Collega il blocco prompt template all'input “Prompt”.
Passo 7: Usa un blocco set variable
Per salvare la query SQL generata e riutilizzarla, crea un blocco set variable e collegalo all'output del blocco LLM chain.
Passo 8: Esegui la query SQL
Invia la query SQL a un nuovo blocco di codice personalizzato per eseguirla sul database.
Crea un altro blocco di codice personalizzato.
Inserisci il seguente codice:
const mysql =require('mysql2/promise');const connectionUrl ="<PASTE_THE_SAME_URL_USED_BEFORE>";functionformatQuery(){// This function is used to clean the query provided by ChatGPT // by removing markdown quotesconst q = $query;let lines = q.trim().split(/\r\n|\r|\n/);if(lines[0].startsWith("")){
lines = lines.slice(1, lines.length -1);}return lines.join("\n").trim()}const q =formatQuery();try{const pool = mysql.createPool(connectionUrl);const[rows]=await pool.query(q);return rows;}catch(error){returnQuery: ${q}\nError:${String(error)}`
}Offerto da
Ricordati di impostare il valore di connectionUrl. È lo stesso usato prima.
Questa funzione ha un input, cioè la query che vogliamo eseguire, a cui si accede nel codice usando $query.
Passo 9: Crea un altro prompt template
Questo template serve a formattare la risposta che l'agente AI mostrerà all'utente in base ai risultati della query.
Crea un nuovo prompt template.
Usa questo prompt:
Based on the question and the query result, provide an answer to the user's question. Always show the query to the user.
QUERY: {query}
QUERY RESULT: {queryResult}
QUESTION: {question}Offerto da
Questo prompt ha tre segnaposto:
query: la query SQL generata dall'LLM, ottenuta collegando il nodo delle variabili.
queryResult: il risultato della query, calcolato dal precedente nodo di funzione personalizzata.
question: il prompt iniziale dell'utente.
Passo 10: Blocco LLM chain finale
Infine, collega questo prompt template a un nuovo blocco LLM chain, che userà il prompt per formulare la risposta. Puoi collegarlo allo stesso blocco modello OpenAI usato prima.
Ecco il flusso finale dell'agente:
Completati questi passaggi, il nostro agente AI è pronto. Può ricevere domande, generare query SQL per recuperare i dati rilevanti e fornire risposte chiare e concise.
Chattare con l'agente Data Analyst
L'agente è ora pronto all'uso. Per chattare, fai clic sul pulsante viola in alto a destra:
Proviamolo chiedendo quante risposte ha ricevuto il sondaggio:
Nota che l'agente include la query nella risposta per via di come è stato progettato l'ultimo prompt. Chiediamo qualche statistica sui dati:
Ecco un altro esempio:
Le mie impressioni su Flowise
Dopo aver provato diversi strumenti per creare agenti AI, la mia esperienza con Flowise è stata in parte frustrante. Un problema ricorrente è stato cancellare per sbaglio alcune configurazioni di variabili, cosa che portava l'agente a comportarsi in modo anomalo senza una chiara spiegazione del perché. Questo rendeva spesso la diagnosi dei problemi piuttosto tediosa.
Inoltre, Flowise non ha un punto di partenza chiaro per i flussi degli agenti, il che rende difficile seguire e capire come funziona l'agente. Può risultare particolarmente scoraggiante per chi è alle prime armi nella costruzione di sistemi AI. Flowise, inoltre, è carente nella visualizzazione semplice dei risultati intermedi o nel testare i nodi in isolamento. Questo rende complicato individuare i problemi o perfezionare il workflow in modo efficace.
Ho anche trovato difficile vedere a colpo d'occhio le configurazioni dei nodi. Ad esempio, i nodi di codice personalizzato che abbiamo usato definiscono variabili di input, ma non è visibile che sia così. Bisogna cliccare su quella sezione del nodo per vederle. Questo rende complicato comprendere il flusso solo guardandolo.
Conclusione
Pur offrendo un'interfaccia low-code promettente per creare agenti AI, Flowise presenta alcuni problemi di usabilità che lo rendono più difficile da usare rispetto a strumenti simili, soprattutto per chi cerca un'esperienza più fluida e intuitiva. Nonostante queste difficoltà, il concept di Flowise ha potenziale e, con alcuni miglioramenti, potrebbe diventare un ottimo strumento per costruire soluzioni AI.
Ingegnere full‑stack e fondatore di CheapGPT. Insegnare è sempre stata la mia passione. Fin dai primi anni da studente, cercavo con entusiasmo occasioni per fare da tutor e aiutare altri studenti. Questa passione mi ha portato a intraprendere un dottorato, durante il quale ho anche svolto il ruolo di assistente alla didattica a supporto del mio percorso accademico. In quegli anni ho trovato enorme soddisfazione nell'ambiente tradizionale dell'aula, creando connessioni e facilitando l'apprendimento. Con l'avvento delle piattaforme di apprendimento online, però, ho riconosciuto il potenziale trasformativo dell'educazione digitale. Di fatto, ho partecipato attivamente allo sviluppo di una di queste piattaforme nella nostra università. Sono profondamente impegnato a integrare i principi dell'insegnamento tradizionale con metodologie digitali innovative. La mia passione è creare corsi non solo coinvolgenti e informativi, ma anche accessibili a chi apprende in questa era digitale.
Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Impara a creare applicazioni basate sull'intelligenza artificiale con i più recenti strumenti per sviluppatori di AI, tra cui OpenAI API, Hugging Face e LangChain.
In questo articolo ti spiego passo dopo passo come usare Flowise per creare un agente AI in grado di rispondere a domande basandosi su un dataset CSV.
Flowise è uno strumento utile per chi vuole costruire agenti AI senza perdersi in codice complesso. Adotta un approccio low-code e ci permette di concentrarci più sul compito da svolgere che sui dettagli tecnici.
Di recente ho visto un aumento di strumenti pensati per creare agenti AI. Sono diventati più accessibili e facili da usare, consentendo a chiunque di sviluppare sistemi intelligenti senza grandi competenze tecniche. Se vuoi esplorare altri strumenti, dai un'occhiata anche a questi tutorial:
Che cos'è Flowise?
Flowise è uno strumento progettato per aiutarci a creare agenti AI tramite un'interfaccia semplice di drag-and-drop. Funziona permettendoci di collegare diversi blocchi, che rappresentano varie funzioni, per costruire un workflow personalizzato. Ogni blocco può essere configurato per eseguire un'azione specifica.
Per esempio, esistono blocchi chiamati LLM che servono a inviare un messaggio a un large language model. Ci sono anche blocchi funzione che ci permettono di eseguire funzioni JavaScript personalizzate, abilitando operazioni ancora più su misura.
Collegando questi blocchi tra loro, le informazioni scorrono da un blocco al successivo, elaborando e trasformando i dati passo dopo passo. Questo approccio modulare rende facile costruire agenti AI senza una profonda conoscenza di programmazione, perché possiamo concentrarci sulla progettazione del workflow e sulla configurazione delle azioni necessarie.
Creare un agente AI da data analyst con Flowise
Vediamo come creare un agente AI da data analyst usando Flowise. Questa guida copre la registrazione a Flowise, la costruzione di un workflow personalizzato e l'uso di vari blocchi per creare un agente interattivo in grado di analizzare dataset.
Passo 1: Crea un account su Flowise
Inizia visitando questa pagina di registrazione a Flowise e creando un account. Compila i dati richiesti e segui le istruzioni inviate via email per verificare e attivare l'account.
Passo 2: Configurazione del database
Ora che il nostro account Flowise è pronto, è il momento di configurare il database che useremo. Ci serve un database dove archiviare i dati che vogliamo analizzare.
Useremo SingleStore, un provider SQL popolare e facile da usare, per gestire i nostri dati. Segui questi passaggi:
Passo 3: Vai alla sezione chatflows
Dopo l'accesso, vai alla dashboard e trova la sezione "Chatflows". Clicca su "Add New" per iniziare a creare un nuovo workflow.
Passo 4: Crea una funzione personalizzata per caricare le informazioni sulla tabella
In questo passaggio scriviamo una funzione personalizzata per recuperare informazioni sulla tabella, come descrizione e nomi delle colonne. Questi dati sono fondamentali perché il nostro agente AI capisca la struttura del dataset su cui eseguirà le query.
All'inizio della funzione, dobbiamo impostare il valore di
connectionUrl. Lo trovi su SingleStore, nella scheda Deployments.La stringa di connessione è simile a questa:
La prima parte,
françois-19eccnel mio caso, è lo username. Subito dopo c'è un segnaposto per la password,<françois-19ecc Password>, che dobbiamo sostituire.Questa funzione si connette al database SingleStore e ottiene le informazioni sulle colonne della tabella. Ha due input:
tableName: il nome della tabellatableDescription: la descrizione della tabella.Vanno configurati cliccando il pulsante “Input Variables” nel nodo di codice personalizzato. Le variabili sono accessibili nel codice anteponendo un
$al loro nome.Nel mio caso, la tabella è stata chiamata
datasetquando è stata creata su SingleStore. Usa il nome impostato quando hai caricato il file CSV.Passo 5: Crea un nodo prompt template
Qui prepariamo le istruzioni che guideranno il nostro agente AI. Collega questo nodo alla tua funzione personalizzata.
Il prompt ha due segnaposto:
{tableInformation}e{question}. Laquestionè il prompt inviato dall'utente, mentretableInformationè l'output della funzione definita al passaggio precedente.Questi valori vanno configurati cliccando il pulsante “Format Prompt Values” nel nodo del prompt template.
Passo 6: Collega a un blocco LLM chain
Ora colleghiamo il nodo prompt template a un blocco LLM chain, che interpreterà il prompt e genererà da esso una query SQL. Ecco i passaggi da seguire:
Passo 7: Usa un blocco set variable
Per salvare la query SQL generata e riutilizzarla, crea un blocco set variable e collegalo all'output del blocco LLM chain.
Passo 8: Esegui la query SQL
Invia la query SQL a un nuovo blocco di codice personalizzato per eseguirla sul database.
Ricordati di impostare il valore di
connectionUrl. È lo stesso usato prima.Questa funzione ha un input, cioè la query che vogliamo eseguire, a cui si accede nel codice usando
$query.Passo 9: Crea un altro prompt template
Questo template serve a formattare la risposta che l'agente AI mostrerà all'utente in base ai risultati della query.
Questo prompt ha tre segnaposto:
query: la query SQL generata dall'LLM, ottenuta collegando il nodo delle variabili.queryResult: il risultato della query, calcolato dal precedente nodo di funzione personalizzata.question: il prompt iniziale dell'utente.Passo 10: Blocco LLM chain finale
Infine, collega questo prompt template a un nuovo blocco LLM chain, che userà il prompt per formulare la risposta. Puoi collegarlo allo stesso blocco modello OpenAI usato prima.
Ecco il flusso finale dell'agente:
Completati questi passaggi, il nostro agente AI è pronto. Può ricevere domande, generare query SQL per recuperare i dati rilevanti e fornire risposte chiare e concise.
Chattare con l'agente Data Analyst
L'agente è ora pronto all'uso. Per chattare, fai clic sul pulsante viola in alto a destra:
Proviamolo chiedendo quante risposte ha ricevuto il sondaggio:
Nota che l'agente include la query nella risposta per via di come è stato progettato l'ultimo prompt. Chiediamo qualche statistica sui dati:
Ecco un altro esempio:
Le mie impressioni su Flowise
Dopo aver provato diversi strumenti per creare agenti AI, la mia esperienza con Flowise è stata in parte frustrante. Un problema ricorrente è stato cancellare per sbaglio alcune configurazioni di variabili, cosa che portava l'agente a comportarsi in modo anomalo senza una chiara spiegazione del perché. Questo rendeva spesso la diagnosi dei problemi piuttosto tediosa.
Inoltre, Flowise non ha un punto di partenza chiaro per i flussi degli agenti, il che rende difficile seguire e capire come funziona l'agente. Può risultare particolarmente scoraggiante per chi è alle prime armi nella costruzione di sistemi AI. Flowise, inoltre, è carente nella visualizzazione semplice dei risultati intermedi o nel testare i nodi in isolamento. Questo rende complicato individuare i problemi o perfezionare il workflow in modo efficace.
Ho anche trovato difficile vedere a colpo d'occhio le configurazioni dei nodi. Ad esempio, i nodi di codice personalizzato che abbiamo usato definiscono variabili di input, ma non è visibile che sia così. Bisogna cliccare su quella sezione del nodo per vederle. Questo rende complicato comprendere il flusso solo guardandolo.
Conclusione
Pur offrendo un'interfaccia low-code promettente per creare agenti AI, Flowise presenta alcuni problemi di usabilità che lo rendono più difficile da usare rispetto a strumenti simili, soprattutto per chi cerca un'esperienza più fluida e intuitiva. Nonostante queste difficoltà, il concept di Flowise ha potenziale e, con alcuni miglioramenti, potrebbe diventare un ottimo strumento per costruire soluzioni AI.