Guide

Guida ai Nodi LangChain di n8n per la Sintesi di Testi Lunghi

Hai report, whitepaper o trascrizioni video che nessuno ha tempo di leggere per intero? Con il nodo langchain n8n e i nodi AI correlati puoi costruire una pipeline che trasforma documenti lunghi in riassunti chiari e pronti per l’uso marketing, riducendo tempi di produzione e migliorando la coerenza. In questa guida pratica creiamo un flusso end‑to‑end per il riassunto di documenti lunghi con n8n: dal chunking del testo al “map‑reduce” della sintesi, passando per prompt ottimizzati, caching/batching, valutazione qualità (LLM‑as‑judge) e opzioni di archiviazione con embeddings e vector store. Un approccio modulare, pensato per marketer che vogliono automatizzare con efficienza, controllare costi e ottenere output in Markdown o JSON pronti per blog, newsletter o slide.

📚 Nuovo a n8n? Parti dalla guida completa: cos’è n8n e come funziona.

[IMG: Panoramica flusso: Input (PDF/trascrizione) → Chunking → LLM (per chunk) → Merge/Reduce → Valutazione → Export/DB/Vector Store]


Mappa concettuale n8n ↔ LangChain: nodi e pattern fondamentali

Per capire come orchestrare una catena di sintesi map‑reduce in LangChain dentro n8n, partiamo dai mattoni disponibili.

  • OpenAI Chat Node: usa i modelli chat (system/user prompts) per generare riassunti testuali strutturati. Perfetto per “per‑chunk summarization” e per la fase di reduce/refine.
  • Embeddings OpenAI (EmbeddingsOpenAi): converte testi in vettori per archiviazione/ricerca semantica.
  • Vector stores supportati: Pinecone e Weaviate sono opzioni comuni per salvare embeddings e abilitarne il riuso in un workflow RAG per sintesi multi‑documento.
  • SplitInBatches Node: elabora liste di item a lotti, utile per processare chunk in batch e controllare parallelismo/costi.
  • Item Lists, Merge: dividono e riaggregano array, fondamentali per preparare input e raccogliere i riassunti parziali.

LangChain Code (self‑hosted): un nodo specializzato per importare e usare direttamente le primitive LangChain JS in codice, con due modalità (Execute vs Supply Data) e I/O configurabili. È utile per catene personalizzate e casi avanzati non coperti dai nodi predefiniti.

Schema logico del riassunto di documenti lunghi con n8n:

  1. Import/estrazione testo (gestione PDF/trascrizioni in n8n).

  2. Chunking con overlap (text splitter ricorsivo e chunk overlap simulato in Code/Item Lists).

  3. Sintesi per chunk con OpenAI Chat Node e prompt per sintesi strutturata in Markdown.

  4. Reduce/refine: ulteriore passata per condensare i riassunti parziali in un executive summary.

  5. (Opzionale) Embeddings e vector store per riuso/ricerca; evaluation dei riassunti con LLM‑as‑judge; caching e batching nelle pipeline AI.

[IMG: Mappa concetti → Nodi n8n (OpenAI Chat, EmbeddingsOpenAi, SplitInBatches, Item Lists, Merge, LangChain Code)]


Pipeline base: dal testo grezzo al riassunto “map‑reduce” in Markdown

Obiettivo: catena di sintesi map‑reduce in LangChain realizzata con nodi n8n standard.

Passo 1 — Preparazione input

  • Se il contenuto è già testo, prosegui.
  • Se è PDF/trascrizione, acquisisci il file (HTTP Request, Google Drive, S3) e convertilo in testo con il tuo step di estrazione abituale; porta il testo in items[0].json.text.

Passo 2 — Chunking con overlap (Code node)

Usiamo un Code node per splittare il testo in chunk con overlap, utile a preservare contesto ai bordi.

// Code (Run Once for All Items) — input: items[0].json.text
const text = items[0].json.text || '';
const chunkSize = 2000;     // caratteri
const chunkOverlap = 200;   // sovrapposizione
const chunks = [];
for (let i = 0; i < text.length; i += (chunkSize - chunkOverlap)) {
  const part = text.slice(i, i + chunkSize);
  if (part.trim()) chunks.push({ json: { chunk: part } });
}
return chunks;

Passo 3 — Batching

Inserisci SplitInBatches per controllare i costi LLM e il ritmo:

  • batchSize: per esempio 8.
  • Loop “Execute Next Batch” finché gli item non terminano.

Passo 4 — Sintesi per chunk (OpenAI Chat)

Configura OpenAI Chat Node per generare un riassunto breve e coerente. Imposta:

  • System prompt: “Sei un assistente che riassume contenuti in modo chiaro e fedele.”
  • User prompt: “Riassumi il seguente testo in 8‑12 bullet Markdown, conservando dati numerici e nomi: {{$json.chunk}}”

Suggerimenti:

  • Imposta temperature bassa (0‑0.3) per consistenza.
  • Output parser per JSON/Markdown: richiedi esplicitamente “Rispondi solo in Markdown valido”.

Passo 5 — Merge dei risultati

Usa Item Lists (Aggregate) o un Code node per unire i riassunti parziali:

“`javascript

// Code (Run Once for All Items) — input: array di {json: { summary: “…”}}

const bullets = items.map(i => i.json.summary || i.json.text ||

Articoli correlati

Vuoi automazioni AI su misura per la tua azienda?
Scopri la consulenza →

Partiamo da un processo che oggi vi costa ore

Su WhatsApp risponde una persona, di solito in giornata. Se preferisci scrivere con calma, c’è il modulo qui sotto.

Scrivici su WhatsApp

Raccontaci cosa vuoi automatizzare

Ti rispondiamo noi, di solito in giornata.

Raccontaci cosa vi fa perdere tempo

Due righe bastano. Vi diciamo se si automatizza, come, e quanto costa. Se non conviene, lo diciamo.