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

Qdrant + Google Sheets: spåra träffar på 1 sekund

Rickard Andersson Partner, Nodenordic.se

Ditt RAG-system kan “kännas” bättre efter en justering, men om du inte kan mäta retrieval-kvaliteten gissar du i praktiken. Och gissningar blir snabbt dyra, särskilt när juridiska svar måste vara exakta.

Det här arbetsflödet för Qdrant Sheets-loggning riktar sig i första hand till AI-ingenjörer och produktägare, men juridiska ops-team som kör intern sökning märker också effekten. Du får ett enkelt, repeterbart sätt att följa hits@1 så att du ser när retrieval förbättras (eller i tysthet blir sämre).

Du lär dig vad automationen gör från start till mål, vad du behöver för att köra den och hur du använder resultatet för att finjustera hybrid retrieval med trygghet.

Så fungerar den här automationen

Här är hela arbetsflödet du kommer att sätta upp:

n8n Workflow Template: Qdrant + Google Sheets: spåra träffar på 1 sekund

Varför detta är viktigt: mät retrieval-kvalitet utan gissningar

Hybridsök är kraftfullt, men det är också lätt att “trimma” åt fel håll. Du byter embeddingmodell, justerar BM25-inställningar, lägger till Reciprocal Rank Fusion (RRF) och svaren ser okej ut i ett par stickprov. Sedan, en vecka senare, säger någon att assistenten plötsligt missar uppenbara passager. Rotorsaken är oftast banal: ingen baslinje, ingen konsekvent utvärderingsmängd och ingen plats där resultaten loggas så att du kan jämföra över tid. Manuell testning blir till slumpmässiga skärmdumpar och halvt ihågkomna anekdoter.

Det ackumuleras snabbt. Här är var det faller isär i riktiga team.

  • Du kör “snabba tester” i Qdrant, men resultaten sparas ingenstans där du kan jämföra senare.
  • Utvärderingsfrågor finns i en dataset, men ingen har tid att köra dem en och en efter varje justering av retrieval.
  • Små ändringar i fusion eller embeddings kan flytta toppresultatet, vilket gör att hits@1 kan sjunka utan att någon märker det.
  • Utan ett enkelt mått argumenterar team utifrån åsikter i stället för data, och iterationstakten sjunker.

Det du bygger: en logg för utvärdering av hybridsök i Google Sheets

Det här arbetsflödet kör en repeterbar utvärdering av hybridsök mot en Qdrant-kollektion och skriver resultatet till en dataset-liknande logg som du faktiskt kan använda. Det börjar med att hämta dataset-partitioner och filtrera till test-partitionen, och hämtar sedan testfrågor (med förväntade svar) från LegalQAEval-datasetet. Varje fråga behandlas individuellt i batchar, omvandlas till en embedding (med Qdrant Cloud Inference som standard, eller en extern embedding-leverantör om du föredrar), och skickas till Qdrant för en hybridfråga som kombinerar nyckelords-retrieval (BM25) och semantisk retrieval (mxbai-embed-large-v1). Därefter slår arbetsflödet ihop det returnerade sammanhanget med det förväntade svaret, markerar om topp-1-resultatet är en träff och aggregerar allt till ett slutligt hits@1-värde som du kan följa över tid.

Arbetsflödet startar med en manuell trigger, så att du kan köra det när du ändrar retrieval-inställningar. Det bearbetar en definierad delmängd av frågor, beräknar hits@1 från resultaten och förbereder utdata så att du kan registrera det i Google Sheets för enkel jämförelse mellan körningar.

Det du bygger

Förväntade resultat

Säg att du utvärderar cirka 100 testfrågor efter varje justering av retrieval. Manuellt, även 2 minuter per fråga för att söka, skanna toppresultatet och notera “träff eller miss” blir ungefär 3 timmar, och du har fortfarande inte korrekt formaterad data att jämföra nästa vecka. Med det här arbetsflödet triggar du en körning, låter Qdrant köra hybridsök i batchar och får hits@1-poängen plus utfall per fråga redo att loggas. De flesta team går från “vi tror att det är bättre” till “vi kan bevisa det” på en enda förmiddag.

Innan du börjar

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
  • Qdrant för hybrid retrieval mot din kollektion
  • Google Sheets för att spara körningar och jämföra resultat
  • Qdrant API-nyckel (hämta den i din Qdrant Cloud-dashboard)

Kunskapsnivå: Medel. Du kopplar in inloggningar/credentials och kan behöva justera några fält (som kollektionsnamn och dataset-endpoints).

Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).

Steg för steg

Du triggar en utvärderingskörning. Arbetsflödet startar med en manuell trigger, vilket är perfekt för lägen där du vill “kör detta efter att jag ändrat något”, till exempel bytt embeddingmodell eller justerat vikter i hybridfrågan.

Datasetet hämtas och filtreras. n8n hämtar LegalQAEval-partitionerna via HTTP, expanderar listan, filtrerar ner till test-partitionen och hämtar utvärderingsfrågorna. Endast besvarade frågor går vidare, så att du poängsätter mot sådant som faktiskt kan valideras.

Varje fråga behandlas i batchar och söks i Qdrant. Arbetsflödet väljer de fält som behövs, itererar genom frågor i batchar, genererar embeddings (Qdrant Cloud Inference som standard) och kör en hybrid-sökfråga som använder både nyckelords- och semantisk retrieval med ett fusionsteg.

Resultat poängsätts och aggregeras. För varje fråga slår arbetsflödet ihop den högst rankade hämtade chunk:en med det förväntade svaret och markerar en “träff” när topp-1 innehåller rätt svar. Därefter aggregerar det alla poster och beräknar hits@1, som du kan logga till Google Sheets och följa mellan körningar.

Du kan enkelt ändra uppsättningen utvärderingsfrågor för att testa olika domäner utifrån dina behov. Se den fullständiga implementationsguiden nedan för anpassningsalternativ.

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

Steg 1: konfigurera den manuella triggern

Ställ in arbetsflödet så att det startar manuellt och ange datasetidentifieraren som efterföljande HTTP-anrop förväntar sig.

  1. Lägg till en Dataset Index Trigger-nod som din trigger.
  2. Vid testning: inkludera en JSON-indata med fältet dataset så att Fetch Dataset Partitions kan tolka {{$json.dataset}}.

Om ni ser tomma resultat från Fetch Dataset Partitions, kontrollera att inkommande item har ett giltigt dataset-värde (t.ex. legalQA eller ett annat Hugging Face-dataset-ID).

Steg 2: koppla anropen för hämtning av dataset

Konfigurera HTTP request-noderna för att hämta dataset-splits och plocka ut testrader.

  1. I Fetch Dataset Partitions, ställ in URL till https://datasets-server.huggingface.co/splits och aktivera Send Query.
  2. I Fetch Dataset Partitions, sätt query-parametern dataset till {{ $json.dataset }}.
  3. I Expand Split List, ställ in Field to Split Out till splits.
  4. I Filter Test Partition, lägg till ett villkor där Left Value är {{ $json.split }}, Operation är equals och Right Value är test.
  5. I Retrieve Test Questions, ställ in URL till =https://datasets-server.huggingface.co/rows och aktivera Send Query.
  6. I Retrieve Test Questions, sätt query-parametrarna: dataset till {{ $json.dataset }}, config till {{ $json.config }}, split till {{ $json.split }} och length till 100.

⚠️ Vanlig fallgrop: Om Filter Test Partition filtrerar bort alla items, verifiera att split-namnet är exakt test (skiftlägeskänsligt).

Steg 3: ställ in frågebearbetning och batchning

Dela upp rader till enskilda frågor, filtrera besvarade items och forma fält för utvärdering av retrieval.

  1. I Split Rows Individually, ställ in Field to Split Out till rows.
  2. I Filter Answered Questions, lägg till ett villkor där Left Value är {{ $json.row.answers.length }}, Operation är gt och Right Value är 0.
  3. I Select Question Fields, lägg till tilldelningar för id_qa satt till {{ $json.row.id }} och question satt till {{ $json.row.question }}.
  4. Koppla Select Question Fields till Batch Iterate Items för att bearbeta items i kontrollerbara batchar.
  5. Batch Iterate Items skickar utdata till både Combine Results och Hybrid Search Query parallellt.

Om ni vill ha färre API-anrop vid testning, minska parametern length i Retrieve Test Questions från 100 till ett lägre tal.

Steg 4: ställ in utvärdering av retrieval och aggregering

Konfigurera Qdrant hybrid search, kombinera resultat, markera träffar och beräkna träffgrad.

  1. I Hybrid Search Query, ställ in Resource till search och Operation till queryPoints.
  2. I Hybrid Search Query, ställ in Limit till 1, Query till { "fusion": "rrf" } och Prefetch till =[ { "query": { "text": "{{ $json.question }}", "model": "mixedbread-ai/mxbai-embed-large-v1" }, "using": "mxbai_large", "limit": 25 }, { "query": { "text": "{{ $json.question }}", "model": "qdrant/bm25" }, "using": "bm25", "limit": 25 } ].
  3. I Hybrid Search Query, välj samlingen legalQA_test i Collection Name.
  4. Inloggningsuppgifter krävs: Anslut era qdrantApi-credentials i Hybrid Search Query.
  5. I Combine Results, ställ in Mode till combine och Combine By till combineAll.
  6. I Mark Retrieval Hit, behåll Include som selected, Include Fields som id_qa,question och lägg till isHit med värdet {{ $json.result.points[0].payload.ids_qa.includes($json.id_qa) }}.
  7. I Aggregate Evaluation Data, ställ in Aggregate till aggregateAllItemData och Destination Field Name till eval.
  8. I Compute Hit Rate, ställ in värdet för Hits percentage till {{ ($json.eval.filter(item => item.isHit).length * 100) / $json.eval.length}}.

⚠️ Vanlig fallgrop: Om Mark Retrieval Hit ger fel, verifiera att $json.result.points[0] finns och att er Qdrant-payload innehåller ids_qa.

Steg 5: testa och aktivera ert arbetsflöde

Kör ett manuellt test för att validera retrieval-utvärderingen och aktivera sedan arbetsflödet.

  1. Klicka Execute Workflow och ange ett exempel-item med dataset satt (t.ex. legalQA).
  2. Bekräfta att Compute Hit Rate ger ett numeriskt värde för Hits percentage.
  3. Verifiera att Aggregate Evaluation Data innehåller en eval-array med isHit-värden.
  4. När allt är validerat, slå på arbetsflödet Active för att möjliggöra körningar i produktion.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Tips för felsökning

  • Qdrant-inloggningar kan löpa ut eller kräva specifika behörigheter. Om det skapar fel, kontrollera först dina Qdrant Cloud API-nycklar och projektets åtkomstinställningar.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in ert tonalitet/brand voice tidigt, annars kommer du att redigera utdata för alltid.

Snabba svar

Hur lång tid tar det att sätta upp den här automationen för Qdrant Sheets-loggning?

Cirka 30 minuter om din Qdrant-kollektion redan finns.

Krävs kodning för den här hits@1-spårningen?

Ingen kodning krävs. Du kopplar främst Qdrant- och Google-credentials och uppdaterar sedan ett par fält, som kollektionsnamn.

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

Ja. n8n har ett gratis alternativ för egen drift 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 in Qdrant-användning och eventuella kostnader för valfri embedding-leverantör.

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

Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen drift på en VPS. För egen drift är Hostinger VPS prisvärd och hanterar n8n bra. Egen drift ger dig obegränsade körningar men kräver grundläggande serveradministration.

Kan jag modifiera det här arbetsflödet för Qdrant Sheets-loggning för andra användningsfall?

Ja, och det borde du förmodligen. Du kan byta datasetets HTTP Request-noder så att de pekar på din egen utvärderingsmängd, justera Set-noden “Select Question Fields” så att den matchar ditt schema och återanvända noden “Hybrid Search Query” mot en annan Qdrant-kollektion. Vanliga justeringar är att ändra batchstorlek, logga extra fält (som toppscore) och testa alternativa embedding-leverantörer som OpenAI. Om du finjusterar för juridik kan du också lägga till metadatafilter för att avgränsa retrieval till jurisdiktion, domstol eller dokumenttyp.

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

Oftast handlar det om en utgången eller felaktig API-nyckel i Qdrant-credentials i n8n. Dubbelkolla kluster-URL:en, bekräfta att nyckeln fortfarande har åtkomst till projektet och säkerställ att målkollektionens namn matchar exakt. Om du kör många frågor samtidigt kan du också slå i rate limits, så att minska batchstorleken kan hjälpa. Verifiera till sist att Qdrant Cloud Inference (eller externa embeddings) är aktiverat om arbetsflödet förväntar sig att embeddings ska genereras under körningen.

Vilken volym kan det här arbetsflödet för Qdrant Sheets-loggning hantera?

Några hundra frågor per körning är realistiskt i de flesta upplägg, och du kan skala genom att justera batchstorlek och din n8n-plan. Om du kör egen drift finns ingen körningsgräns, men din server och Qdrant-genomströmning blir flaskhalsen.

Är den här automationen för Qdrant Sheets-loggning bättre än att använda Zapier eller Make?

Ofta, ja. Det här arbetsflödet är inte bara “flytta data från A till B”; det loopar genom poster, batchar anrop, slår ihop sökutdata och beräknar ett mått, vilket är den typ av flersteglogik som blir klumpig (och dyr) i Zapier. n8n ger dig också en väg för egen drift, vilket spelar roll när du kör upprepade utvärderingar. Zapier eller Make kan fungera för enkel loggning, men de är inte byggda för tyngre utvärderingspipelines. Om du tvekar, prata med en automationsexpert och beskriv vad du försöker mäta.

När hits@1 blir synligt slutar trimningen vara en debatt och blir en enkel loop: ändra, kör, jämför, upprepa. Arbetsflödet tar hand om den repetitiva kontrollen så att du kan fokusera på att faktiskt göra retrieval bättre.

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