Tankeledare
Hur man bygger tillfÃķrlitlig RAG: En djupdykning i 7 felpunkter och utvÃĪrderingsramverk
Retrieval-Augmented Generation (RAG) ÃĪr avgÃķrande fÃķr modern AI-arkitektur, och fungerar som en viktig ram fÃķr att bygga kontextmedvetna agenter.
Men att gÃĨ frÃĨn en grundlÃĪggande prototyp till ett produktionsklart system innebÃĪr att man mÃĨste navigera betydande hinder i dataÃĨtervinning, kontextkonsolidering och svarssyntes.
Den hÃĪr artikeln ger en djupdykning i sju typiska RAG-felpunkter och utvÃĪrderingsmetriker med praktiska kodexempel.
RAG-sammanbrottets anatomi â 7 felpunkter (FP)
Enligt forskare Barnett et al., Retrieval Augmented Generation (RAG) system stÃķter pÃĨ sju specifika felpunkter (FP) i pipelineen.
Nedan visas dessa faser:

Figur A. Indexerings- och frÃĨgeprocesser som krÃĪvs fÃķr att skapa ett RAG-system. Indexeringsprocessen gÃķrs under utvecklingstiden och frÃĨgorna under kÃķrningstiden. Felpunkter som identifierats i den hÃĪr studien visas i rÃķda rutor (kÃĪlla)
LÃĨt oss undersÃķka varje FP i pipeline-ordning, fÃķljande den Ãķvre vÃĪnstra till nedre hÃķgra progressionen som visas i Figur A.
FP1. Saknad innehÃĨll
Saknat innehÃĨll intrÃĪffar nÃĪr systemet fÃĨr en frÃĨga som inte kan besvaras eftersom den relevanta informationen inte finns i den tillgÃĪngliga vektordatabasen frÃĨn bÃķrjan.
FeltillfÃĪllet intrÃĪffar nÃĪr en LLM ger ett trovÃĪrdigt men felaktigt svar i stÃĪllet fÃķr att ange att den inte vet.
FP2. Missade topprankade dokument
Detta ÃĪr en situation dÃĪr ett korrekt dokument finns i vektordatabasen, men ÃĨterstÃĪllaren misslyckas med att rangordna det tillrÃĪckligt hÃķgt fÃķr att inkludera det i topp-k-dokument som matas till en LLM som kontext.
I fÃķljd med detta nÃĨr den korrekta informationen aldrig LLM.
FP3. Inte i kontext (konsolideringsstrategibegrÃĪnsningar)
Detta ÃĪr en situation dÃĪr ett korrekt dokument finns och hÃĪmtas frÃĨn vektordatabasen, men utesluts under konsolideringsprocessen.
Detta intrÃĪffar nÃĪr fÃķr mÃĨnga dokument returneras och systemet mÃĨste filtrera bort dem fÃķr att passa inom en LLM:s kontextfÃķnster, tokenbegrÃĪnsningar eller hastighetsbegrÃĪnsningar.
FP4. Inte uttagen
Detta ÃĪr en situation dÃĪr en LLM misslyckas med att identifiera den korrekta informationen i kontexten, ÃĪven om den korrekta informationen fanns i vektordatabasen och framgÃĨngsrikt hÃĪmtades/konsoliderades.
Detta intrÃĪffar nÃĪr kontexten ÃĪr fÃķr bullrig eller innehÃĨller motsÃĪgelsefull information som fÃķrvirrar LLM.
FP5. Fel format
Detta ÃĪr en situation dÃĪr lagring, ÃĨtervinning, konsolidering och LLM-tolkning hanteras framgÃĨngsrikt, men LLM misslyckas med att fÃķlja specifika formateringsanvisningar som tillhandahÃĨlls i prompten, sÃĨsom en tabell, en punktlista eller ett JSON-schema.
FP6. Fel specifikation
En LLM:s utdata ÃĪr tekniskt sett nÃĪrvarande, men antingen fÃķr allmÃĪn eller fÃķr komplex i fÃķrhÃĨllande till anvÃĪndarens behov.
Till exempel genererar en LLM enkla svar pÃĨ en anvÃĪndarfrÃĨga med ett komplext yrkesmÃĪssigt mÃĨl.
FP7. OfullstÃĪndiga svar
Detta ÃĪr en situation dÃĪr en LLM genererar en utdata som inte nÃķdvÃĪndigtvis ÃĪr felaktig, men saknar viktiga delar av information som var tillgÃĪnglig i kontexten.
Till exempel nÃĪr en anvÃĪndare stÃĪller en komplex frÃĨga som âVilka ÃĪr de viktigaste punkterna i dokument A, B och C?â, besvarar LLM endast en eller tvÃĨ av kÃĪllorna.
Hur FP pÃĨverkar RAG-pipelineprestanda
Var och en av dessa FP pÃĨverkar prestandan fÃķr RAG-pipeliner:
Dataintegritet och tillfÃķrlitlighetsfel
NÃĪr saknad eller felaktig information ÃĪr nÃĪrvarande ÃĪr systemet inte lÃĪngre en tillfÃķrlitlig kÃĪlla till information. PrimÃĪra FP inkluderar:
- FP1 (Saknad innehÃĨll): Svaret finns inte i dokumentet frÃĨn bÃķrjan.
- FP4 (Inte uttagen): LLM vÃĪljer att ignorera det korrekta svaret i dokumentet.
- FP7 (OfullstÃĪndig): LLM ger halvsanningar, saknar viktiga delar.
à tervinning och effektivitetsflaskhalsar
RAG-pipelinen kan vara ineffektiv nÃĪr den missar viktig information i ÃĨtervinnings- och konsolideringsstadierna. PrimÃĪra FP inkluderar:
- FP2 (Missade topprankade): InbÃĪddningsmodellen misslyckas med att vÃĪlja topp-k-inbÃĪddningar.
- FP3 (Konsolideringsstrategi): Skriptet fÃķr att trimma dokument fÃķr att passa LLM:s grÃĪnser slÃĪpper den viktigaste delen.
AnvÃĪndarupplevelse och formateringsfel
Ãven om utdatan ÃĪr korrekt, kan en utdata med dÃĨlig lÃĪsbarhet eller i fel format kompromettera anvÃĪndarupplevelsen. PrimÃĪra FP inkluderar:
- FP5 (Fel format): LLM misslyckas med att fÃķlja det specifika utdataformatet som JSON.
- FP6 (Fel specifikation): LLM genererar en omfattande utdata fÃķr ett enkelt ja/nej-svar, eller vice versa (fÃķr kort svar pÃĨ en komplicerad frÃĨga).
UtvÃĪrderingsstacken: Ramverk fÃķr att mildra FP
UtvÃĪrderingsmetriker ÃĪr utformade fÃķr att systematiskt mildra dessa FP.
Den hÃĪr delen undersÃķker stora RAG-utvÃĪrderingsmetriker med praktiska anvÃĪndningsfall.
Stora RAG-utvÃĪrderingsmetriker:
- DeepEval
- RAGAS
- TruLens
- Arize Phoenix
- Braintrust
DeepEval â Enhetstestet fÃķre distribution
DeepEval berÃĪknar en viktad poÃĪng baserat pÃĨ kriterierna.
En LLM som domare (t.ex. GPT-4o) utvÃĪrderar varje kriterium mot en LLM:s utdata:

DeepEval anvÃĪnder G-eval, ett kedja av tankar (CoT)-ramverk som tar en flerstegsapproach fÃķr att utvÃĪrdera utdatan:
- Definiera ett kriterium fÃķr att mÃĪta (t.ex. âsammanhangâ, âflytâ eller ârelevansâ).
- Generera utvÃĪrderingssteg (med en utvÃĪrderings-LLM).
- FÃķlj utvÃĪrderingssteget och analyserar indata och LLM:s utdata.
- BerÃĪknar en vÃĪntad viktad summa av poÃĪngen fÃķr varje kriterium.
Vanligt scenario i praktiken
- Situation: En teknisk dokumentationsassistent (bot) fÃķr ett komplext programvaruprodukt verkar fungera varje gÃĨng utvecklingsteamet uppdaterar kodbasen.
- Problem: Inga kvantitativa bevis fÃķr att boten fortfarande kan besvara anvÃĪndarfrÃĨgan (Du âtrorâ bara att det fungerarâĶ).
- LÃķsning: Integrera en PyTest-funktion som CI/CD-regressionsuite i Github Action dÃĪr DeepEval kÃķr
G-Evaloch andra metriker Ãķver ett testfall:
- VÃĪntade resultat: Om nÃĨgon av metrikernas poÃĪng sjunker under trÃķskeln (0,85) hÃķjer PyTest
AssertionErrorâ vilket omedelbart misslyckar CI-bygget och fÃķrhindrar att den tysta regressionen nÃĨr produktion.
FÃķrdelar och nackdelar
- En mÃĪngd olika metriker (50+) inklusive specialiserade bias- och toxicitetskontroller ÃĪr tillgÃĪngliga.
- Integreras smidigt med befintliga CI/CD-pipeliner.
- Ingen referens behÃķvs. UtvÃĪrdera utdata baserat enbart pÃĨ prompten och den tillhandahÃĨllna kontexten.
- Kvaliteten pÃĨ utvÃĪrderingen beror starkt pÃĨ domar-LLM:s fÃķrmÃĨgor.
- BerÃĪkningsmÃĪssigt dyrt nÃĪr domar-LLM ÃĪr en hÃķgkvalitativ modell.
Utvecklarnotis â Testfallet fÃķr DeepEval
En uppsÃĪttningLLMTestCase-objekt definierar testfallet som DeepEval kÃķr.I praktiken bÃķr detta testfall innehÃĨlla de viktigaste anvÃĪndarfrÃĨgorna och etiketterade utdata med den hÃĪmtade kontexten.
Dessa kan hÃĪmtas frÃĨn en JSON- eller CSV-fil.
RAGAS â NÃĨlen i hÃķstacken-optimera
RAGAS syftar till att utvÃĪrdera RAG utan mÃĪnskligt annoterad dataset genom att generera syntetiska testuppsÃĪttningar.
Sedan berÃĪknar den flaggskeppsmetrikerna:

Figur B. RAGAS-utvÃĪrderingstriaden som kopplar frÃĨga, kontext och svar genom precision, ÃĨterkallande, trohet och relevansmetriker (Skapad av Kuriko IWAI)
Flaggskeppsmetriken delas in i tre grupper:
- Ã tervinningpipeline (svart, fast linje, Figur B): Kontextprecision, kontextÃĨterkallande.
- Genereringspipeline (svart, prickad linje, Figur B): Trohet, svarrelevans.
- Grundfakta (rÃķd ruta, Figur B): Svarssemantisk likhet, svarkorrekthet.
Vanligt scenario i praktiken
- Situation: RAG-systemet fÃķr juridiska kontrakt saknar viktiga klausuler. Du ÃĪr osÃĪker pÃĨ om problemet ÃĪr i SÃķk (Ã terstÃĪllare) eller LÃĪs (Generator).
- Problem: Inga idÃĐer om den optimala topp-k (antalet hÃĪmtade chunkar).
- LÃķsning: AnvÃĪnd RAGAS fÃķr att skapa en syntetisk testuppsÃĪttning med 100 par frÃĨgor och bevis. Sedan kÃķr RAG-pipelinen mot testuppsÃĪttningen fÃķr att berÃĪkna kontextÃĨterkallande och kontextprecision:
- VÃĪntat resultat: Beroende pÃĨ metrikresultaten kan ÃĨtgÃĪrdsplanen vara fÃķljande:
| MÃĪtning | PoÃĪng | Diagnostik | Ã tgÃĪrdsplan |
| KontextÃĨterkallande | LÃĨg | Ã terstÃĪllaren missade den korrekta informationen. | â Ãka topp-k. â FÃķrsÃķk hybrid sÃķkning (BM25 + Vektor). |
| Kontextprecision | LÃĨg | Topp-k chunkar innehÃĨller fÃķr mycket filter och brus â vilket fÃķrvirrar LLM. | â Minska topp-k â Implementera en Reranker (t.ex. Cohere). |
| Trohet | LÃĨg | Generatoren hallucinerar trots att den har data. | â Justera systemprompt. â Kontrollera kontextfÃķnstrets grÃĪnser. |
Tabell 1. RAGAS-diagnostisk ÃĨtgÃĪrdsplan â Mappning av poÃĪng till systemjusteringar.
FÃķrdelar och nackdelar
- UtmÃĪrkt fÃķr ett tidigt projekt utan grundfakta-datasets (Som vi sÃĨg i kodsnuttet kan RAGAS skapa en syntetisk testuppsÃĪttning).
- Den syntetiska testuppsÃĪttningen kan missa nyanserade faktamÃĪssiga fel.
- KrÃĪver en robust extraheringsmodell fÃķr att bryta ner svar i enskilda pÃĨstÃĨenden (Jag anvÃĪnde
gpt-4oi exemplet).
TruLens â Ã terkopplingscirkelns specialist
TruLens fokuserar pÃĨ RAG-processens interna mekanismer snarare ÃĪn bara den slutliga utdatan genom att anvÃĪnda ÃĨterkopplingsfunktioner.
Det anvÃĪnder ocksÃĨ en LLM-baserad poÃĪng som reflekterar hur vÃĪl svaret tillfredsstÃĪller frÃĨgans avsikt, med en 4-punkts Likert-skala (0-3), vilket gÃķr det ÃķverlÃĪgset fÃķr att rangordna kvaliteten pÃĨ olika sÃķkresultat.
Vanligt scenario i praktiken
- Situation: En medicinsk rÃĨdgivare-bot svarar pÃĨ en anvÃĪndarfrÃĨga korrekt men lÃĪgger till en pro-tip som inte finns i den granskade PDF-basen.
- Problem: TillÃĪggspro-tippen kan vara anvÃĪndbar, men inte grundad.
- LÃķsning: AnvÃĪnd TruLens fÃķr att implementera en grundad ÃĨterkopplingsfunktion med en trÃķskel som
poÃĪng > 0,8.
- VÃĪntade resultat: NÃĪr LLM genererar ett svar som innehÃĨller information som inte finns i de hÃĪmtade chunkarna flaggar TruLens posten i din instrumentpanel.
FÃķrdelar och nackdelar
- Visualiserar resonemangskedjan fÃķr att identifiera exakt var agenten gick fel.
- TillhandahÃĨller inbyggt stÃķd fÃķr grundning fÃķr att fÃĨnga hallucinationer i realtid.
- LÃĪrandekurva fÃķr att definiera anpassade ÃĨterkopplingsfunktioner.
- Instrumentpanelen kan kÃĪnnas tung fÃķr enkla skript.
Arize Phoenix â Den tysta felkarten
Arize Phoenix ÃĪr ett Ãķppen kÃĪllkods- och utvÃĪrderingsverktyg fÃķr att utvÃĪrdera LLM-utdata, inklusive komplexa RAG-system.
Byggt pÃĨ OpenTelemetry av Arize AI, fokuserar det pÃĨ Ãķvervakning genom att behandla LLM-utvÃĪrdering som en undermÃĪngd av MLOps.
I RAG-utvÃĪrderingens sammanhang utmÃĪrker sig Phoenix i inbÃĪddningsanalys, med Uniform Manifold Approximation and Projection (UMAP) fÃķr att minska hÃķgdimensionella vektorinbÃĪddningar till 2D/3D-utrymme.
Denna inbÃĪddningsanalys avslÃķjar matematiskt om de misslyckade frÃĨgorna ÃĪr semantiskt grupperade tillsammans, vilket indikerar ett gap i vektordatabasen.
Vanligt scenario i praktiken
- Situation: En kundsupport-bot fungerar bra fÃķr ÃĨterbetalningar, men ger nonsenssvar pÃĨ garantikrav.
- Problem: DatahÃĨl i vektordatabasen (Kan inte hittas i loggar).
- LÃķsning: AnvÃĪnd Arize Phoenix fÃķr att generera en Umap-inbÃĪddningsvisualisering (UEV), en 3D-karta fÃķr vektordatabasen â fÃķr att Ãķverlagra anvÃĪndarfrÃĨgor pÃĨ dokumentchunkar.
- VÃĪntade resultat: Visuellt se en kluster av anvÃĪndarfrÃĨgor som landar i den mÃķrka zonen dÃĪr inga dokument finns, vilket indikerar att vissa dokument har glÃķmts bort att laddas upp till vektordatabasen.
FÃķrdelar och nackdelar
- OpenTelemetry-nativ; integrerar med befintliga fÃķretagsÃķvervakningsstackar.
- Det bÃĪsta verktyget fÃķr att visualisera vektordatabasens blinda flÃĪckar.
- Mindre fokuserad pÃĨ poÃĪngsÃĪttning, mer pÃĨ Ãķvervakning.
- Kan vara Ãķverdrivet fÃķr smÃĨskaliga applikationer eller enkla agenter.
Braintrust â Promptregressions sÃĪkerhetsnÃĪt
Braintrust ÃĪr utformat fÃķr hÃķgfrekventa itereringscykler med modelljÃĪmfÃķrelse.
Vanligt scenario i praktiken
- Situation: Ett utvecklingsteam uppgraderar prompten frÃĨn âSvara pÃĨ frÃĨganâ (Fall A) till en mer komplex 500-ords systeminstruktion (Fall B).
- Problem: Att fÃķrbÃĪttra prompten fÃķr Fall B kan oavsiktligt bryta Fall A.
- LÃķsning: AnvÃĪnd Braintrust fÃķr att skapa en gyllene dataset med ett antal N perfekta exempel (t.ex.
N = 50). LÃĨt Braintrust kÃķra sida vid sida (SxS) jÃĪmfÃķrelse varje gÃĨng teamet uppdaterar ett enda ord i prompten:
- VÃĪntat resultat: En skillnadsrapport som visar exakt vilka fall som blev bÃĪttre/sÃĪmre fÃķr var och en av de gyllene dataset (N = 50).
FÃķrdelar och nackdelar
- Extremt snabb fÃķr att testa fÃķre distribution.
- Stor UI fÃķr icke-tekniska intressenter att granska och betygsÃĪtta utdatan.
- ProprietÃĪr/SaaS-fokuserad (ÃĪven om de har Ãķppen kÃĪllkodskomponenter).
- FÃĪrre inbyggda djuptekniska metriker jÃĪmfÃķrt med DeepEval eller RAGAS.
Sammanfattning
NÃĪr RAG hanteras med lÃĪmpliga utvÃĪrderingsramverk kan det vara ett konkurrenskraftigt verktyg fÃķr att tillhandahÃĨlla LLM-kontext som ÃĪr mest relevant fÃķr anvÃĪndarfrÃĨgan.
Implementeringsstrategi: Mappning av metriker till felpunkter
Ãven om det inte finns nÃĨgon universallÃķsning visar Tabell 2 vilka utvÃĪrderingsmetriker som ska tillÃĪmpas fÃķr var och en av FP som behandlats i den hÃĪr artikeln:
| Felpunkt | UtvÃĪrderingsmetrikidÃĐ | Funktion att anvÃĪnda |
| FP1: Saknad innehÃĨll | RAGAS | Trohet / Svar korrekthet |
| FP2: Missad rangordning | TruLens | KontextÃĨterkallande / Precision |
| FP3: Konsolidering | Arize Phoenix | Ã tervinningsspÃĨrning & Latensanalys |
| FP4: Inte uttagen | DeepEval | Trohet / Kontextuell ÃĨterkallande |
| FP5: Fel format | DeepEval | G-Eval (Anpassad rubrik) |
| FP6: Fel specifikation | Braintrust | Manuell betygsÃĪttning & Sida vid sida utvÃĪrdering |
| FP7: OfullstÃĪndig | RAGAS | Svarrelevans |
Tabell 2. FelpunktsbegrÃĪnsningsmatrisen â Vilket verktyg lÃķser vilken FP?
DeepEval och RAGAS kan utnyttja sina trohetsmetriker fÃķr att mÃĪta dataintegritetsfel (FP1, FP4, FP7).
TruLens utnyttjar sin kontextprecision / ÃĨterkallande fÃķr att mÃĪta kontextrelevansen fÃķr utdatan â vilket effektivt utvÃĪrderar FP2.
Arize Phoenix tillhandahÃĨller en visuell spÃĨrning av ÃĨtervinningsprocessen, vilket gÃķr det lÃĪtt att se om det hÃĪmtade dokumentet gick fÃķrlorat under konsolideringen (FP3).
FÃķr UX-fel skapar DeepEval anpassade metriker fÃķr att utvÃĪrdera UX-fel, medan Braintrust utmÃĪrker sig i grundfakta-datasetjÃĪmfÃķrelse.












