Langflow - Cheatsheet Visual AI Agent & RAG Builder
Langflow è un builder visivo open-source basato su Python per applicazioni LLM. Assembli agent, catene e pipeline RAG trascinando e collegando componenti su una tela, li testi in un playground live, ed esponi qualsiasi flusso come endpoint API o MCP. È agnostico rispetto ai modelli (OpenAI, Anthropic, modelli locali via Ollama, ecc.) e si basa sull’ecosistema LangChain.
Installazione
| Metodo | Comando |
|---|
| uv (consigliato) | uv pip install langflow |
| pip | pip install langflow |
| Esegui dopo l’installazione | langflow run (o python -m langflow run) |
| uvx (nessuna installazione) | uvx langflow run |
| Docker | docker run -it --rm -p 7860:7860 langflowai/langflow:latest |
| App desktop | Scarica dal sito ufficiale (macOS/Windows) |
Richiede Python 3.10–3.13. Dopo langflow run, apri http://localhost:7860.
Esecuzione del Server
| Comando | Descrizione |
|---|
langflow run | Avvia l’UI + API su 127.0.0.1:7860 |
langflow run --host 0.0.0.0 --port 7860 | Bind a tutte le interfacce / porta personalizzata |
langflow run --env-file .env | Carica le variabili d’ambiente da un file |
langflow run --dev | Modalità sviluppatore/hot-reload |
langflow --help | Riferimento CLI completo |
langflow api-key | Crea una chiave API per l’accesso programmatico |
langflow migration | Esegui le migrazioni del database |
Concetti Principali
| Termine | Significato |
|---|
| Flow | Un grafico di componenti collegati = una app/pipeline |
| Component | Un nodo (modello, prompt, retriever, tool, agent, I/O) |
| Port / Edge | Connessione di input/output tipizzata tra componenti |
| Playground | Pannello chat/esecuzione integrato per testare un flusso interattivamente |
| Project | Un workspace che raggruppa più flussi |
| Global Variables | Segreti archiviati (chiavi API) riutilizzabili tra i flussi |
Blocchi Costitutivi
| Categoria | Esempi |
|---|
| Input/Output | Chat Input, Chat Output, Text Input |
| Modelli | OpenAI, Anthropic, Google, Ollama, Groq, HuggingFace |
| Prompt | Modello di prompt, messaggio di sistema |
| Data / RAG | File loader, URL, Split Text, Vector Store (Chroma, Qdrant, Astra, pgvector), Embeddings |
| Agent | Componente agent con tool calling |
| Tools | Web search, Python REPL, API request, MCP tools |
| Logic | Router condizionale, loop, pass-through |
Flusso RAG Tipico
File / URL → Split Text → Embeddings → Vector Store (ingest)
Chat Input → Vector Store (search) → Prompt → Model → Chat Output
Costruiscilo sulla tela, apri il Playground, fai una domanda, e Langflow esegue il grafico da capo a fondo.
Utilizzo di Flussi dal Codice
Ogni flusso ottiene un’API auto-generata. Dall’UI, clicca API (o Share → API access) per copiare uno snippet:
import requests
url = "http://localhost:7860/api/v1/run/<FLOW_ID>"
payload = {"input_value": "What is in my docs?", "output_type": "chat", "input_type": "chat"}
headers = {"x-api-key": "<YOUR_API_KEY>", "Content-Type": "application/json"}
resp = requests.post(url, json=payload, headers=headers)
print(resp.json())
# Stessa chiamata con curl
curl -X POST "http://localhost:7860/api/v1/run/<FLOW_ID>" \
-H "x-api-key: <YOUR_API_KEY>" -H "Content-Type: application/json" \
-d '{"input_value":"hello","output_type":"chat","input_type":"chat"}'
Integrazione MCP
| Capacità | Come |
|---|
| Esponi i flussi come tool MCP | Ogni progetto spedisce un server MCP; punta un client MCP (Claude Desktop, Cursor) su di esso |
| Consuma tool MCP esterni | Aggiungi il componente MCP Tools e connetti un URL/comando del server |
Ambiente e Configurazione
| Variabile | Scopo |
|---|
LANGFLOW_HOST / LANGFLOW_PORT | Indirizzo di bind e porta |
LANGFLOW_DATABASE_URL | Usa Postgres invece del SQLite predefinito |
LANGFLOW_AUTO_LOGIN=false | Richiedi login (multi-utente) |
LANGFLOW_SUPERUSER / LANGFLOW_SUPERUSER_PASSWORD | Semina un account amministratore |
LANGFLOW_SECRET_KEY | Chiave di crittografia per le credenziali archiviate |
OPENAI_API_KEY, ANTHROPIC_API_KEY, … | Chiavi del provider (o imposta come Global Variables) |
Importazione / Esportazione
| Azione | Come |
|---|
| Esporta un flusso | Menu Flusso → Export → .json |
| Importa un flusso | Nuovo → Importa il .json |
| Controllo di versione | Esegui il commit del flusso JSON esportato nel tuo repo |
Flussi di Lavoro Comuni
# Avvia per un team su un server con Postgres + auth
LANGFLOW_DATABASE_URL=postgresql://user:pass@db:5432/langflow \
LANGFLOW_AUTO_LOGIN=false \
langflow run --host 0.0.0.0 --port 7860
# Prova ephemeral locale, nessuna installazione
uvx langflow run
Langflow vs Dify vs n8n
| Aspetto | Langflow | Dify | n8n |
|---|
| Focus | Flussi e agent stile LangChain | Piattaforma di app LLMOps (RAG, prompt) | Automazione generale + nodi AI |
| Stile | Tela visuale | Studio di app + workflow | Automazione workflow |
| Endpoint | API + MCP | API + app chat | Webhook/automazione |
| Migliore per | Prototipazione di grafi agent/RAG | Spedizione di app LLM con ops | Colla su 500+ servizi |
Risorse