Câștiguri:
- Definirea valorilor care măsoară separat retenția și calitatea generării
- Configurați un set de întrebări de aur și rulați evaluarea automată cu LLM-as-judge
- Menținerea calității prin feedback, monitorizare și teste de regresie în producție
Propoziția „Am instalat asistentul, pare să funcționeze bine” nu este o declarație de inginerie. Sistemele RAG se defectează în tăcere: un nou tip de document păcălește recuperarea, o schimbare promptă reduce acuratețea, indexul devine învechit. Singura modalitate de a realiza acest lucru este măsurarea. În această unitate, vom acoperi modul de măsurare a calității RAG (recuperare și generare separat), evaluarea automată (LLM-as-judge) și menținerea calității în producție (monitorizare, regresie). „Nu poți îmbunătăți ceea ce nu măsori” este motto-ul acestei unități.
Măsoară două lucruri separate
RAG are două picioare și trebuie măsurat separat, deoarece problema poate fi în oricare dintre ele:
- Calitatea recuperării: A sosit piesa corectă?
- Calitatea generației: a fost răspunsul corect produs din piesa primită?
Dacă răspunsul este rău, trebuie să știți mai întâi care picior este rău. Dacă partea potrivită nu ajunge niciodată, nici cel mai bun prompt nu poate salva (problema de recuperare). Dacă a sosit piesa corectă, dar modelul a citit-o greșit, îmbunătățirea recuperării este inutilă (problema generației).
Valori de recuperare
Recuperarea este o problemă de sortare/acces; măsurată prin metrici clasice de regăsire a informațiilor. Pentru aceasta trebuie să aveți clusterul de aur: cunoașterea carei piese este „corectă” pentru fiecare întrebare.
metrica
Ce masuri
Definiție simplă
Recall@k
Piesa corectă este în k de sus?
Rata corectă de captare a piesei
precizie@k
Câte dintre cele k piese returnate sunt relevante?
Curățarea a ceea ce se aduce
MRR (Rang reciproc mediu)
În ce ordine este piesa corectă?
Recompensele fiind în primele rânduri
Rata de lovituri
A sosit cel puțin o piesă corectă?
Cea mai elementară măsură a succesului
Comentariu practic: Dacă Recall@k este scăzut, strategia de fragmentare sau de căutare (hibridă, k, re-clasificare) ar trebui reproșată. Dacă precizia este scăzută, dar reamintirea este mare, adăugarea re-clasării este o mișcare bună.
Metrici de generație
Când sosește piesa corectă, măsurăm calitatea răspunsului produs de model. Trei dimensiuni de bază:
- Fidelitate: Fiecare afirmație din răspuns este susținută de context? Există vreo potrivire? Este o măsură directă a halucinațiilor.
- Relevanța răspunsului: răspunsul răspunde de fapt la întrebare sau este în afara subiectului?
- Completitudine: Au fost folosite toate informațiile relevante din context sau lipsesc?
Acestea sunt adesea punctate pe o bază notată (de exemplu, 1-5), mai degrabă decât binar, cum ar fi „adevărat/fals”.
Sfat: Urmăriți fidelitatea ca o valoare separată. Dacă fidelitatea scade pe măsură ce acuratețea scade, problema este generarea; Dacă fidelitatea este mare, dar răspunsul este greșit, problema este piesa greșită (recuperare). Împreună, aceste două valori sunt o busolă care arată locația defecțiunii.
Stabilirea unui set de întrebări de aur
Fiecare măsurătoare necesită un set de aur/un set de date de evaluare: întrebări realiste + răspunsuri corecte așteptate + piese sursă corecte. Începând cu 30-50 de întrebări bine alese este mai bine decât 500 de întrebări aleatorii. Includeți următoarele în set: întrebări reale frecvente, întrebări dificile cunoscute, întrebări capcană fără răspuns (ar trebui să spuneți „nu știu”), întrebări cu surse contradictorii.
# Exemplu de cluster de aur (conceptual)[ {"question": "Câte zile de concediu anual?", "expected_answer": "14 zile pentru 1-5 ani de vechime", "correct_part_id": "two-part-3", "category": "leave"}, {"question": "Unde este biroul companiei pe Mars?", ":" #e_tracted INFORMATION, ":" nu știu „correct_part_id”: null, „category”: „trap”}]
LLM-as-Judge: Evaluare automată
A nota sute de răspunsuri manual este obositor. Modelul LLM-as-judge este atunci când un model punctează și justifică răspunsul altui model pe baza anumitor criterii. Un judecător bun definește clar criteriile, dă exemple și cere justificare.
# LLM-as-judge prompt (conceptual) Sunteți un evaluator imparțial. Evaluează RĂSPUNSUL de mai jos conform CONTEXTULUI dat și RĂSPUNSUL AȘTEPTAT. Notați (1-5) și justificați:- fidelitate: fiecare afirmație din răspuns este susținută în context?- acuratețe: răspunsul se potrivește cu răspunsul așteptat?- completitudine: informațiile relevante sunt complete? În special: dacă răspunsul conține informații care nu se află în context, dați fidelitate1 și indicați care afirmație este fabricată.CONTEXT: {context}AȘTEPTAT: {așteptat}RĂSPUNS: {răspuns}Ieșire: {fidelitate, acuratețe, completitudine, justificare}
Atenție: LLM-as-judge nu este perfect; Ei pot avea propriile părtiniri (răspuns lung, preferând propriul stil). Verificați, de asemenea, Judecător: obțineți câteva răspunsuri punctate atât de judecător, cât și de om și măsurați acordul dintre ei. Dacă Judge este în concordanță cu scorurile umane, poți avea încredere în el.
Evaluare slabă/puternică
Slab ("a fost bine pentru mine"):
Am pus câteva întrebări și răspunsurile mi s-au părut bune. Îl am în direct.# Problemă: fără măsurători, regresie imperceptibilă, îmbunătățire oarbă.
Puternic (cluster de aur + metrici discrete + judecată automată + regresie):
Grup de aur de 40 de întrebări. Cu fiecare schimbare, recall@5, fidelitatea și acuratețea sunt măsurate automat. Dacă scorul scade, modificarea este anulată. În producție, feedback-ul utilizatorului este colectat și adăugat la set.
Monitorizare și regresie în producție
Evaluarea nu se face o singură dată și se termină. Trei practici constante:
- Testare de regresie: rulați automat clusterul de aur la fiecare solicitare/recuperare/model. Dacă scorul este redus, schimbarea este inversată. Acest lucru previne „spărgerea lui în timp ce încercați să o faceți mai bună”.
- Monitorizarea producției: rata „Nu am găsit informații” în întrebările reale, întârzierea medie, costul, feedback-ul utilizatorilor (👍/👎) sunt monitorizate. O creștere bruscă a „Nu știu” este adesea primul semn al unui index sau o defecțiune de recuperare.
- Bucla de feedback: întrebările reale furnizate de utilizator 👎 sunt revizuite și adăugate la grămada de aur; Astfel, setul devine mai bogat în timp și unghiurile moarte ale sistemului sunt închise.
Trei mini carcase
Cazul 1 — Regresie silențioasă. O echipă a modificat promptul pentru a-l „îmbunătăți”; Precizia generală a crescut, dar fidelitatea a scăzut cu 30% la întrebările capcană (modelul a început să se potrivească mai mult). Nu s-ar fi observat dacă nu ar fi fost întrebările-capcană din grupul de aur; Testarea de regresie a anulat schimbarea.
Cazul 2 — Îndreptarea piciorului greșit. Într-un asistent răspunsurile au fost proaste; Echipa a lucrat la prompt timp de săptămâni. Când am măsurat valorile de regăsire, recall@5 a fost de doar 48% - problema a fost în recuperare, nu în generare. Când a fost adăugat hibrid + re-clasificare, amintirea a crescut la 89% și precizia a crescut, de asemenea.
Cazul 3 – Alertă de producție. Într-o zi, rata „Nu am găsit informații” pentru un asistent de asistență a sărit de la 6% la 34%. Trackpad-ul a avertizat; Motivul a fost că sarcina de indexare, care rulează noaptea, a eșuat în tăcere și articole noi nu au fost încărcate. Fără monitorizare, declarațiile incorecte „nu știu” ar fi continuat zile întregi.
Greșeli comune
- Să fii mulțumit de „a funcționat bine pentru mine”: Fără măsurare, regresia trece neobservată.
- Nu separă recuperarea și generarea: vei corecta piciorul greșit și vei pierde timp.
- Nu pune întrebări capcană: tendința de a inventa lucrurile nu apare în grupul de aur.
- Nu verifică judecătorul: un juriu părtinitor oferă o încredere falsă.
- Nu se monitorizează producția: Eșecul indexului, explozia costurilor continuă în tăcere.
Pe scurt
- În RAG, calitatea regăsirii și generării sunt măsurate separat; Mai întâi trebuie stabilit care picior este deteriorat.
- recall@k, precizie@k, MRR pentru Recuperare; Fidelitatea, adecvarea, completitudinea sunt folosite pentru generație.
- Fiecare măsurătoare necesită un grup de aur; Pune în el întrebări reale, dificile, capcane și contradictorii.
- LLM-ca-judecător seturi mari auto-scoruri; dar judecătorul însuși trebuie să fie îndreptățit împotriva omului.
- Testarea de regresie, monitorizarea producției și o buclă de feedback mențin calitatea în timp.
Sarcina de aplicare
(1) Creați un set de aur de cel puțin 15 întrebări pentru propriul dvs. asistent: includeți cel puțin 3 capcane (fără răspunsuri), 3 întrebări dificile, 2 surse contradictorii. Scrieți răspunsul așteptat și partea corectă pentru fiecare întrebare. (2) Comparați manual două versiuni diferite de prompt cu acest set; Acordați fiecărui răspuns 1-5 puncte pentru fidelitate și acuratețe. (3) Adaptați solicitarea LLM-as-judge de mai sus la propriile criterii. (4) Identificați 3 valori pe care le veți urmări în producție și pentru fiecare întreabă „la ce prag alarmez?” scrie valoarea.
lista de verificare
- [ ] Pot măsura reținerea și calitatea generării cu valori separate.
- [ ] Știu ce înseamnă valori precum recall@k, fidelitate.
- [ ] Pot construi un grup de aur care include întrebări reale, dificile, capcane și contradictorii.
- [ ] Pot configura evaluarea automată și pot verifica judecătorul cu LLM-as-judge.
- [ ] Pot opera testarea regresiei, monitorizarea producției și bucla de feedback.