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

LM Studio + Google Sheets: loggade benchmarkresultat

Rickard Andersson Partner, Nodenordic.se

Du kör ett snabbt lokalt modelltest, gillar resultatet och går vidare. Två dagar senare minns du inte vilken modell du använde, vilken temperatur du ställde in eller varför just det svaret kändes “bättre”. Anteckningarna ligger utspridda. Skärmbilderna hjälper inte.

Det här är den typen av röra som bromsar ingenjörer först, men produktdrivna grundare och AI-nyfikna analytiker känner av det också. När LM Studio-benchmarks loggas automatiskt får du ett felfritt facit i stället för en kyrkogård av kopierad text.

Det här arbetsflödet triggar en benchmark-körning, testar aktiva lokala modeller, beräknar användbara mätvärden och lägger till allt i Google Sheets. Du får se hur automatiseringen fungerar, vad du behöver och vad du ska se upp med när du anpassar den.

Så fungerar den här automatiseringen

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

n8n Workflow Template: LM Studio + Google Sheets: loggade benchmarkresultat

Problemet: benchmark-anteckningar blir snabbt röriga

Att benchmarka lokala LLM:er låter enkelt tills du försöker göra det konsekvent. Ett test använder en annan prompt. En annan körning ändrar temperaturen och du glömmer att skriva ner det. Sedan kopierar du ett svar till ett dokument, men du får inte med latens, ordantal eller hur läsbart resultatet faktiskt var. En vecka senare “jämför du modeller” med halva kontexten borta, och du slutar med att köra om samma tester bara för att känna dig säker igen. Ärligt talat är det inte testandet som tar tid. Det är spårningen.

Det eskalerar snabbt. Här är var det faller isär i verkligheten:

  • Du testar om samma modeller eftersom tidigare körningar inte är strukturerade eller sökbara.
  • Manuell copy/paste tappar kritiska inställningar som promptversion, temperatur eller top P.
  • Jämförelser av latens och svarstid blir “magkänsla” i stället för något du kan visa för ett team.
  • Dina bästa output fastnar i chattloggar, så beslut om modellval drar ut på tiden.

Lösningen: automatiserade LM Studio-benchmarks loggade till Sheets

Det här n8n-arbetsflödet gör din lokala LM Studio-miljö till en repeterbar benchmark-pipeline. Det startar när du skickar ett meddelande (via en n8n chatt-trigger), och anropar sedan LM Studio via HTTP för att hämta listan över aktuella aktiva modeller. Varje modell testas mot din valda prompt och systeminstruktioner, tidsstämplar fångas för att beräkna varaktighet, och arbetsflödet utvärderar svaret med lättviktiga mätvärden som ordantal och läsbarhet. Till sist lägger det till en rad per körning i Google Sheets, som över tid blir din jämförelsedashboard. Inget mer “vad körde jag i torsdags?”-gissande.

Arbetsflödet börjar med en chattbaserad trigger, hämtar modell-ID:n dynamiskt och loopar igenom dem för konsekvent testning. När modellsvaret kommer tillbaka räknar n8n ut tids- och kvalitetsmätvärden och skriver allt till Google Sheets så att du kan sortera, filtrera och jämföra på några sekunder.

Vad du får: automatisering vs. resultat

Exempel: så här ser det ut

Säg att du har 6 lokala modeller aktiva i LM Studio och testar var och en med 3 prompts innan du väljer en “standardmodell” för en funktion. Manuellt: om du lägger cirka 5 minuter per körning på att kopiera svaret, notera inställningar och klistra in i ett dokument, blir det runt 90 minuter. Med det här arbetsflödet skickar du ett trigger-meddelande, väntar ett par minuter på att loopen blir klar, och varje resultat hamnar i Google Sheets automatiskt. Du granskar fortfarande output, men loggningsjobbet försvinner i stort sett.

Det här behöver du

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
  • LM Studio för att köra lokala modeller att testa.
  • Google Sheets för att lagra benchmark-historik och jämföra resultat.
  • Google-kontouppgifter (anslut via n8n:s Google Sheets-credential).

Svårighetsgrad: Nybörjare. Du klistrar in din LM Studio-server-IP, ansluter Google Sheets och justerar prompttexten om du vill.

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

Så fungerar det

Ett meddelande triggar körningen. Arbetsflödet startar från en n8n chatt-trigger, som du kan använda som ett enkelt kommando typ “kör benchmarks nu”. Det gör det lätt att köra vid begäran medan du testar.

LM Studio-modell-ID:n hämtas dynamiskt. En HTTP-förfrågan går mot din LM Studio-endpoint för att hämta listan över aktiva modeller. Arbetsflödet delar upp modell-ID:n så att varje modell kan testas i en konsekvent loop.

Varje modell testas och mäts. n8n loggar en starttidsstämpel, lägger in en systemprompt för konsekvent utvärdering och kör LLM-anropet. När svaret kommer tillbaka loggar det sluttidsstämpeln och beräknar varaktigheten.

Mätvärden och resultat loggas till Google Sheets. Ett kodsteg utvärderar svarsmetrik (till exempel ordantal och läsbarhet), och sedan lägger arbetsflödet till en rad i ditt ark. Över tid blir arket din benchmark-databas.

Du kan enkelt ändra prompten och vilka mätvärden som fångas så att det matchar ditt sätt att utvärdera. Se hela implementationsguiden nedan för anpassningsalternativ.

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

Steg 1: konfigurera triggern för inkommande chatt

Starta arbetsflödet genom att konfigurera chatttriggern som tar emot användarprompten som används för modellutvärdering.

  1. Lägg till noden Incoming Chat Trigger som din workflow-trigger.
  2. Behåll standardinställningarna för triggern (inga obligatoriska parametrar) och notera den genererade webhooken för testning.
  3. Bekräfta att anslutningen i arbetsflödet går från Incoming Chat Trigger till Retrieve Model List.

Tips: Triggern förväntar sig ett chatInput-fält i inkommande payload, som senare refereras av Run LLM Analysis och Assemble Analysis Payload.

Steg 2: anslut Google Sheets

Konfigurera Google Sheets-utdata för att lagra utvärderingsresultaten.

  1. Öppna Append Results to Sheets och välj ditt kalkylark i Document med värdet [YOUR_ID] (ersätt det med ditt riktiga ID).
  2. Ställ in Sheet Name till Sheet1 (värde gid=0).
  3. Bekräfta att kolumnmappningen använder uttryck som {{ $('Split Model IDs').item.json.id }} och {{ $('Run LLM Analysis').item.json.text }} för att skriva modellresultat.
  4. Autentisering krävs: anslut dina googleSheetsOAuth2Api-credentials.

⚠️ Vanlig fallgrop: Om [YOUR_ID] lämnas oförändrat kommer append att misslyckas eftersom inget kalkylark är valt.

Steg 3: konfigurera modellidentifiering och iterering

Hämta de tillgängliga lokala modellerna och dela upp dem i individuella modell-ID:n för utvärdering.

  1. Öppna Retrieve Model List och ställ in URL till http://0.0.0.0:1234/v1/models.
  2. Bekräfta att Retrieve Model List är kopplad till Split Model IDs.
  3. I Split Model IDs, ställ in Field To Split Out till data.
  4. Verifiera att flödet fortsätter från Split Model IDs till Record Start Timestamp.

Tips: Säkerställ att din lokala LLM-server är åtkomlig på http://0.0.0.0:1234 eller justera URL:en så att den matchar din miljö.

Steg 4: konfigurera kedjan för LLM-analys

Definiera systemprompten, kör modellen och fånga start-/sluttidsstämplar för att kunna beräkna varaktighet.

  1. I Record Start Timestamp, ställ in Output Field Name till startDateTime.
  2. I Insert System Prompt, aktivera Include Other Fields och ställ in system_prompt till Ensure that messages are concise and to the point readable by a 5th grader..
  3. I Run LLM Analysis, ställ in Text till {{ $('Incoming Chat Trigger').item.json.chatInput }} och behåll Prompt Type som define.
  4. Bekräfta att meddelandet använder {{ $json.system_prompt }} i fältet Messages.
  5. I Execute Model Inputs, ställ in Model till {{ $node['Split Model IDs'].json.id }} och bekräfta att baseURL är http://0.0.0.0:1234/v1.
  6. Autentisering krävs: anslut dina openAiApi-credentials i Execute Model Inputs. Den här noden fungerar som språkmodellen för Run LLM Analysis.
  7. I Record End Timestamp, ställ in Output Field Name till endDateTime.
  8. I Compute Duration, ställ in Operation till getTimeBetweenDates, Start Date till {{ $('Record Start Timestamp').item.json.startDateTime }}, och End Date till {{ $json.endDateTime }}.

⚠️ Vanlig fallgrop: Om credentials för Execute Model Inputs saknas kommer Run LLM Analysis att misslyckas eftersom språkmodellen inte är autentiserad.

Steg 5: sätt ihop mätvärden och skriv till Sheets

Paketera svaret, beräkna läsbarhetsmätvärden och lägg till resultaten i Google Sheets.

  1. Öppna Assemble Analysis Payload och ställ in tilldelningarna med de angivna uttrycken: llm_response till {{ $('Run LLM Analysis').item.json.text }}, prompt till {{ $('Incoming Chat Trigger').item.json.chatInput }}, model till {{ $('Split Model IDs').item.json.id }}, start_time till {{ $('Record Start Timestamp').item.json.startDateTime }}, end_time till {{ $('Record End Timestamp').item.json.endDateTime }}, och time_diff till {{ $json.timeDifference.days }}.
  2. Gå igenom Evaluate Response Metrics för att säkerställa att JavaScript beräknar antal ord, antal meningar, läsbarhetspoäng och genomsnittliga längder.
  3. Bekräfta att utdata från Evaluate Response Metrics matas in i Append Results to Sheets.

Tips: Om ni behöver fler mätvärden kan ni utöka JavaScript-koden i Evaluate Response Metrics och lägga till motsvarande kolumner i Append Results to Sheets.

Steg 6: testa och aktivera ert arbetsflöde

Validera flödet end-to-end och aktivera det sedan för löpande användning.

  1. Klicka på Execute Workflow och skicka ett testmeddelande i chatten till Incoming Chat Trigger.
  2. Verifiera att Retrieve Model List returnerar modelldata och att Split Model IDs matar ut individuella modell-ID:n.
  3. Bekräfta att Run LLM Analysis returnerar ett svar och att Compute Duration producerar en tidsskillnad.
  4. Kontrollera ditt Google Sheet efter en ny rad som innehåller prompten, svaret, mätvärdena och tidsstämplarna från Append Results to Sheets.
  5. När testet lyckas, växla arbetsflödet till Active för att köra i produktion.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Google Sheets-credentials kan gå ut eller kräva specifika behörigheter. Om något går sönder, kontrollera först det anslutna Google-kontot och statusen för n8n-credentialen.
  • Om du använder Wait-noder eller extern rendering varierar processningstiderna. Öka väntetiden om efterföljande noder faller 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

Hur lång tid tar det att sätta upp den här automatiseringen för LM Studio-benchmarks?

Cirka 30 minuter om LM Studio redan körs.

Behöver jag kunna koda för att automatisera LM Studio-benchmarks?

Nej. Du kopplar mest konton och klistrar in uppgifter för LM Studio-servern. Den enda “kod”-delen är valfri om du vill ändra hur mätvärden beräknas.

Är n8n gratis att använda för det här arbetsflödet för LM Studio-benchmarks?

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 volym. Du behöver också räkna med 0 USD i modell-API-avgifter om du bara använder lokala LM Studio-modeller (Google Sheets är vanligtvis gratis för den här användningen).

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

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 klarar n8n bra. Egen hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.

Kan jag anpassa den här automatiseringen för LM Studio-benchmarks för olika prompts och inställningar?

Ja, och det bör du. Du kan ändra systemprompten i steget “Insert System Prompt” och sedan justera temperatur/top P i steget där modellen körs så att varje körning blir konsekvent. Vanliga justeringar är att lägga till din egen utvärderingsmall, testa flera prompts per modell och logga extra fält som modellstorlek eller kvantisering.

Varför misslyckas min Google Sheets-anslutning i det här arbetsflödet?

Oftast beror det på en utgången Google-auktorisering i n8n eller ett behörighetsproblem i arket. Anslut Google Sheets-credentialen igen och bekräfta sedan att målkalkylarket är delat med det Google-kontot. Om det fortfarande misslyckas: kontrollera att fliknamnet i arket matchar vad noden förväntar sig, eftersom ett omdöpt fliknamn kan få append att sluta fungera utan tydliga fel. Håll också koll på kvotgränser om du matar in många rader på kort tid.

Hur många benchmark-körningar klarar den här automatiseringen för LM Studio-benchmarks?

På n8n Cloud Starter kan du köra upp till några tusen exekveringar per månad, och varje testad modell räknas mot den användningen. Om du kör egen hosting finns ingen exekveringsgräns, men din server och LM Studio-maskinen blir den begränsande faktorn. I praktiken börjar de flesta team med 5 till 20 modeller och en handfull prompts, och skalar upp när arklayouten sitter.

Är den här automatiseringen för LM Studio-benchmarks bättre än att använda Zapier eller Make?

Ofta, ja. Zapier och Make är bra för enkla app-till-app-flöden, men lokal benchmarking kräver ofta HTTP-anrop, loopning över en modellista som förändras och anpassad logik för mätvärden, vilket är precis där n8n är mer bekvämt. Egen hosting är också viktig här, eftersom du kan vilja ha n8n på samma nätverk som LM Studio för bättre driftsäkerhet. Nackdelen är att n8n på vissa ställen känns mer som en “byggare” än en “guide”. Om du är osäker, prata med en automatiseringsexpert så tar vi fram den enklaste vägen för din setup.

När det här väl rullar slutar dina benchmarks vara “testsessions” och blir data du kan återanvända. Sätt upp det, kör det när du behöver och fortsätt framåt.

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