Flowise: costruire agenti IA con drag-and-drop su Ollama
Flowise trasforma la costruzione di agenti LLM nell'assemblaggio di blocchi su un canvas. Invece di scrivere codice LangChain, trascini i nodi, crei collegamenti e fai prove in tempo reale in una chat integrata. Collegato a Ollama, Flowise esegue chatflow, agenti con strumenti e pipeline RAG interamente in locale, senza che alcuna richiesta lasci la tua macchina. Questa guida parte dall'installazione, crea un primo chatflow, aggiunge un RAG basato su documenti, poi pubblica un chatbot incorporabile nel tuo sito.
#Perché Flowise
Flowise è uno strumento di costruzione visuale open-source (licenza Apache 2.0) basato su LangChain e LangGraph. Mette a disposizione gli stessi componenti — modelli, memoria, retriever, strumenti — sotto forma di nodi da collegare, trasformando un prototipo di agente composto da diverse centinaia di righe di Python in un grafo leggibile a colpo d'occhio.
Rispetto a Dify, l'altra piattaforma no-code del sito, Flowise punta maggiormente su un'orchestrazione dettagliata: mentre Dify offre un'esperienza di prodotto molto strutturata (app, raccolte di prompt, gestione del team), Flowise rende visibili i meccanismi interni di LangChain ed è più adatto quando vuoi capire e regolare ogni passaggio di un agente. Entrambi si collegano a Ollama nello stesso modo.
- 100 % locale
- In combinazione con Ollama, nessun token né documento viene inviato a un'API cloud. Ideale per dati sensibili o per l'uso offline.
- Iterazione rapida
- La chat di test è integrata nel canvas: modifichi un nodo e vedi subito l'effetto, senza dover ridistribuire nulla.
- Esposizione di API e widget
- Ogni chatflow diventa automaticamente un endpoint REST e un widget web incorporabile, senza dover scrivere un backend.
- Estensibile
- Marketplace di template, nodi personalizzati in JavaScript e integrazione di strumenti (ricerca web, calcolatrice, chiamate HTTP).
#Prerequisiti
Questa guida ti porta al modello. Il kit ti porta al copilota che scrive codice nel tuo editor.
- Spazio online a vita
- PDF + file
- Aggiornamenti a vita
Flowise è leggero: sono Ollama e il modello caricato a consumare memoria. Prevedi una macchina in grado di eseguire senza difficoltà il LLM che intendi usare.
- Ollama installato
- Il demone deve essere in esecuzione e in ascolto su http://localhost:11434 (valore predefinito). Verifica con «ollama list».
- Un modello di chat
- Un modello in grado di effettuare tool calling per gli agenti: Qwen 3.5 8B, Granite 4.2 8B o Mistral Small 24B a seconda della tua VRAM (7B ≈ 5 GB, 14B ≈ 9 GB, 24B ≈ 16 GB in Q4_K_M).
- Un modello di embeddings
- Per il RAG: «nomic-embed-text» o «mxbai-embed-large», leggeri e disponibili tramite Ollama.
- Node.js 18.15+ o Docker
- Flowise si installa tramite npm o in un container. Docker è consigliato per un deployment pulito e persistente.
#Installa Flowise
Due metodi. Il più veloce per testare è npx; per un uso continuativo con dati persistenti, preferisci Docker.
Apri quindi http://localhost:3000 nel tuo browser: compare l'interfaccia del canvas. Il volume montato (~/.flowise) conserva i tuoi chatflow e le tue chiavi tra un riavvio del container e l'altro.
#Connettere Ollama a Flowise
Il nodo « ChatOllama » è il ponte tra Flowise e il tuo daemon locale. Il punto chiave è l'URL di base: dipende dal modo in cui Flowise viene avviato.
- 01Aggiungi il nodo ChatOllamaNel canvas, apri il pannello dei nodi, categoria « Chat Models », e trascina « ChatOllama » nell'area di lavoro.
- 02Inserire l'URL di baseSe Flowise gira nativamente (npx/npm), usa http://localhost:11434. Se gira in Docker, usa http://host.docker.internal:11434 — il container non vede il « localhost » dell'host.
- 03Scegliere il modelloNel campo « Model Name », inserisci esattamente il nome del modello caricato in Ollama, ad esempio « qwen3.5:8b » o « mistral-small ».
- 04Regolare i parametriRegola Temperature (0,7 per la chat, 0,1-0,3 per un RAG fattuale) e, se necessario, la dimensione del contesto tramite num_ctx nelle opzioni avanzate.
#I nodi essenziali di un chatflow
Un chatflow si legge da sinistra a destra: i nodi che forniscono modello, memoria e strumenti alimentano un nodo «catena» o «agente» che produce la risposta. Ecco i pochi blocchi che ricorrono in quasi tutti i flussi.
- Chat Model (ChatOllama)
- Il cervello: l'LLM che genera le risposte. Sempre presente.
- Memory (Buffer Memory)
- Conserva la cronologia della conversazione affinché l'agente mantenga il filo da un turno all'altro.
- Prompt Template
- Definisce le istruzioni di sistema e la formattazione della domanda. È qui che si assegnano un ruolo e un quadro di riferimento al modello.
- Chain / Agent
- Il nodo terminale. « Conversation Chain » per una semplice chat; « Tool Agent » quando il modello deve decidere di chiamare degli strumenti.
- Tools
- Funzioni esterne: calcolatrice, ricerca web, richiesta HTTP, lettura file. Collegate a un agente, ampliano ciò che sa fare.
- Document Loaders & Vector Store
- La componente RAG: questi strumenti caricano documenti, li suddividono, li indicizzano e li rendono interrogabili (vedi più avanti).
#Creare il primo chatflow
Partiamo dal più semplice: un assistente conversazionale con memoria, collegato a Ollama. Servirà da base a tutto il resto.
- 01Creare un nuovo ChatflowDalla schermata iniziale, clicca su «Add New» nella scheda Chatflows. Si apre un canvas vuoto.
- 02Posizionare i tre nodi di baseTrascina « ChatOllama », « Buffer Memory » e « Conversation Chain » sul canvas.
- 03Creare i collegamentiCollega l'uscita di ChatOllama all'ingresso « Chat Model » della Conversation Chain e l'uscita di Buffer Memory all'ingresso « Memory » della stessa catena.
- 04Personalizzare il prompt di sistemaNella Conversation Chain, apri il campo System Message e assegna un ruolo: « Sei un assistente tecnico conciso che risponde in francese ».
- 05Testare nella chat integrataFai clic sull'icona della chat in alto a destra, poni una domanda, poi una seconda che dipende dalla prima per verificare che la memoria funzioni.
#Un RAG completo con drag-and-drop
Il RAG (Retrieval-Augmented Generation) permette al modello di rispondere basandosi sui tuoi documenti. In Flowise, tutto avviene sul canvas: si caricano i file, si vettorializzano e si collega il retriever a una catena di domande e risposte.
- 01Caricare i documentiAggiungi un nodo «Document Loader» adatto alla tua fonte: PDF File, Text File o Folder. Legge il contenuto grezzo.
- 02Dividere in blocchiCollega un «Recursive Character Text Splitter» al loader. Imposta la dimensione dei chunk intorno a 1000 caratteri, con una sovrapposizione di 100 caratteri per mantenere il contesto tra i segmenti.
- 03Generare gli embeddingAggiungi un nodo « Ollama Embeddings » con il modello « nomic-embed-text » e la stessa URL di base di ChatOllama.
- 04Indicizzare in un vector storeTrascina un « In-Memory Vector Store » (semplice, per iniziare) o « Chroma » per la persistenza. Collegavi lo splitter e gli embedding.
- 05Collegare un nodo Retrieval QA ChainCollega il vector store (come retriever) e ChatOllama a un nodo «Retrieval QA Chain» o «Conversational Retrieval QA Chain» per mantenere la memoria della conversazione.
- 06Interrogare i tuoi documentiSalva, apri la chat e fai una domanda la cui risposta si trova nei tuoi file. Ora il modello cita il tuo contenuto.
#Pubblicare e integrare il chatbot
Una volta che il chatflow è soddisfacente, Flowise lo espone in due modi senza una riga di codice backend: un'API REST e un widget web da incollare sul tuo sito.
Fai clic su « API Endpoint » o sull'icona </> in alto a destra del canvas. Flowise genera l'URL di predizione ed esempi pronti da copiare. L'endpoint segue sempre lo stesso schema, con l'identificativo univoco del chatflow.
Per l'integrazione web, la scheda «Embed» fornisce un frammento di script da inserire prima del tag di chiusura </body> delle tue pagine. Il widget mostra una bolla di chat flottante completamente configurabile (colori, messaggio di benvenuto, avatar).
#Risoluzione dei problemi più comuni
- « fetch failed » su ChatOllama
- URL di base errata. In Docker, usa host.docker.internal:11434, non localhost. Verifica anche che Ollama stia funzionando correttamente (ollama list).
- Il modello non chiama mai gli strumenti
- Il LLM non supporta il tool calling o lo supporta male. Passa a un modello recente addestrato per questa funzione (Qwen 3.5, Mistral Small) e verifica di usare un «Tool Agent», non una semplice catena.
- Risposte lente o troncate
- Contesto troppo grande per la VRAM: il modello viene eseguito in parte sulla CPU. Riduci num_ctx o la dimensione dei chunk RAG, oppure scegli un modello più piccolo.
- Il RAG non trova nulla di pertinente
- Chunk di dimensioni inadeguate o modello di embedding sbagliato. Regola la dimensione dei chunk, aumenta il numero di documenti recuperati (top-k) e verifica che l'indicizzazione sia stata effettuata correttamente.
- I dati vengono persi al riavvio
- In Docker senza volume montato, tutto è perduto. Assicurati di avere « -v ~/.flowise:/root/.flowise » e usa un vector store persistente piuttosto che in memoria.
#Per approfondire
Flowise è solo uno strato visivo: la qualità dei tuoi agenti dipende soprattutto dal modello e dallo stack sottostante. Tre guide del sito approfondiscono questa guida — installare correttamente Ollama prima di collegare Flowise, confrontare l'approccio no-code di Dify con quello di Flowise e capire i meccanismi di un RAG in Python per regolare con precisione ciò che il canvas automatizza.
Un feedback, un errore, una precisazione? Facci sapere, così la guida migliora per tutti.