
Sådan bygger du AI-workflows med n8n og LangChain
n8n og LangChain løser sammen et problem, som de fleste teams støder på før eller siden: Du vil have AI-agenter, der kan tilgå rigtige data og udløse konkrete handlinger, men at integrere LangChain i Python betyder, at du skal vedligeholde en hel applikationsstack. n8ns native LangChain-noder giver dig mulighed for at trække og slippe agenter, kæder, hukommelse og vektorlagre ind i visuelle workflows og derefter forbinde dem med over 400 integrationer uden at skrive SDK-kode.
Hvad du får: n8ns LangChain-nodebibliotek
n8n leveres med over 70 AI-noder, der implementerer LangChain-koncepter som visuelle byggeklodser. I stedet for at importere langchain i Python og lime moduler sammen, forbinder du noder på et lærred. Her er den fulde oversigt:
| Nodekategori | Hvad den gør | Vigtigste noder |
|---|---|---|
| Rodnoder | Kerne-AI-logik ("hjernen") | AI Agent, Basic LLM Chain, Q&A Chain, Summarization Chain |
| Chatmodeller | LLM-forbindelser | OpenAI, Anthropic Claude, Google Gemini, Ollama, Groq, Mistral, DeepSeek |
| Hukommelse | Vedvarende samtaler | Simple Memory, Redis, Postgres, MongoDB, Zep |
| Vektorlagre | Dokumentlagring + hentning | Pinecone, Qdrant, Supabase, Chroma, Weaviate, PGVector, In-Memory |
| Embeddings | Tekst-til-vektor konvertering | OpenAI, Cohere, HuggingFace, Ollama, AWS Bedrock |
| Værktøjer | Eksterne funktioner til agenter | Calculator, SerpAPI, Wikipedia, Custom Code, MCP Client, Workflow Tool |
| Output-parsere | Formatering af strukturerede svar | Auto-fixing, Structured, Item List |
| Tekstopdelere | Opdeling af dokumenter | Character, Recursive Character, Token |
Arkitekturen bruger det, som n8n kalder cluster nodes, hvor en rodnodes (som AI Agent) forbinder til undernoder (chatmodel, hukommelse, værktøjer), der udvider dens funktioner. Tænk på det som LangChains modulsystem, men visuelt.
Hvordan n8n mapper til LangChain-koncepter
Hvis du har brugt LangChain i kode, er n8ns mapping ligetil:
| LangChain-koncept | n8n-ækvivalent | Hvornår skal det bruges? |
|---|---|---|
ChatOpenAI() | OpenAI Chat Model undernode | Ethvert workflow, der kræver en LLM |
ConversationBufferMemory() | Simple Memory / Redis Memory | Samtaler over flere omgange |
RetrievalQA.from_chain_type() | Q&A Chain + Vector Store Retriever | Besvarelse af spørgsmål baseret på dokumenter |
AgentExecutor med værktøjer | AI Agent node (Tools Agent type) | Dynamisk valg af værktøjer |
RecursiveCharacterTextSplitter() | Recursive Character Text Splitter undernode | Opdeling af dokumenter til RAG |
FAISS.from_documents() | Simple Vector Store (Insert Documents) | Lokal lagring af embeddings |
Den afgørende forskel? I kode skal du skrive 50-100 linjer for at forbinde disse elementer. I n8n forbinder du 4-6 noder på et lærred og konfigurerer dem via rullemenuer.
Opbygning af en dokument-Q&A-pipeline (RAG)
Lad os bygge noget konkret. Dette workflow indlæser PDF-dokumenter, gemmer dem i en vektordatabase og besvarer spørgsmål om deres indhold. Det er et klassisk RAG (Retrieval-Augmented Generation)-mønster, den enkelt mest nyttige LangChain-workflow for forretningsteams.
Trin 1: Opsæt dataindlæsningsworkflowet
Opret et nyt workflow til indlæsning af dokumenter. Du kører dette én gang, hver gang du har nye dokumenter, der skal tilføjes.
Noder, der skal tilføjes:
- Manual Trigger, Klik for at køre indlæsningen
- Google Drive node (eller HTTP Request, Read Binary File), Henter dine kildedokumenter
- Simple Vector Store, Sæt operationen til Insert Documents
- OpenAI Embeddings undernode, Forbinder til vektorlageret og konverterer tekst til vektorer
- Default Data Loader undernode, Parser dokumentindholdet til bidder
- Recursive Character Text Splitter undernode, Deler indholdet op i bidder på ca. 500 tokens med 50 tokens overlap
Konfigurationsdetaljer for vektorlageret:
- Operation:
Insert Documents - Memory Key: Giv det et beskrivende navn som
company-docs(sådan refererer du til det senere) - Data Loaderen forbindes som en undernode og håndterer automatisk parsing af PDF/tekst
Konfiguration for tekstopdeleren:
- Chunk Size: 500 (tokens)
- Chunk Overlap: 50 (sikrer, at konteksten ikke går tabt ved grænserne)
- Split method: Recursive Character (håndterer Markdown, HTML og almindelig tekst intelligent)
Trin 2: Byg Q&A-agent-workflowet
Opret nu et andet workflow; det er dette, brugerne interagerer med.
Noder, der skal tilføjes:
- Chat Trigger, Giver chatgrænsefladen til spørgsmål
- AI Agent (Tools Agent type), Hjernen, der beslutter, hvad der skal gøres
- OpenAI Chat Model undernode, Forbind GPT-4o eller GPT-4o-mini
- Simple Memory undernode, Husker samtalekonteksten
- Vector Store Tool undernode, Giver agenten adgang til dine dokumenter
Konfiguration for AI Agent-noden:
- Agent Type: Tools Agent (den mest fleksible mulighed; den beslutter, hvornår og hvordan værktøjer skal bruges)
- System Prompt:
Du er en hjælpsom assistent, der besvarer spørgsmål baseret på vores virksomhedsdokumenter. Citér altid, hvilket dokument du fandt svaret i. Hvis informationen ikke findes i dokumenterne, skal du tydeligt sige det.
Konfiguration for Vector Store Tool:
- Name:
search_documents - Description:
Søg i virksomhedens vidensbase for relevant information. Brug dette værktøj, når brugeren spørger om virksomhedspolitikker, procedurer eller dokumentation. - Vector Store: Vælg dit Simple Vector Store
- Embedding model: Samme OpenAI Embeddings-model, som du brugte under indlæsningen
- Top K: 4 (antal relevante bidder, der skal hentes)
Den beskrivelse er vigtigere, end du måske tror. Agenten bruger den til at beslutte, hvornår den skal kalde værktøjet frem for at svare ud fra sin egen viden. Vær specifik.
Trin 3: Test og finjuster
Klik på Chat i bundpanelet for at åbne n8ns indbyggede chatgrænseflade. Stil et spørgsmål om dine dokumenter. Se eksekveringssporingen; n8n viser dig præcis, hvilke noder der blev aktiveret, hvad agentens ræsonnement var, og hvilke dokumentbidder der blev hentet.
Almindelige problemer på dette stade:
- Agenten bruger ikke værktøjet: Din værktøjsbeskrivelse er for vag. Gør den specifik regarding, hvilken viden værktøjet indeholder.
- Henter irrelevante bidder: Øg chunk-overlappet eller reducer chunk-størrelsen. Prøv 300 tokens med 100 i overlap.
- Langsomme svar: Skift til GPT-4o-mini til chatmodellen. Den er 10 gange billigere og hurtig nok til de fleste Q&A-opgaver.
Opbygning af en agent med værktøjskald
Q&A-pipelinen ovenfor er fantastisk til dokumenter. Men hvad med en agent, der kan søge på internettet, udføre beregninger, forespørge databaser OG svare ud fra dokumenter? Det er her, Tools Agent virkelig skinner.
Workflow-opsætning
- Chat Trigger, Brugerinput
- AI Agent (Tools Agent), Router til det rigtige værktøj
- OpenAI Chat Model, GPT-4o til kompleks ræsonnering
- Simple Memory, Samlehistorik
- Flere værktøjer forbundet:
- SerpAPI Tool, Funktion til websøgning
- Calculator Tool, Matematiske operationer
- Vector Store Tool, Din dokumentvidensbase
- Custom Code Tool, Enhver JavaScript-funktion, du skriver
- Workflow Tool, Udløser et andet n8n-workflow som et værktøj
Workflow Tool er n8ns hemmelige våben. Det lader dig pakke ethvert n8n-workflow ind som et værktøj, som agenten kan kalde. Har du et workflow, der tjekker lagerbeholdningen? Gør det til et værktøj. Et, der sender Slack-beskeder? Værktøj. Et, der forespørger dit CRM? Værktøj. Det er her, n8ns 400+ integrationsnoder bliver tilgængelige for din AI-agent.
Systemprompt til agenter med flere værktøjer
Din systemprompt skal fortælle agenten om dens kapaciteter:
You are a research assistant with access to the following tools:
- search_documents: Search our internal knowledge base
- web_search: Search the internet for current information
- calculator: Perform mathematical calculations
- send_notification: Send a Slack message to the team
For factual questions about our company, always check search_documents first.
For current events or external data, use web_search.
Show your reasoning before giving a final answer.Dette prompt-mønster styrer direkte, hvordan agenten router mellem værktøjer. Vage prompts fører til, at agenter bruger websøgning, når de først burde tjekke dine dokumenter.
Valg af den rigtige agenttype
n8n tilbyder seks agenttyper. Her er, hvornår du skal vælge hver enkelt:
| Agenttype | Bedst til | Understøtter værktøjer? | Bemærkninger |
|---|---|---|---|
| Tools Agent | De fleste use cases | Ja | Standardvalg, fleksibel, pålidelig |
| Conversational Agent | Enkle chatbots | Ja | Mindre kapabel, men lettere vægt |
| ReAct Agent | Komplekse ræsonneringskæder | Ja | Viser eksplicitte ræsonneringstrin |
| OpenAI Functions Agent | OpenAI-specifikke funktioner | Ja | Bruger OpenAIs function calling API |
| Plan and Execute Agent | Opgaver i flere trin | Ja | Planlægger først, udfører derefter; god til komplekse workflows |
| SQL Agent | Databaseforespørgsler | Begrænset | Genererer og kører SQL mod din database |
For de fleste teams er Tools Agent det rigtige udgangspunkt. Den håndterer routing til flere værktøjer godt, fungerer med enhver LLM-udbyder, og du kan altid skifte senere. Hvis du sammenligner dette med at bygge agenter i kode med frameworks som LangGraph eller CrewAI, er fordelen her nul deployments-overhead; din agent kører inden for n8ns infrastruktur.
Tilføjelse af vedvarende hukommelse
Som standard gemmer undernoden Simple Memory samtalehistorikken i hukommelsen; den forsvinder, når workflowet genstartes. Til produktionsbrug vil du have vedvarende hukommelse.
Dine muligheder:
| Hukommelsestype | Vedvarenhed | Opsætningsindsats | Bedst til |
|---|---|---|---|
| Simple Memory | Kun session | Ingen | Test, prototyping |
| Redis Chat Memory | Vedvarende, hurtig | Mellem (kræver Redis) | Produktions-chatbots |
| Postgres Chat Memory | Vedvarende, søgbar | Mellem (kræver Postgres) | Når du vil analysere samtaler |
| MongoDB Chat Memory | Vedvarende, fleksibel | Mellem (kræver MongoDB) | Dokumentorienteret lagring |
| Zep Memory | Vedvarende + opsummering | Mellem (kræver Zep) | Lange samtaler, der overstiger kontekstvinduer |
Zep er værd at fremhæve, hvis du bygger noget med lange samtalehistorikker. Det opsummerer automatisk ældre beskeder, så din agent ikke sprænger kontekstvinduet ved samtale nr. 50.
For at tilføje vedvarende hukommelse skal du blot udskifte undernoden Simple Memory med Redis/Postgres/Zep. Resten af dit workflow forbliver identisk.
Forbindelse til forskellige LLM-udbydere
Enhver rodnodes, der kræver en LLM, accepterer en Chat Model-undernode. At skifte udbyder er en ændring på én node:
| Udbyder | Nodenavn | Tilgængelige modeller | Bemærkninger |
|---|---|---|---|
| OpenAI | OpenAI Chat Model | GPT-4o, GPT-4o-mini, o1, o3-mini | Mest udbredt testet med n8n |
| Anthropic | Anthropic Chat Model | Claude 3.5 Sonnet, Claude 3 Opus | Stærk til analyse og lang kontekst |
| Google Gemini Chat Model | Gemini 1.5 Pro, Gemini Flash | God gratis tier | |
| Ollama | Ollama Chat Model | Llama 3, Mistral, Phi-3 | Helt lokal, ingen API-omkostninger |
| Groq | Groq Chat Model | Llama 3, Mixtral | Ekstremt hurtig inferens |
| AWS Bedrock | AWS Bedrock Chat Model | Claude, Titan, Llama | Enterprise AWS-integration |
Til lokal udvikling og test er Ollama det omkostningsfri valg; kør modeller på din maskine, og forbind n8n til localhost:11434. Til produktion bruger de fleste teams OpenAI eller Anthropic afhængigt af opgaven.
Virkelige workflow-opskrifter
Her er tre produktionsklare mønstre, du kan bygge på under 30 minutter:
Opskrift 1: Automatiseret klassificering af supporttickets
Trigger: Ny e-mail ankommer (Gmail/Outlook-node) Kæde: Basic LLM Chain med en klassificeringsprompt Output: Router til forskellige Slack-kanaler baseret på kategori
Prompten gør det tunge løft: Klassificer denne support-e-mail i nøjagtig én kategori: billing, technical, feature_request eller other. Svar kun med kategorinavnet.
Opskrift 2: Ugentligt indholdsresumé
Trigger: Tidsplan (hver mandag kl. 9.00) Agent: Tools Agent med SerpAPI + Custom Code Tool Hukommelse: Ikke nødvendig (engangsovergave) Output: Opsummeret rapport sendt til Slack/e-mail
Agenten søger efter nyheder inden for branchen, opsummerer de 5 bedste artikler og formatterer et resumé. Custom Code Tool håndterer enhver formateringslogik, der er lettere i JavaScript end i en prompt.
Opskrift 3: Dokumentbaseret Slack-bot
Trigger: Slack-besked i en bestemt kanal Agent: Tools Agent med Vector Store Tool Hukommelse: Redis Chat Memory (nøglet efter Slack-tråd-ID) Output: Svar på Slack-tråden
Dette er Q&A-pipelinen fra tidligere, men udløst af Slack i stedet for en chat-UI. Den trådbaserede hukommelsesnøgle betyder, at hver Slack-samtale får sin egen kontekst.
For teams, der undersøger hvilke RAG-værktøjer de skal bruge sammen med n8n, betyder valget af vektorlager mindre end din strategi for opdeling af tekst. Start med Simple (In-Memory) Vector Store til prototyping, og skift derefter til Pinecone eller Qdrant til produktion.
Almindelige fejl og hvordan du undgår dem
Efter at have bygget dusinvis af n8n AI-workflows er her de faldgruber, som folk snubler i:
1. At springe systemprompten over. AI Agent-noden fungerer uden en systemprompt, men dårligt. Definer altid agentens rolle, tilgængelige værktøjer og foretrukne adfærd. Ti minutter på prompten sparer timer med debugging af mærkelige svar.
2. Brug af ét kæmpestort workflow. Opdel indlæsning og forespørgsel i separate workflows. Indlæsningsworkflowet kører lejlighedsvis (når nye docs ankommer). Forespørgselsworkflowet kører konstant. Blanding af dem skaber eksekveringskonflikter.
3. Valg af forkert chunk-størrelse. Standardopdeling (1000 tegn) fungerer til generelt indhold. Til tekniske docs skal du ned på 300-500 tokens. Til juridiske dokumenter skal du øge til 800-1000 tokens med højere overlap. Der er ingen universel "rigtig" chunk-størrelse; test med dine faktiske dokumenter.
4. Ignorering af eksekveringsloggen. n8n viser den komplette eksekveringssporing for hvert workflow-kørsel. Når en agent giver et forkert svar, skal du tjekke, hvilket værktøj den kaldte (eller ikke kaldte), hvilke bidder der blev hentet, og hvilken ræsonnering den viste. Loggen fortæller dig præcis, hvor tingene gik galt.
5. At betale for GPT-4o, når du ikke behøver det. Til klassificering, opsummering og enkel Q&A er GPT-4o-mini 90 % lige så god til 10 % af prisen. Reserver GPT-4o eller Claude til kompleks ræsonnering i flere trin.
Hvordan Techsy tilgår n8n AI-automatisering
Vi har bygget n8n AI-workflows for kunder lige fra startups med 3 personer til enterprise-teams. Vores proces:
- Kortlæg beslutningsflowet, Før vi åbner n8n, diagrammer vi hvert beslutningspunkt og hver datakilde
- Prototyp med Simple Vector Store, Få kerne logikken til at virke med in-memory-lagring
- Test med rigtige data tidligt, Syntetiske testdata skjuler problemer med opdeling og hentning
- Tilføj hukommelse og vedvarenhed, Først efter at kerne-Q&A- eller agentlogikken er valideret
- Overvåg og iterer, Spor hvilke værktøjskald der lykkes, hvilke bidder der hentes, og hvor brugerne bliver frustrerede
Hvis du bygger AI-agenter til forretningsworkflows og ønsker hjælp til at designe arkitekturen, kan du kontakte os for en gratis konsultation.
Ofte stillede spørgsmål
Skal jeg kunne LangChain for at bruge n8ns AI-noder?
Nej. n8n abstraherer LangChain til visuelle noder med rullemenukonfigurationer. Forståelse af LangChain-koncepter (agenter, kæder, hukommelse, retrievere) hjælper dig med at træffe bedre designbeslutninger, men du skriver aldrig LangChain-kode, medmindre du vælger at bruge LangChain Code-noden.
Kan jeg bruge lokale LLM'er med n8n i stedet for OpenAI?
Ja. Forbind Ollama Chat Model-undernoden til enhver model, der kører på din maskine (Llama 3, Mistral, Phi-3 osv.). Peg den mod http://localhost:11434, og du har et helt privat, omkostningsfrit AI-workflow. Groq er en anden mulighed for hurtig inferens uden at skulle administrere din egen hardware.
Hvad er forskellen mellem en kæde og en agent i n8n?
En kæde følger en fast sekvens; input går gennem trin A, derefter B, derefter C. En agent beslutter dynamisk, hvilke værktøjer der skal kaldes baseret på inputtet. Brug kæder til forudsigelige opgaver (opsummering, klassificering). Brug agenter, når workflowet skal træffe beslutninger om, hvad der skal ske derefter.
Hvor mange dokumenter kan Simple Vector Store håndtere?
Simple (In-Memory) Vector Store fungerer fint til prototyping med et par hundrede dokumenter. Til produktion med tusindvis af dokumenter skal du skifte til Pinecone, Qdrant, Supabase eller Chroma. Workflowet forbliver det samme; du udskifter blot vektorlager-noden.
Kan jeg udløse n8n AI-workflows fra eksterne apps?
Ja. Brug Webhook Trigger-noden til at eksponere dit AI-workflow som et API-endpoint. Enhver app, der kan lave HTTP-forespørgsler, kan sende data til din agent og få et svar. Det er sådan, du integrerer n8n AI-workflows i eksisterende produkter.
Er n8n gratis til AI-workflows?
n8n Community Edition er fuldt open source og gratis at self-hoste. Alle LangChain-noder er inkluderet. Cloud-planerne starter ved $24/måned, hvis du ikke vil administrere infrastruktur. Omkostningerne til LLM-API'er (OpenAI, Anthropic osv.) er separate og faktureres af udbyderen.
Hvordan håndterer n8n fejl i AI-agent-workflows?
n8n har indbygget fejlhåndtering på nodeniveau. Du kan indstille retry-logik, fallback-stier og fejl-workflows. Til AI-specifikke problemer (som LLM-timeouts eller rate limits) skal du tilføje et retry med eksponentiel backoff på Chat Model-undernoden. Eksekveringsloggen viser præcis, hvor fejl opstår.
Kan jeg bruge n8ns AI-workflows med mine egne API-nøgler?
Ja. Hver LLM-node kræver, at du opretter en legimitation med din egen API-nøgle. n8n gemmer legitimationer krypteret. Hvis du self-hoster, forlader nøglerne aldrig din infrastruktur.
Hvad er LangChain Code-noden til?
LangChain Code-noden lader dig skrive custom JavaScript, der bruger LangChain-moduler direkte. Det er en nødudgang, når n8ns visuelle noder ikke dækker dit præcise use case; måske har du brug for en custom retriever, en specifik prompt-skabelon eller et LangChain-modul, som n8n endnu ikke har wrappet.
Hvordan deler jeg n8n AI-workflows med mit team?
Eksporter workflowet som JSON (Ctrl+Shift+E), og del filen. Alle kan importere det til deres n8n-instans. Til teamsamarbejde inkluderer n8n Cloud delte arbejdsområder med versionshistorik. Du kan også committe workflow-JSON-filer til Git til versionskontrol.