Din chatbot är bara så bra som senaste gången du uppdaterade den. Lansera en ny sida, ändra prissättning, byt namn på en funktion – och plötsligt har din bot tvärsäkert fel. Det är inte ett “bra-att-fixa”-problem. Det skapar supportärenden, förlorade provperioder och obekväma säljsamtal.
Den här Gemini Pinecone sync träffar marknadschefer först (för lanseringar går fort). Men supportansvariga känner av det när kunder citerar föråldrade dokument, och byråteam känner av det när varje kund vill ha “boten uppdaterad” redan i går.
Det här arbetsflödet gör om dina webbplatssidor till uppdaterade embeddings i Pinecone, så att sök- och chatt-svar fortsätter ligga i linje med det som faktiskt står på sajten. Du får se hur det fungerar, vad du behöver och var team oftast går bet.
så fungerar den här automationen
Se hur detta löser problemet:
n8n Workflow Template: Google Gemini + Pinecone: håll din bot uppdaterad
flowchart LR
subgraph sg0["Sitemap or URL Input Flow"]
direction LR
n0["<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/code.svg' width='40' height='40' /></div><br/>Derive Page Links"]
n1@{ icon: "mdi:cog", form: "rounded", label: "XML to Data Parser", pos: "b", h: 48 }
n2["<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/>Retrieve Sitemap"]
n3["<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/code.svg' width='40' height='40' /></div><br/>Segment Page Links"]
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/merge.svg' width='40' height='40' /></div><br/>Combine Link Streams"]
n5@{ icon: "mdi:cog", form: "rounded", label: "Eliminate Duplicate Links", pos: "b", h: 48 }
n6@{ icon: "mdi:swap-vertical", form: "rounded", label: "Iterate Page Links", pos: "b", h: 48 }
n7["<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/html.dark.svg' width='40' height='40' /></div><br/>Parse Page Content"]
n8["<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/>Request Page HTML"]
n9@{ icon: "mdi:cog", form: "rounded", label: "Pause 5 Seconds", pos: "b", h: 48 }
n10@{ icon: "mdi:robot", form: "rounded", label: "Document Loader", pos: "b", h: 48 }
n11@{ icon: "mdi:vector-polygon", form: "rounded", label: "Gemini Vector Embeddings", pos: "b", h: 48 }
n12@{ icon: "mdi:cube-outline", form: "rounded", label: "Pinecone Vector Store", pos: "b", h: 48 }
n13["<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/form.svg' width='40' height='40' /></div><br/>Sitemap or URL Input"]
n14@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Route Input Type", pos: "b", h: 48 }
n14 --> n3
n14 --> n2
n4 --> n5
n9 --> n6
n10 -.-> n12
n2 --> n1
n1 --> n0
n7 --> n12
n3 --> n4
n0 --> n4
n11 -.-> n12
n6 --> n7
n6 --> n8
n5 --> n6
n13 --> n14
n8 --> n9
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 n13 trigger
class n10 ai
class n12 ai
class n11 ai
class n14 decision
class n2,n8 api
class n0,n3 code
classDef customIcon fill:none,stroke:none
class n0,n2,n3,n4,n7,n8,n13 customIcon
Utmaningen: inaktuell webbplatskunskap i din bot
De flesta “AI-chatbotar” misslyckas inte för att modellen är dålig. De misslyckas för att kunskapsbasen är inaktuell, ofullständig eller full av duplicerade rester från förra kvartalet. Någon publicerar en ny landningssida, teamet uppdaterar en hjälpartikel och boten fortsätter svara utifrån den gamla versionen eftersom ingen hade tid att indexera om innehållet. Och när du väl försöker uppdatera manuellt slutar det med att du kopierar textstycken, rensar dem, delar upp dem, laddar upp dem och sedan hoppas att du inte missade en URL.
Friktionen växer. En missad uppdatering är irriterande. En månad av missade uppdateringar blir ett förtroendeproblem.
- Nya sidor och dokumentuppdateringar når inte ditt Pinecone-index om inte någon kommer ihåg att uppdatera det.
- Manuellt “kopiera från sajten in i ett kalkylark”-arbete går långsamt och smyger in formateringsskräp som försämrar kvaliteten i hämtningen.
- Dubblett-URL:er smyger sig in via sitemaps, omdirigeringar eller manuellt inmatade listor, vilket gör att du betalar för att embeda samma innehåll två gånger.
- När boten svarar fel hamnar teamet i brandsläckning i Slack i stället för att förbättra produkt eller innehåll.
Lösningen: bygg om Pinecone-embeddings automatiskt från din webbplats
Det här arbetsflödet bygger om din webbplatskunskapsbas i Pinecone från sanningskällan: dina livesidor. Det startar när du skickar in antingen en sitemap-URL eller en lista med specifika sid-URL:er via ett enkelt formulär. Arbetsflödet hämtar sitemapen om du angav en, konverterar den till användbar data, extraherar varje sidlänk och slår sedan ihop dessa länkar med eventuella manuella URL:er du skrev in. Efter att dubbletter tagits bort loopar det igenom varje unik sida, laddar ner HTML och extraherar korrekt formaterad brödtext (inga bilder, mindre brus). Den rensade texten skickas till Google Gemini för att generera embeddings och laddas sedan upp till Pinecone som en ny, sökbar namespace. Innan den nya uppladdningen rensas den befintliga namespacen så att du inte får en rörig blandning av gammalt och nytt.
Flödet börjar med din sitemap eller URL-lista. Sedan hämtar och rensar det sidinnehåll via HTTP-anrop och HTML-parsning. Till sist skapar Gemini embeddings och Pinecone lagrar dem så att din chatbot eller sajtsök kan hämta uppdaterade svar utan manuellt merarbete.
Vad som förändras: före vs. efter
| Det här tar bort | Effekten du märker |
|---|---|
|
|
Praktisk effekt i verkligheten
Säg att du behöver att boten täcker 80 sidor: prissättning, dokumentation, integrationer och några blogginlägg. Manuellt kan även en “snabb” process – öppna varje sida, kopiera huvudinnehållet, rensa det och ladda upp – ta cirka 10 minuter per sida, så du hamnar på ungefär 13 timmar monotont arbete. Med det här arbetsflödet klistrar du in en sitemap-länk (eller en URL-lista) i formuläret och låter det sedan köra medan det hämtar och embedar sidor med en kort väntan mellan anropen. Du lägger kanske 10 minuter på att sätta upp och kontrollera körningen, sen är det klart.
Krav
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- Google Gemini API för att generera text-embeddings
- Pinecone för att lagra och söka vektorer
- Google Gemini API-nyckel (hämta den från Google AI Studio / Gemini API-referenser)
Svårighetsnivå: Medel. Du kopplar API:er, sätter ett index/namespace och testar med en riktig sitemap.
Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).
Arbetsflödet steg för steg
Du skickar in en sitemap-URL eller en lista med URL:er. En formulärtrigger samlar in din input och en routningsregel (en switch) avgör om den ska hämta en sitemap eller behandla dina poster som direkta sidlänkar.
Länkar samlas in, slås ihop och städas. Om du angav en sitemap laddar arbetsflödet ner XML:en, konverterar den till data det kan jobba med och extraherar sid-URL:er. Det slår ihop dem med manuella URL:er och tar bort dubbletter, vilket gör att din embedding-kostnad inte skenar.
Varje sida hämtas och görs om till korrekt formaterad text. Arbetsflödet loopar igenom de unika URL:erna i batchar, hämtar HTML, väntar några sekunder mellan anropen för att vara schysst och extraherar meningsfullt body-innehåll samtidigt som det tar bort brus.
Gemini skapar embeddings, sedan uppdateras Pinecone. Den rensade sidtexten blir embeddings via Google Gemini och resultatet skrivs in i Pinecone som en kunskapsbas. Namespacen rensas först, så att du alltid har en sammanhängande “aktuell” version.
Du kan enkelt ändra input-metoden för att auto-köra på schema eller ändra namespace-strategin för att behålla versioner sida vid sida beroende på behov. Se den fullständiga implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera formulärtriggern
Konfigurera arbetsflödets startpunkt så att användare kan skicka in antingen en webbplatskarta-URL eller en URL till en enskild sida.
- Lägg till noden Sitemap or URL Input som trigger.
- Öppna Sitemap or URL Input och konfigurera formulärfälten som krävs för att samla in en webbplatskarta-URL eller en sid-URL.
- Säkerställ att Sitemap or URL Input är ansluten till Route Input Type.
Steg 2: Routa och hämta URL:er
Använd villkorsstyrd routning för att hantera antingen direkta URL:er eller webbplatskarta-indata, och extrahera sedan sidlänkar från webbplatskartor.
- I Route Input Type konfigurerar ni villkor för att dela upp webbplatskarta-indata kontra indata med en enskild URL.
- Anslut webbplatskarta-flödet till Retrieve Sitemap, sedan till XML to Data Parser och därefter till Derive Page Links.
- Anslut flödet för direkt URL till Segment Page Links.
- Bekräfta att både Segment Page Links och Derive Page Links matar in i Combine Link Streams.
Steg 3: Ta bort dubbletter och iterera igenom länkar
Slå ihop och rensa listan med länkar, och loopa sedan igenom varje sida för att extrahera innehåll.
- Från Combine Link Streams, routa utdata till Eliminate Duplicate Links.
- Anslut Eliminate Duplicate Links till Iterate Page Links för att bearbeta en sida i taget.
- I Iterate Page Links håller ni batchstorleken anpassad till webbplatsens skala för att undvika överbelastning.
- Observera att Iterate Page Links skickar utdata parallellt till både Parse Page Content och Request Page HTML.
- Anslut Request Page HTML till Pause 5 Seconds och sedan tillbaka till Iterate Page Links för att hålla nere request-takten.
Steg 4: Parsea sidinnehåll för indexering
Extrahera strukturerat innehåll från varje sida så att det kan bäddas in och lagras i vektordatabasen.
- Konfigurera Request Page HTML för att hämta HTML för varje URL som skickas från Iterate Page Links.
- Använd Parse Page Content för att extrahera relevant text från HTML-svaret.
- Säkerställ att Parse Page Content routar vidare till Pinecone Vector Store för efterföljande indexering.
Steg 5: Konfigurera AI-embeddings och vektorlagring
Konfigurera AI- och vector store-komponenterna för att generera embeddings och indexera dem för sök.
- Öppna Pinecone Vector Store och konfigurera den för att ta emot innehåll från Parse Page Content.
- Anslut Document Loader till Pinecone Vector Store via anslutningen ai_document.
- Anslut Gemini Vector Embeddings till Pinecone Vector Store via anslutningen ai_embedding.
- Credential Required: Anslut era Pinecone-uppgifter i Pinecone Vector Store.
- Credential Required: Anslut era Google Gemini-uppgifter i Pinecone Vector Store för modellen Gemini Vector Embeddings (uppgifterna hanteras på föräldranoden).
Steg 6: Testa och aktivera ert arbetsflöde
Validera arbetsflödet end-to-end och aktivera det för produktionsanvändning.
- Klicka på Execute Workflow och skicka in en test-URL eller webbplatskarta i Sitemap or URL Input.
- Verifiera att Route Input Type skickar indatan till rätt flöde och att Combine Link Streams konsoliderar länkarna.
- Bekräfta att Parse Page Content genererar läsbar text och att Pinecone Vector Store visar lyckade upserts.
- När allt fungerar, växla arbetsflödet till Active så att det kan bearbeta nya indata automatiskt.
Saker att se upp med
- Google Gemini-referenser kan löpa ut eller vara kopplade till fel projekt. Om det strular, kontrollera först din Gemini API-nyckel och projekttillgång i dina Google AI-referenser.
- Om du använder Wait-noder eller extern bearbetning varierar körtider. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du att redigera outputs för alltid.
Vanliga frågor
Cirka 30 minuter om du redan har API-nycklar och ett Pinecone-index.
Ja, men någon behöver vara bekväm med API-nycklar och testning. Ingen kodning krävs, men du kommer att justera inputs och bekräfta att det extraherade innehållet ser rätt ut.
Ja. n8n har ett gratis alternativ för egen hosting och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volymer. Du behöver även räkna med API-kostnader för Google Gemini och Pinecone baserat på användning.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och hanterar n8n bra. Egen hosting ger obegränsade körningar men kräver grundläggande serverhantering.
Du kan byta ut formulärinput mot en Google Drive Trigger om du vill att uppdateringar ska köras när en ny sitemap-fil laddas upp, eller lägga till ett Google Sheets-steg för att underhålla en lista med “godkända URL:er”. Många team justerar också väntetiden i “Pause 5 Seconds” för att matcha sajtens rate limits och lägger till extra parsregler i extraheringen av sidinnehåll så att bara dokumentation (inte navigationstext) embedas. Om du vill ha versionshantering kan du ändra Pinecone-namespace-logiken så att varje körning skriver till en daterad namespace i stället för att rensa samma.
Oftast beror det på en ogiltig API-nyckel eller fel miljöinställningar för ditt Pinecone-projekt. Dubbelkolla indexnamn, region och namespace och bekräfta sedan att din nyckel har åtkomst att skriva vektorer. Om det bara fallerar vid större körningar kan du slå i rate limits eller begränsningar för request-storlek, så minska batchstorlek eller embeda mindre textbitar.
Det beror på din n8n-plan och din server, men för många sajter går det bra att bearbeta hundratals sidor per körning. Om du kör egen hosting finns ingen körningsgräns (det handlar främst om CPU/RAM och hur snabbt du vill hämta sidor). På n8n Cloud hanterar högre nivåer fler körningar per månad, och väntan mellan anrop håller körningar stabila även på enklare planer.
För det här arbetsflödet har n8n några fördelar: det hanterar mer komplex förgrening och loopning, det kan köras med egen hosting för obegränsade körningar, och det stödjer en pipeline av typen “hämta, parsa, embeda, lagra” utan krångliga workarounds. Zapier och Make är bra för enkla tvåstegsautomationer, men de blir klumpiga när du behöver sitemap-parsning, avduplicering och batchbearbetning. Kostnad är också en faktor eftersom prissättning per task snabbt drar iväg när du embedar många sidor. Om du är osäker, testa arbetsflödet på en liten uppsättning URL:er först och skala sedan upp. Prata med en automationsexpert om du vill ha en second opinion.
När din sajt kan uppdatera Pinecone vid begäran slutar boten driva iväg och bli inaktuell. Sätt upp det, kör efter lanseringar och gå vidare till arbete som faktiskt kräver din uppmärksamhet.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.