Behöver ert företag hjälp med att implementera AI? Kontakta oss och få prisoffert här →
AI Skolan
januari 22, 2026

Google Drive + Qdrant: sökbara svar för team

Rickard Andersson Partner, Nodenordic.se

Ditt team har redan svaren. De är bara begravda i Drive-mappar, gamla PDF:er och skärmdumpar som ingen ens minns finns. Så samma frågor fortsätter att komma tillbaka i Slack, mejl och möten, och någon slutar med att agera mänsklig sökmotor.

Den här uppsättningen för Drive Qdrant answers träffar marketing ops och team leads först, eftersom det är de som får “var finns senaste dokumentet?” hela dagen. Byråer känner också av det när kundkunskap ligger i en delad Drive och onboarding blir en skattjakt. Resultatet är enkelt: ditt team ställer en fråga och får ett pålitligt svar snabbt, utan att du behöver gräva i filer.

Nedan ser du hur arbetsflödet gör en Google Drive-mapp till en sökbar Qdrant-kunskapsbas och sedan lägger till en chattagent som hämtar rätt utdrag (och som valfritt kan kolla webben när Drive inte har svaret).

Så här fungerar den här automatiseringen

Hela n8n-arbetsflödet, från trigger till slutligt resultat:

n8n Workflow Template: Google Drive + Qdrant: sökbara svar för team

Problemet: din “kunskapsbas” är utspridd i Drive

Google Drive är bra för lagring. Det är mindre bra för svar. Du kan söka på filnamn, kanske lite text, och ändå måste du öppna tre dokument för att hitta det enda stycket som spelar roll. Samtidigt ställer nyanställda samma onboarding-frågor, support ber om den “godkända” versionen av en policy och marknad undrar vilken deck som är okej att skicka. Även när folk hittar svaret blir det inkonsekvent, eftersom alla hänvisar till olika dokumentrevisioner. Kostnaden är ärligt talat inte bara tid. Det är de ständiga kontextbytena och den tysta förlusten av förtroende för “våra dokument”.

Friktionen växer över tid. Här är var det fallerar i verkliga team.

  • Folk slösar cirka 10 minuter per fråga genom att hoppa mellan Drive-sökresultat och öppna flikar.
  • Onboarding går långsammare eftersom tyst kunskap bor i PDF:er, inte på ett ställe där nykomlingar kan ställa frågor.
  • Svaren glider isär eftersom olika kollegor refererar till olika versioner av samma dokument.
  • Ämnesexperter blir avbrutna hela dagen, vilket skjuter riktigt arbete till kvällar och helger.

Lösningen: Google Drive-dokument omvandlade till en chattredo Qdrant-kunskapsbas

Det här arbetsflödet ger dig ett “chatta med din Drive-mapp”-system utan att du behöver bygga en egen app. Du pekar det mot en Google Drive-mapp, kör inläsningsflödet en gång, och det hämtar ner varje fil för att extrahera text (inklusive OCR för PDF:er och bilder). Sedan genererar det användbar metadata (som dokumenttyp, projekt eller vem det är tilldelat), rensar och chunkar texten, och lagrar dessa chunkar som embeddings i en Qdrant-collection. Efter det lyssnar ett andra flöde på chattmeddelanden. När någon ställer en fråga söker agenten först i Qdrant, använder de mest relevanta utdragen som kontext och svarar med klarspråk. Om Drive inte har svaret kan arbetsflödet erbjuda en valfri webbsökning via Tavily för att fylla luckor.

Arbetsflödet startar antingen med en manuell inläsningskörning eller en trigger från ett chattmeddelande. Under inläsningen loopar det igenom Drive-filer, kör OCR och metadataextraktion med Mistral, och embed:ar samt lägger in i Qdrant. Under chatt hämtar det från Qdrant och svarar, med webbsökning som fallback vid behov.

Vad du får: automatisering vs. resultat

Exempel: så här ser det ut i praktiken

Säg att ditt team får 15 “var hittar jag…”-frågor i veckan, och att varje tar cirka 10 minuter att söka i Drive, öppna dokument och svara. Det är ungefär 2,5 timmar ren uppslagstid, plus avbrott. Med det här arbetsflödet körs inläsningen i bakgrunden (en manuell körning för att starta, sedan kör du om när du lägger till dokument), och varje fråga blir ett snabbt chattmeddelande som ger ett svar på cirka en minut. Du får tillbaka runt 2 timmar i veckan, och svaren beror inte på vem som är online.

Det här behöver du

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
  • Google Drive för att hämta filer från en mapp
  • Qdrant för att lagra embeddings och sökbara chunkar
  • Mistral AI API-nyckel (hämta den i din Mistral-kontos dashboard)
  • OpenAI API-nyckel (hämta den på sidan för OpenAI API-nycklar)
  • Tavily API-nyckel (hämta den från Tavily för att aktivera webbsökning)

Kunskapsnivå: Medel. Du kopplar in credentials, klistrar in ett mapp-ID och verifierar några node-inställningar som headers och collections-namn.

Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuters konsultation).

Så här fungerar det

En manuell inläsningskörning bygger din kunskapsbas. Du startar arbetsflödet, det listar filer från en specifik Google Drive-mapp och loopar sedan igenom dem i batchar så att det inte sätter igen på en stor katalog.

Varje fil laddas ner och “läses”, även om den inte är text. Arbetsflödet skickar filen genom Mistrals OCR-process (uppladdning, signerad URL, OCR-request) och kontrollerar sedan att OCR-svaret är giltigt innan det går vidare.

Texten rensas, etiketteras och förbereds för hämtning. En metadataextraktor tilldelar användbara fält som document_type och project, och sedan normaliserar kodnoder payloaden och delar upp innehållet i hanterbara chunkar (det här arbetsflödet använder chunkar på cirka 1000 tecken).

Qdrant blir single source of truth för sök och svar. OpenAI-embeddings genereras för varje chunk och läggs in i en Qdrant-collection (exempelnamnet är “docaiauto”), som chattagenten frågar mot senare.

Du kan enkelt ändra chunkstorlek och metadatafält så att det passar dina dokument och hur ditt team söker. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementering

Steg 1: Konfigurera chatttriggern

Sätt upp chattens ingångspunkt som routar användarmeddelanden till AI-orkestreringslagret.

  1. Lägg till och öppna Chat Message Trigger.
  2. Aktivera publik åtkomst genom att ställa in Publictrue.
  3. Bekräfta kopplingsflödet: Chat Message TriggerAI Chat Orchestrator.

Steg 2: Konfigurera den manuella triggern för inhämtning

Aktivera en manuell körväg för att hämta in och indexera dokument från Google Drive.

  1. Lägg till och öppna Manual Run Trigger för att starta inhämtningens flöde.
  2. Säkerställ att flödet är kopplat: Manual Run TriggerDrive File Listing.

Steg 3: Anslut Google Drive och filbearbetning

Hämta filer från Drive, iterera över dem och fånga metadata för efterföljande OCR.

  1. Öppna Drive File Listing och ställ in ResourcefileFolder och Search Methodquery.
  2. Ställ in Filter → Folder ID till er Drive-mapp-URL i uttrycksfältet (nuvarande värde är =).
  3. Autentiseringsuppgifter krävs: Anslut era googleDriveOAuth2Api-uppgifter i Drive File Listing och Drive File Download.
  4. I Append File Metadata bekräftar ni att tilldelningarna använder uttryck som {{ $json.id }}, {{ $json.name }}, {{ $json.webViewLink }} och {{ $json.modifiedTime }}.
  5. I Drive File Download ställer ni in Operationdownload och sätter File ID till {{ $('Append File Metadata').item.json.file_url }}.

⚠️ Vanlig fallgrop: Drive File Download förväntar sig ett fil-ID, men uttrycket refererar till en URL. Om nedladdningar misslyckas, byt till Drive-filens ID i stället för file_url.

Steg 4: Konfigurera Mistral OCR-pipeline

Ladda upp filer till Mistral, generera en signerad URL och kör OCR för att extrahera text.

  1. Öppna Mistral File Upload och behåll URL som https://api.mistral.ai/v1/files med Method satt till POST och Content Type till multipart-form-data.
  2. Autentiseringsuppgifter krävs: Anslut era mistralCloudApi-uppgifter i Mistral File Upload, Mistral Signed Link, Mistral OCR Request och Mistral Chat Model.
  3. I Mistral Signed Link ställer ni in URL=https://api.mistral.ai/v1/files/{{ $json.id }}/url och behåller frågeparametern expiry24.
  4. I Mistral OCR Request ställer ni in JSON Body till { "model": "mistral-ocr-latest", "document": { "type": "document_url", "document_url": "{{ $json.url }}" }, "include_image_base64": true }.
  5. I Validate OCR Output säkerställer ni att villkoret kontrollerar {{ $json.data[0].parseJson().skipped }} med Not Exists för att bara släppa igenom giltiga OCR-resultat.

Steg 5: Extrahera metadata och normalisera för indexering

Extrahera dokumentmetadata och normalisera den sedan till ett konsekvent format för embedding och lagring.

  1. Öppna Derive Document Metadata och bekräfta att Text är satt till {{ $json.pages[0].markdown }}.
  2. Säkerställ att Mistral Chat Model är ansluten som språkmodell för Derive Document Metadata; lägg till autentiseringsuppgifter i Mistral Chat Model (överordnad nod), inte i extraktorn.
  3. I Assemble Metadata Fields verifierar ni att uttrycken mappar fält som {{ $('Drive File Download').item.json.file_title }} och {{ $('Validate OCR Output').item.json.pages[0].markdown }}.
  4. Öppna Normalize Output Payload och behåll JavaScript-koden som mappar till content och metadata (observera att nyckeln " source" innehåller ett inledande blanksteg).

⚠️ Vanlig fallgrop: Metadatanyckeln " source" i Normalize Output Payload innehåller ett inledande blanksteg. Om ni tar bort det måste ni uppdatera alla referenser som förväntar sig exakt denna nyckel.

Steg 6: Dela upp texten i chunkar och infoga i Qdrant

Dela upp dokument i chunkar, skapa embeddings och infoga i Qdrant för återhämtning.

  1. I Segment Text Chunks behåller ni chunk-konfigurationen med chunkSize = 1000 och chunkOverlap = 100.
  2. Autentiseringsuppgifter krävs: Anslut era qdrantApi-uppgifter i Qdrant Insert Store och Qdrant Retrieval Tool.
  3. Bekräfta att OpenAI Embedding Generator är ansluten som embeddingmodell för Qdrant Insert Store; lägg till autentiseringsuppgifter i OpenAI Embedding Generator (överordnad nod), inte i lagringsnoden.
  4. I Qdrant Insert Store behåller ni Mode som insert och Embedding Batch Size som =200.
  5. I Standard Document Loader bekräftar ni metadatauttryck som {{ $('Assemble Metadata Fields').item.json["Document name"] }} och {{ $('Drive File Download').item.json.file_url }}.

⚠️ Vanlig fallgrop: Segment Text Chunks refererar till updatedText men definierar bara text. Om chunkarna är tomma, ersätt updatedText med text.

Steg 7: Konfigurera AI-chattorkestrering och verktyg

Konfigurera chatboten så att den använder Qdrant-återhämtning, OpenAI-embeddings och valfri extern webbsökning.

  1. Öppna AI Chat Orchestrator och granska System Message för era önskade regler för återhämtning och svar.
  2. Autentiseringsuppgifter krävs: Anslut era openAiApi-uppgifter i OpenAI Chat Model Core, som är kopplad till AI Chat Orchestrator som språkmodell.
  3. Säkerställ att Qdrant Retrieval Tool är ansluten till AI Chat Orchestrator och använder docaiauto för Qdrant Collection.
  4. Säkerställ att OpenAI Embedding Tool A är ansluten till Qdrant Retrieval Tool för embeddings; lägg till autentiseringsuppgifter i OpenAI Embedding Tool A (överordnad nod), inte i verktyget.
  5. I External Web Lookup behåller ni URL som https://api.tavily.com/search och JSON Body-uttrycket som konfigurerat med {query}.

⚠️ Vanlig fallgrop: External Web Lookup har en Authorization-header satt till [CONFIGURE_YOUR_TOKEN]. Ersätt detta med er faktiska Tavily API-nyckel innan ni aktiverar webbsökning.

Steg 8: Granska stöd-/platshållarnoder

Bekräfta eventuella icke-exekverande eller platshållarnoder och behåll dem för framtida utbyggnad eller tydlighet i dokumentationen.

  1. Behåll Flowpast Branding som en dokumentations-anteckning (påverkar inte körning).
  2. Granska Unnamed (okänd nod) som en platshållare; den påverkar inte exekveringen om den inte kopplas in.
  3. Bekräfta att Character Chunk Splitter är länkat in i Standard Document Loader som AI-textsplitter.

Steg 9: Testa och aktivera ert arbetsflöde

Validera både inhämtningens flöde och chattflödet innan ni slår på produktion.

  1. Klicka på Execute Workflow och kör Manual Run Trigger för att bekräfta att filer går igenom Drive File ListingQdrant Insert Store.
  2. Verifiera lyckad OCR och metadataextraktion genom att kontrollera output i Validate OCR Output och Assemble Metadata Fields.
  3. Testa chattflödet genom att skicka ett meddelande till Chat Message Trigger och bekräfta att AI Chat Orchestrator returnerar ett svar med källor.
  4. När testerna passerar växlar ni arbetsflödet till Active för produktion.
🔒

Lås upp fullständig steg-för-steg-guide

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Google Drive-credentials kan löpa ut eller sakna filbehörigheter. Om inläsningen plötsligt returnerar noll filer, kontrollera först åtkomsten för Google-kontot och mappens delningsinställningar.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om noder längre fram fallerar på tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du redigera output för alltid.

Vanliga frågor

Hur lång tid tar det att sätta upp den här Drive Qdrant answers-automatiseringen?

Räkna med cirka en timme om du redan har dina API-nycklar.

Behöver jag kunna koda för att automatisera Drive Qdrant answers?

Nej. Du kommer mest att koppla konton och klistra in ID:n/nycklar i rätt noder.

Är n8n gratis att använda för det här Drive Qdrant answers-arbetsflödet?

Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer börjar på $20/månad för högre volym. Du behöver också räkna in kostnader för OpenAI-embeddings (oftast några dollar i månaden för små teamdokument) plus Mistral OCR och Tavily om du aktiverar webbsökning.

Var kan jag hosta n8n för att köra den här automatiseringen?

Två alternativ: n8n Cloud (hanterat, enklast setup) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serveradministration.

Kan jag anpassa det här Drive Qdrant answers-arbetsflödet för flera Drive-mappar?

Ja, men du vill göra det med eftertanke. Det enklaste är att duplicera noden “Drive File Listing” per mapp och slå ihop fillistorna innan batch-loopen. Om du föredrar ett enda arbetsflöde kan du skicka in ett mapp-ID till inläsningsflödet (från ett kalkylark, en webhook eller manuell input) och återanvända samma pipeline. Vanliga anpassningar är att byta Qdrant-collection per mapp, lägga till ett filter för “uppdaterad sedan senaste körning” och utöka metadatafält i extraktorn “Derive Document Metadata”.

Varför fallerar min Google Drive-anslutning i det här arbetsflödet?

Oftast handlar det om behörigheter. Det anslutna Google-kontot behöver åtkomst till målmappen och dess innehåll, och delade enheter kan kräva extra scopes beroende på hur din admin har låst ner saker. Kontrollera också att mapp-ID:t är korrekt (ett enda fel tecken ger inget resultat) och bekräfta att credentials som valts i varje Google Drive-nod matchar samma konto.

Hur många dokument kan den här Drive Qdrant answers-automatiseringen hantera?

Några tusen dokument är normalt, och den praktiska gränsen beror på din n8n-exekveringskapacitet och hur du dimensionerar Qdrant.

Är den här Drive Qdrant answers-automatiseringen bättre än att använda Zapier eller Make?

För RAG-liknande arbetsflöden är n8n oftast bättre, eftersom du inte bara flyttar data mellan appar. Du loopar igenom filer, validerar OCR-output, chunkar text, skapar embeddings och skriver in i en vektordatabas, och kör sedan ett andra chattflöde som hämtar och svarar. Zapier och Make klarar enkla “ny fil → skicka notis”-flöden, men den här typen av logik blir snabbt klumpig och dyr. n8n ger dig också self-hosting, vilket spelar roll när du börjar läsa in många dokument. Vill du ha en second opinion innan du bestämmer dig, prata med en automationsexpert.

När det här väl rullar slutar Drive vara en dumpingplats och börjar fungera som en riktig intern wiki. Sätt upp det, mata in din mapp och låt arbetsflödet ta hand om återkommande frågor.

Kontakta oss

Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.

×

Använd mall

Få direkt tillgång till denna n8n-arbetsflödes JSON-fil

Launch login modal Launch register modal