Vinster:
- Definiera mätvärden som mäter retention och genereringskvalitet separat
- Sätt upp en guldfråga och kör automatisk utvärdering med LLM-som-domare
- Upprätthålla kvalitet genom feedback, övervakning och regressionstestning i produktionen
Meningen "Jag installerade assistenten, den verkar fungera bra" är inte ett tekniskt uttalande. RAG-system går sönder tyst: en ny dokumenttyp lurar hämtningen, en snabb ändring minskar noggrannheten, indexet blir inaktuellt. Det enda sättet att inse detta är att mäta. I denna enhet tar vi upp hur man mäter RAG-kvalitet (hämtning och generering separat), automatisk utvärdering (LLM-as-judge) och upprätthåller kvalitet i produktionen (övervakning, regression). "Du kan inte förbättra det du inte mäter" är mottot för denna enhet.
Mät två separata saker
RAG har två ben och måste mätas separat eftersom problemet kan ligga i någon av dem:
- Hämtningskvalitet: Har rätt del kommit?
- Generationskvalitet: Gjorde det rätta svaret från det inkommande stycket?
Om svaret är dåligt måste du först veta vilket ben som är dåligt. Om den högra delen aldrig kommer fram kan inte ens den bästa uppmaningen spara (återtagningsproblem). Om rätt del anlände men modellen feltolkade den, är det meningslöst att förbättra hämtningen (generationsproblem).
Hämtningsmått
Hämtning är ett sorterings-/åtkomstproblem; mätt med klassisk informationshämtning. För detta måste du ha det gyllene klustret: kunskapen om vilken bit som är "rätt" för varje fråga.
metrisk
Vilka åtgärder
Enkel definition
Recall@k
Är rätt bit i den översta k?
Korrekt delfångsthastighet
precision@k
Hur många av de k stycken som returneras är relevanta?
Städning av det medförda
MRR (Mean Reciprocal Rank)
I vilken ordning är rätt bit?
Belöningar att vara i de högsta led
Träfffrekvens
Kom det minst en rätt bit?
Det mest grundläggande måttet på framgång
Praktisk kommentar: Om Recall@k är låg bör chunking- eller sökstrategi (hybrid, k, omrangering) omarbetas. Om precisionen är låg men återkallelsen är hög är det ett bra drag att lägga till omplacering.
Generationsmått
När rätt del kommer fram mäter vi kvaliteten på responsen som modellen producerar. Tre grundläggande dimensioner:
- Trofasthet: Stöds varje påstående i svaret av sammanhang? Finns det något passande? Det är ett direkt mått på hallucination.
- Svarsrelevans: Svarar svaret verkligen på frågan eller är det off-topic?
- Fullständighet: Har all relevant information i sammanhanget använts eller saknas den?
Dessa poängsätts ofta på en graderad basis (t.ex. 1-5), snarare än binära som "sant/falskt".
Tips: Spåra trofasthet som ett separat mått. Om troheten minskar när noggrannheten minskar, är problemet generation; Om troheten är hög men svaret är fel, är problemet fel bit (återhämtning). Tillsammans är dessa två mätvärden en kompass som visar platsen för felet.
Skapa en gyllene frågeuppsättning
Varje mätning kräver en gyllene uppsättning / utvärderingsdatauppsättning: realistiska frågor + förväntade korrekta svar + korrekta källdelar. Att börja med 30-50 väl valda frågor är bättre än 500 slumpmässiga frågor. Inkludera följande i uppsättningen: vanliga riktiga frågor, kända svåra frågor, fällfrågor utan svar (man bör säga "jag vet inte"), frågor med motsägelsefulla källor.
# Gyllene klusterexempel (konceptuellt)[ {"question": "Hur många dagars årlig semester?", "expected_answer": "14 dagar för 1-5 års tjänstgöringstid", "correct_part_id": "two-part-3", "category": "leave"}, {"question": "Var är företagets "fälla_NO:", "expected": "Fällan_NO:", "Fällan_NOT:" Jag vet inte "correct_part_id": null, "category": "trap"}]
LLM-as-Judge: Automatisk bedömning
Att poängsätta hundratals svar för hand är tröttsamt. LLM-as-judge-modellen är när en modell poängsätter och motiverar en annan modells svar utifrån vissa kriterier. En bra domarprompt definierar tydligt kriterierna, ger exempel och ber om motivering.
# LLM-as-judge prompt (konceptuell) Du är en opartisk utvärderare. Utvärdera SVARET nedan enligt den givna KONTEXT och FÖRVÄNTAT SVAR. Betyg (1-5) och motivera:- trohet: stöds varje påstående i svaret i sitt sammanhang?- noggrannhet: stämmer svaret med det förväntade svaret?- fullständighet: är den relevanta informationen fullständig? Speciellt: om svaret innehåller information som inte ingår i sammanhanget, ge trofasthet1 och ange vilket påstående som är tillverkat. KONTEXT: {kontext}FÖRVÄNTAT: {förväntat}SVAR: {svar}Utdata: {trohet, noggrannhet, fullständighet, motivering}
Varning: LLM-som-domare är inte perfekt; De kan ha sina egna fördomar (långt svar, föredrar sin egen stil). Verifiera också domare: få några svar poängsatta av både domaren och människan och mät överensstämmelsen mellan dem. Om Judge är konsekvent med mänskliga poäng kan du lita på honom.
Svagt/starkt betyg
Svag ("det var bra för mig"):
Jag ställde några frågor och svaren verkade bra. Jag har det live.# Problem: inga mätningar, regression omärklig, förbättring blind.
Kraftfull (guldkluster + diskreta mätvärden + automatisk bedömning + regression):
Gyllene kluster med 40 frågor. Med varje ändring, recall@5, mäts trohet och noggrannhet automatiskt. Om poängen sjunker, rullas växlingen tillbaka. I produktionen samlas användarfeedback och läggs till uppsättningen.
Övervakning och regression i produktionen
Utvärdering görs inte en gång och avslutas. Tre konstanta övningar:
- Regressionstestning: Kör automatiskt gyllene kluster vid varje uppmaning/hämtning/modellbyte. Om poängen minskas, vänds förändringen. Detta förhindrar att "bryta det samtidigt som man försöker göra det bättre".
- Produktionsövervakning: "Jag kunde inte hitta information" i verkliga frågor, genomsnittlig fördröjning, kostnad, användarfeedback (👍/👎) övervakas. En plötslig ökning av "Jag vet inte" är ofta det första tecknet på ett index- eller hämtningsfel.
- Feedbackloop: De verkliga frågorna från användaren 👎 granskas och läggs till i den gyllene högen; Därmed blir uppsättningen rikare med tiden och systemets blinda fläckar stängs.
Tre minifodral
Fall 1 — Tyst regression. Ett team modifierade uppmaningen för att "förbättra" den; Den allmänna noggrannheten ökade, men troheten minskade med 30 % i fällfrågor (modellen började passa mer). Det hade inte märkts om det inte vore för fällfrågorna i den gyllene klungan; Regressionstestning återställde förändringen.
Fall 2 — Räta ut fel ben. Hos en assistent var svaren dåliga; Teamet arbetade på prompten i veckor. När vi mätte hämtningsmåtten var recall@5 bara 48 % - problemet var hämtning, inte generering. När hybrid + omrangering lades till ökade återkallelsen till 89 % och precisionen ökade också.
Fall 3 — Produktionsvarning. En dag hoppade andelen "Jag kunde inte hitta information" för en supportassistent från 6 % till 34 %. Styrplattan varnade; Anledningen var att indexeringsjobbet, som körs på natten, tyst misslyckades och nya artiklar laddades inte upp. Utan övervakning skulle felaktiga "jag vet inte"-påståenden ha fortsatt i dagar.
Vanliga misstag
- Att vara nöjd med "det fungerade bra för mig": Utan mätning går regression obemärkt.
- Att inte separera hämtning och generering: Du kommer att rätta till fel ben och slösa tid.
- Att inte ställa fällfrågor: Tendensen att hitta på saker förekommer inte i det gyllene klustret.
- Inte verifierande domare: En partisk jury ger falskt förtroende.
- Övervakar inte produktionen: Indexfel, kostnadsexplosionen fortsätter tyst.
Sammanfattningsvis
- I RAG mäts hämtning och genereringskvalitet separat; Det måste först fastställas vilket ben som är skadat.
- recall@k, precision@k, MRR för hämtning; Trofasthet, lämplighet, fullständighet används för generation.
- Varje mätning kräver ett guldkluster; Lägg verkliga, svåra, fällor och motsägelsefulla frågor i den.
- LLM-som-domare stora uppsättningar autopoäng; men domaren själv måste rättfärdigas mot människan.
- Regressionstestning, produktionsövervakning och en återkopplingsslinga bibehåller kvaliteten över tid.
Applikationsuppgift
(1) Skapa en gyllene uppsättning med minst 15 frågor för din egen assistent: inkludera minst 3 fällor (inga svar), 3 svåra, 2 motsägelsefulla källfrågor. Skriv det förväntade svaret och rätt del för varje fråga. (2) Jämför manuellt två olika snabbversioner med denna uppsättning; Ge varje svar 1-5 poäng för trohet och noggrannhet. (3) Anpassa LLM-as-judge-uppmaningen ovan till dina egna kriterier. (4) Identifiera 3 mätvärden som du kommer att spåra i produktionen och för varje fråga "vid vilken tröskel larmar jag?" skriv värdet.
checklista
- [ ] Jag kan mäta retention och generationskvalitet med separata mätvärden.
- [ ] Jag vet vad mått som recall@k, trofasthet betyder.
- [ ] Jag kan bygga ett gyllene kluster som inkluderar verkliga, svåra, fällor och motsägelsefulla frågor.
- [ ] Jag kan ställa in automatisk utvärdering och verifiera domaren med LLM-as-judge.
- [ ] Jag kan använda regressionstestning, produktionsövervakning och återkopplingsslinga.