Din chatbot-faktura smyger upp, och ingen kan förklara varför. Den verkliga boven är oftast enkel: för många grundläggande frågor besvaras av en premiummodell som aldrig hade behövt vara inblandad.
Supportansvariga märker det när volymen sticker iväg. Marknadsteam ser det när boten läggs på en landningssida och användningen plötsligt dubblas. Och grundare? De ser det på fakturan. Den här Gemini OpenAI router-automationen skickar enkla chattar till en billigare modell och sparar den tyngre modellen till det svåra.
Du får se hur arbetsflödet avgör ”enkelt vs. komplext”, hur det väljer rätt LLM och hur du anpassar det för din egen chatbot utan att göra det till ett vetenskapsprojekt.
Så fungerar den här automationslösningen
Hela n8n-arbetsflödet, från trigger till slutligt resultat:
n8n Workflow Template: Google gemini + openai: sänk chatbotkostnader
flowchart LR
subgraph sg0["When chat message received Flow"]
direction LR
n0@{ icon: "mdi:robot", form: "rounded", label: "Model Selector", pos: "b", h: 48 }
n1@{ icon: "mdi:play-circle", form: "rounded", label: "When chat message received", pos: "b", h: 48 }
n2@{ icon: "mdi:brain", form: "rounded", label: "Model selector", pos: "b", h: 48 }
n3@{ icon: "mdi:robot", form: "rounded", label: "Main Agent", pos: "b", h: 48 }
n4@{ icon: "mdi:brain", form: "rounded", label: "4.1 nano", pos: "b", h: 48 }
n5@{ icon: "mdi:brain", form: "rounded", label: "2.5 pro", pos: "b", h: 48 }
n6@{ icon: "mdi:brain", form: "rounded", label: "2.0 flash", pos: "b", h: 48 }
n5 -.-> n2
n4 -.-> n2
n6 -.-> n0
n0 --> n3
n2 -.-> n3
n1 --> n0
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 n1 trigger
class n0,n3 ai
class n2,n4,n5,n6 aiModel
Problemet: premium-LLM-kostnader bränns på enkla chattar
Det mesta av chatbot-trafiken är inte ”svår”. Det är leveransfrågor, återbetalningspolicy, prisförtydliganden, lösenordsåterställningar, grundläggande funktionsförklaringar och samma onboarding-steg som du svarat på hundra gånger. Men om varje sådant meddelande som standard går till en premiummodell betalar du toppnivåpriser för arbete som en lättare modell klarar utan märkbar kvalitetsförlust. Det blir värre när du skalar. Fler kanaler, fler kampanjer, fler inkommande meddelanden — och plötsligt vågar du knappt marknadsföra boten eftersom varje konversation känns som att den går på taxameter.
Friktionen staplas på.
- Grundfrågor förbrukar tyst samma dyra modellanrop som tekniska eller nyanserade ärenden.
- Utan en routningsregel tvingas du välja mellan ”billigt men riskabelt” eller ”bra men dyrt” — och inget av det håller i längden.
- Driftteam kan inte prognostisera kostnader eftersom en viral vecka kan förändra hela månadens AI-kostnader.
- Supportkvaliteten glider när folk börjar lägga in manuella skyddsräcken, genvägar och ad-hoc-prompter för att kontrollera fakturan.
Lösningen: routa varje meddelande till rätt modell automatiskt
Det här arbetsflödet fungerar som en smart ”trafikpolis” för din chatbot. När ett nytt chattmeddelande kommer in använder det först en lätt Google Gemini-modell för att bedöma hur komplex frågan är. Klassificeraren är strikt i sitt output, vilket gör routningen förutsägbar i stället för luddig. Därefter väljer en modellväljare bästa LLM för uppgiften: enklare frågor går till ett budgetvänligt alternativ (OpenAI GPT-4.1 Nano), medan genuint komplexa frågor skickas till en mer kapabel modell (Gemini 2.5 Pro). Slutligen genererar en primär svarsagent svaret med den valda modellen och skickar tillbaka det till chattflödet. Du ändrar inte chatbotens syfte. Du ändrar hur den spenderar.
Arbetsflödet startar när din chatt-trigger tar emot ett meddelande. Gemini Flash klassificerar snabbt komplexiteten, och sedan byter n8n underliggande modell. Svarsagenten svarar med medvetenhet om dagens datum som injiceras via $now, så tidskänsliga svar inte blir inaktuella.
Det du får: automation vs. resultat
| Vad det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här kan det se ut
Säg att din bot hanterar cirka 200 chattar per dag. Utan routning går alla 200 till en premiummodell, även om de flesta är ”vad kostar det” eller ”hur återställer jag mitt lösenord” — och du betalar för det dyra alternativet varje gång. Med det här arbetsflödet får varje meddelande en snabb Gemini Flash-klassificering (sekunder), och sedan körs svaret på GPT-4.1 Nano för det enkla och på Gemini 2.5 Pro bara när det behövs. Om ens 150 av de chattarna är rutin är det 150 premium-anrop du inte längre bränner varje dag.
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 Gemini för klassificering och komplexa svar
- OpenAI för att besvara rutinfrågor billigt
- API-nycklar (hämta dem från Google AI Studio och OpenAI)
Kunskapsnivå: Nybörjare. Du klistrar in API-nycklar, testar några meddelanden och justerar routningsregler.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Ett nytt meddelande kommer in. Arbetsflödet startar med en inkommande chatt-trigger (webhook-stil), så det reagerar i realtid i stället för att köras enligt schema.
Meddelandet betygsätts efter komplexitet. En Gemini Flash-modell läser användarens text och returnerar ett tajt, kontrollerat output som representerar ”enkelt” eller ”komplext” (och kan utökas till fler nivåer om du vill).
n8n väljer bästa modell. Modellväljaren routar enkla frågor till OpenAI GPT-4.1 Nano och komplexa frågor till Gemini 2.5 Pro, så du betalar för kapacitet bara när konversationen kräver det.
Svarsagenten svarar och skickar tillbaka. Den primära svarsagenten genererar det slutliga svaret med den valda modellen, med $now tillgängligt så datumrelaterade frågor inte blir obekväma.
Du kan enkelt ändra routningsreglerna för att använda tre nivåer i stället för två, beroende på behov. Se den fullständiga implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera chattriggern
Det här arbetsflödet startar när ett chattmeddelande kommer in, så triggern måste vara redo att ta emot indata.
- Lägg till noden Incoming Chat Trigger som trigger för arbetsflödet.
- Lämna standardalternativen i Incoming Chat Trigger om ni inte behöver anpassade inställningar för er chattkälla.
- Koppla Incoming Chat Trigger till Complexity Classifier för att följa exekveringsflödet.
Steg 2: Sätt upp komplexitetsklassificeraren
Klassificeraren utvärderar varje inkommande meddelande och returnerar en numerisk komplexitetspoäng som används för att styra modellvalet.
- Öppna Complexity Classifier och ställ in Text till
={{ $json.chatInput }}. - Ställ in Prompt Type på
defineoch behåll systemmeddelandet som endast returnerar1eller2. - Koppla Gemini Flash Model som språkmodell för Complexity Classifier.
- I Gemini Flash Model ställer ni in Model Name till
models/gemini-2.0-flash. - Autentiseringsuppgifter krävs: Anslut era googlePalmApi-autentiseringsuppgifter i Gemini Flash Model.
1 eller 2 kommer Route Model Choice inte att matcha någon regel.Steg 3: Konfigurera logik för modellroutning
Routningsnoden avgör vilken modell som ska användas baserat på klassificerarens utdata och skickar sedan den modellen till svarsagenten.
- Öppna Route Model Choice och bekräfta att den har två regler för utdata
1och2. - I regel 1 ställer ni in Left Value till
={{ $('Complexity Classifier').item.json.output.toNumber() }}och Right Value till1. - I regel 2 ställer ni in Left Value till
={{ $('Complexity Classifier').item.json.output.toNumber() }}och Right Value till2. - Koppla Gemini Pro Model och OpenAI Nano Model till Route Model Choice som språkmodeller.
- I Gemini Pro Model ställer ni in Model Name till
=models/gemini-2.5-prooch ansluter googlePalmApi-autentiseringsuppgifter. - I OpenAI Nano Model ställer ni in Model till
=gpt-4.1-nanooch ansluter openAiApi-autentiseringsuppgifter.
Steg 4: Sätt upp den primära svarsagenten
Den här agenten genererar det slutliga svaret med modellen som routern har valt.
- Öppna Primary Response Agent och ställ in Text till
={{ $('Incoming Chat Trigger').item.json.chatInput }}. - Låt Prompt Type vara satt till
define. - Säkerställ att systemmeddelandet använder uttrycket
=Here is the current date/time: {{ $now }}. - Bekräfta att Route Model Choice är ansluten till Primary Response Agent som indata för språkmodellen.
Steg 5: Testa och aktivera ert arbetsflöde
Kör ett manuellt test för att bekräfta routning och svarslogik och aktivera sedan arbetsflödet för användning i produktion.
- Klicka på Execute Workflow och skicka ett chattmeddelande till Incoming Chat Trigger-endpointen.
- Verifiera att Complexity Classifier returnerar
1eller2och att Route Model Choice väljer förväntad modell. - Bekräfta att Primary Response Agent returnerar ett svar som genereras av den routade modellen.
- Klicka på Activate för att aktivera arbetsflödet för löpande chattförfrågningar.
Vanliga fallgropar
- Google Gemini-inloggningsuppgifter kan löpa ut eller kräva rätt projektåtkomst. Om svaren plötsligt slutar komma, kontrollera först din Google AI Studio-nyckel och projektbegränsningarna.
- Om du använder externa chattverktyg via en webhook kan bearbetningstider variera under belastning. Om du ser tomma eller ofullständiga svar, öka timeouten i din chattplattform och försök igen.
- Standardprompter för agenten är ärligt talat för generiska. Lägg tidigt in en kort varumärkesröst samt en policy för ”det här gör vi / det här gör vi inte”, annars kommer du fortsätta skriva om svar för hand.
Vanliga frågor
Cirka 30 minuter om dina API-nycklar är klara.
Nej. Du kopplar konton, klistrar in API-nycklar och testar några exempelmeddelanden.
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 användningskostnader för Gemini och OpenAI, som beror på hur många chattar du hanterar och vilka modeller du routar till.
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 serverhantering.
Ja, och det är en vanlig justering. Du skulle ändra Complexity Classifier så att den outputar något i stil med ”enkelt”, ”mellan” eller ”komplext”, och sedan uppdatera Route Model Choice-väljaren så att varje etikett mappas till en annan modell. Vissa team lägger också till en etikett för ”handoff till människa” för fakturering, återbetalningar eller allt som är känsligt. Håll etiketterna strikta, annars kommer routningen att glida.
Oftast är det ett problem med API-nyckeln eller en projektbegränsning. Skapa en ny nyckel i Google AI Studio, uppdatera sedan Gemini-noderna i n8n och testa igen. Om det fungerar för ett meddelande och misslyckas på nästa kan du slå i rate limits under belastning. Kontrollera också att fakturering och modellåtkomst är aktiverade för exakt de Gemini-versioner du valde.
Många, så länge din hosting och modellernas rate limits hänger med. I n8n Cloud beror kapaciteten på din plans gränser för körningar, medan self-hosting inte har något körningstak (det handlar mest om serverstorlek). I praktiken hanterar det här arbetsflödet chattar en och en snabbt eftersom klassificeraren är lätt, men botar med hög volym bör lägga till köhantering och rimliga regler för återförsök.
Ofta ja, om du bryr dig om routningslogik. n8n är byggt för förgreningar, och du kan utöka detta till flera modeller utan att betala extra per ”gren”. Det stödjer också self-hosting, vilket blir viktigt när chattvolymen växer och prissättning per task börjar svida. Zapier och Make är bra för snabba prototyper, men LLM-routning blir ofta rörig där när du lägger till minne, strikt klassificering, återförsök och testning. Prata med en automationsexpert om du vill ha hjälp att välja.
Det här är den tråkiga typen av optimering som i tysthet sparar dig mycket pengar. Sätt upp det en gång, behåll starka svar och sluta betala premiumpris för ”vilka öppettider har ni?”
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.