Dina ”source of truth”-dokument ändras, men din chattbot fortsätter att svara utifrån förra veckans version. Det är så du får förvirrade kunder, irriterade kollegor och en Slack-tråd som aldrig dör.
Det här problemet med Qdrant RAG sync slår mot Marketing Ops när budskapet skiftar, och det frustrerar supportansvariga som försöker hålla svaren konsekventa. Grundare känner av det också, eftersom varje inaktuellt svar i tysthet urholkar förtroendet.
Det här workflowet håller Qdrant i linje med de senaste filerna i Google Drive, så att din chattbot kan svara utifrån det som stämmer just nu. Du får se hur det uppdaterar en fil snabbt, eller bygger om hela kunskapsbasen när du behöver en felfri återställning.
Så här fungerar automationen
Hela n8n-workflowet, från trigger till slutligt output:
n8n Workflow Template: Google Drive + Qdrant: svar som alltid är aktuella
flowchart LR
subgraph sg0["When clicking ‘Test workflow’ Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "When clicking ‘Test workflow’", pos: "b", h: 48 }
n1@{ icon: "mdi:vector-polygon", form: "rounded", label: "Embeddings OpenAI1", pos: "b", h: 48 }
n2@{ icon: "mdi:robot", form: "rounded", label: "Default Data Loader1", pos: "b", h: 48 }
n3@{ icon: "mdi:cube-outline", form: "rounded", label: "Qdrant Vector Store", pos: "b", h: 48 }
n5@{ icon: "mdi:robot", form: "rounded", label: "Recursive Character Text Spl..", pos: "b", h: 48 }
n6@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Items", pos: "b", h: 48 }
n7@{ icon: "mdi:cog", form: "rounded", label: "Wait", pos: "b", h: 48 }
n12["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Clear collection"]
n13@{ icon: "mdi:cog", form: "rounded", label: "Get files", pos: "b", h: 48 }
n14@{ icon: "mdi:cog", form: "rounded", label: "Download files", pos: "b", h: 48 }
n7 --> n6
n13 --> n6
n14 --> n3
n6 --> n14
n12 --> n13
n1 -.-> n3
n3 --> n7
n2 -.-> n3
n5 -.-> n2
n0 --> n12
end
subgraph sg1["Embeddings OpenAI2 Flow"]
direction LR
n8@{ icon: "mdi:vector-polygon", form: "rounded", label: "Embeddings OpenAI2", pos: "b", h: 48 }
n9@{ icon: "mdi:robot", form: "rounded", label: "Default Data Loader", pos: "b", h: 48 }
n10@{ icon: "mdi:robot", form: "rounded", label: "Recursive Character Text Spl..", pos: "b", h: 48 }
n11["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Delete single file"]
n15@{ icon: "mdi:cog", form: "rounded", label: "Download file", pos: "b", h: 48 }
n22@{ icon: "mdi:swap-vertical", form: "rounded", label: "Edit Fields3", pos: "b", h: 48 }
n23@{ icon: "mdi:cube-outline", form: "rounded", label: "Update single file", pos: "b", h: 48 }
n22 --> n15
n22 --> n11
n15 --> n23
n8 -.-> n23
n9 -.-> n23
n10 -.-> n9
end
subgraph sg2["When chat message received Flow"]
direction LR
n16@{ icon: "mdi:play-circle", form: "rounded", label: "When chat message received", pos: "b", h: 48 }
n17@{ icon: "mdi:robot", form: "rounded", label: "Question and Answer Chain", pos: "b", h: 48 }
n18@{ icon: "mdi:brain", form: "rounded", label: "Google Gemini Chat Model", pos: "b", h: 48 }
n19@{ icon: "mdi:cube-outline", form: "rounded", label: "Vector Store Retriever", pos: "b", h: 48 }
n20@{ icon: "mdi:cube-outline", form: "rounded", label: "Qdrant Vector Store1", pos: "b", h: 48 }
n21@{ icon: "mdi:vector-polygon", form: "rounded", label: "Embeddings OpenAI", pos: "b", h: 48 }
n21 -.-> n20
n20 -.-> n19
n19 -.-> n17
n18 -.-> n17
n16 --> n17
end
subgraph sg3["Flow 4"]
direction LR
n4["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Create collection"]
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0,n16 trigger
class n2,n5,n9,n10,n17 ai
class n18 aiModel
class n3,n23,n19,n20 ai
class n1,n8,n21 ai
class n12,n11,n4 api
classDef customIcon fill:none,stroke:none
class n12,n11,n4 customIcon
Problemet: din chattbot har självsäkert fel
Du uppdaterar ett policydokument i Google Drive, eller någon rättar ett prisark, och du antar att din ”AI-hjälpare” automatiskt plockar upp det. Det gör den inte. I de flesta upplägg skapas embeddings en gång, lagras en gång och glöms sedan bort. Resultatet blir en chattbot som låter hjälpsam medan den delar inaktuella instruktioner, trasiga länkar eller förra kvartalets argumentation. Ärligt talat är det sämre än ingen bot alls. Det skapar omarbete, eskaleringar och en stadig ström av ”Kan du dubbelkolla det här?”-meddelanden som avbryter det riktiga arbetet.
Friktionen växer. Här är var det faller isär i den dagliga driften.
- Folk slutar lita på boten efter ett eller två felaktiga svar, så införandet stannar av.
- Varje dokumentuppdatering blir ett miniprojekt eftersom någon måste komma ihåg att re-indexera det.
- Att bygga om hela vektordatabasen ”för att vara på den säkra sidan” slösar timmar och beräkningskapacitet.
- Support och interna team dras in i Slack för förtydliganden som borde ha varit självservice.
Lösningen: håll Qdrant synkat med uppdateringar i Google Drive
Det här n8n-workflowet skapar en Retrieval-Augmented Generation (RAG)-pipeline där Google Drive är dokumentkällan och Qdrant är vektordatabasen som driver sökningen. Du kan köra en fullständig build för att fylla på (eller bygga om) en collection från en Drive-mapp, vilket är användbart när du lanserar en ny kunskapsbas. Ännu viktigare: du kan också uppdatera en enskild fil via dess Google Drive-ID, re-embeda endast det som ändrats och ersätta de gamla vektorerna i Qdrant. På fråge- och svarssidan tar en chatt-trigger emot en användarfråga, hämtar de mest relevanta chunkarna från Qdrant via similarity search och genererar sedan ett svar med en chattmodell (workflowet använder Google Gemini för svar och OpenAI för embeddings). Utfallet är enkelt: svaren ligger i linje med aktuella dokument, utan en veckovis ritual att ”re-indexera allt”.
Workflowet startar antingen med en Drive-baserad uppdateringsväg eller en manuell ombyggnadsväg. Det bearbetar dokument (laddar ner, extraherar text, chunkar, embedar), skriver vektorer till Qdrant och serverar sedan svar genom att hämta kontext innan modellen svarar.
Det du får: automation vs. resultat
| Det här workflowet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut i praktiken
Säg att ditt team underhåller 40 interna dokument i Google Drive och att ungefär 5 av dem ändras en vanlig vecka. Manuellt innebär en ”re-index”-cykel ofta att ladda ner filer, köra ett script, pusha uppdateringar och sedan testa boten, vilket lätt kan ta runt 2 timmar varje gång. Med det här workflowet är en ändring i en enskild fil närmare några minuters uppsättning (klistra in fil-ID:t) plus bearbetningstid medan n8n re-embedar och uppdaterar Qdrant. Gör en full ombyggnad bara när du faktiskt vill göra det.
Det här behöver du
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- Google Drive som källmapp för dokument.
- Qdrant för att lagra och söka embeddings.
- OpenAI API-nyckel (hämta den i din OpenAI-dashboard) för embeddings.
- Google Gemini-uppgifter (hämta dem via Google AI Studio / din Google Cloud-konfiguration) för chattsvar.
Kunskapsnivå: Medel. Du kopplar konton, klistrar in några ID:n och justerar två eller tre nodvärden som collections-namn och mapp-ID.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
En mappändring eller en manuell körning startar allt. Du kan bygga om från en Drive-mapp eller rikta in dig på en specifik fil för en snabb uppdatering. Workflowet stödjer både ”börja från början” och ”uppdatera bara det här dokumentet”-lägen.
Dokument hämtas från Google Drive och görs om till användbar text. Filer laddas ner och en loader extraherar text från binärinnehållet. Därefter chunkar workflowet innehållet i mindre delar så att retrieval förblir träffsäkert.
Embeddings skapas och skrivs in i Qdrant. OpenAI skapar vektor-embeddings för varje chunk, och HTTP-förfrågningar skapar, rensar, upsertar eller tar bort data i din Qdrant-collection. En loop bearbetar filer i batchar så att du kan hantera riktiga mappar utan att få timeouts.
Frågor går via retrieval innan modellen svarar. En chatt-trigger tar emot användarfrågan, Qdrant returnerar de mest liknande chunkarna och en Question & Answer-kedja producerar ett svar med Google Gemini med den hämtade kontexten bifogad.
Du kan enkelt ändra Google Drive-mappen, chunk-storleken eller till och med chattmodellen utifrån dina behov. Se den fullständiga implementationsguiden nedan för anpassningsalternativ.
Vanliga fallgropar
- Google Drive OAuth-uppgifter kan löpa ut eller sakna mappbehörigheter. Om filer inte hittas, kontrollera Google-anslutningen i n8n och bekräfta mapp-ID i noden ”Get files”.
- Om du använder Wait-noder eller extern bearbetning varierar tiderna. Öka väntetiden om nedströms noder fallerar på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du att redigera output för alltid.
Vanliga frågor
Cirka en timme om du redan har Qdrant och dina API-nycklar redo.
Nej. Du kopplar främst uppgifter/credentials och klistrar in värden som mapp-ID:n och collections-namn.
Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volym. Du behöver också räkna med OpenAI API-användning för embeddings och eventuella kostnader för Qdrant-hosting.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger dig obegränsat antal körningar men kräver grundläggande serveradministration.
Ja, du kan filtrera Google Drive-resultat så att endast PDF:er bearbetas och sedan behålla samma flöde ”ladda ner → extrahera → chunka → embeda”. Den snabbaste ändringen är att lägga till ett villkor för filtyp före steget Binary Input Loader, eller att filtrera i steget ”Get files” så att bara filer med application/pdf går igenom. Många anpassar också chunk-storlek, namngivning av collection och inputfältet för ”single file update” så att uppdateringar kan triggas från Slack eller ett formulär istället för att redigera en nod.
Oftast beror det på utgånget OAuth-medgivande eller fel Drive-scope. Anslut Google Drive på nytt i n8n och bekräfta sedan att mappen faktiskt är åtkomlig för det kontot. Dubbelkolla också att du klistrade in rätt mapp-ID (det är lätt att råka ta ett fil-ID av misstag). Om det bara fallerar för vissa filer är behörigheter eller inställningar för ”shared drive” oftast orsaken.
Den klarar hundratals dokument utan problem, och fler om du finjusterar batchning och timeouts.
För en RAG-pipeline är svaret oftast ja. Du behöver förgreningslogik (full ombyggnad vs uppdatering av en enskild fil), batchning och några ”lim”-steg som HTTP-anrop och textbearbetning, och det blir dyrt eller klumpigt i Zapier/Make. n8n kör dessutom gärna self-hosted, vilket spelar roll när du börjar embeda mycket innehåll. Om ditt use case bara är ”när en fil ändras, skicka ett meddelande” fungerar Zapier bra. Om du är osäker, prata med en automationsexpert så får du en ärlig rekommendation.
När dina dokument och vektorer håller sig synkade slutar chattboten vara en risk och börjar bli användbar. Sätt upp det en gång och låt sedan uppdateringar i Google Drive göra jobbet.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.