Liderzy opinii

Jak zbudować niezawodny RAG: Głębokie wprowadzenie do 7 punktÃģw awaryjnych i ram ewaluacji

mm
Dodaj Unite.AI do preferowanych ÅšrÃģdeł w Google

Retrieval-Augmented Generation (RAG) jest kluczowy dla nowoczesnej architektury AI, słuŞąc jako podstawowa ramy budowy agentÃģw świadomych kontekstu.

Ale przechodzenie od podstawowego prototypu do systemu gotowego do produkcji wymaga pokonania znaczących przeszkÃģd w odzyskiwaniu danych, konsolidacji kontekstu i syntezie odpowiedzi.

Ten artykuł zapewnia głębokie wprowadzenie do siedmiu typowych punktÃģw awaryjnych RAG i metryk ewaluacji z praktycznymi przykładami kodowania.

Anatomia awarii RAG – 7 punktÃģw awaryjnych (FP)

Według badaczy Barnett et al., systemy RAG napotykają siedem konkretnych punktÃģw awaryjnych (FP) na całej drodze.

PoniÅžszy diagram ilustruje te etapy:

Figure A. Procesy indeksowania i zapytań wymagane do tworzenia systemu RAG. Proces indeksowania odbywa się w czasie rozwoju, a zapytania w czasie wykonywania. Punkty awaryjne zidentyfikowane w tym badaniu są pokazane w czerwonych prostokątach (ÅšrÃģdło)

Figure A. Procesy indeksowania i zapytań wymagane do tworzenia systemu RAG. Proces indeksowania odbywa się w czasie rozwoju, a zapytania w czasie wykonywania. Punkty awaryjne zidentyfikowane w tym badaniu są pokazane w czerwonych prostokątach (ÅšrÃģdło)

PrzejdÅšmy przez kaÅždy punkt awaryjny, uporządkowany według sekwencji potoku, postępując od lewego gÃģrnego rogu do prawego dolnego rogu, jak pokazano w Figure A.

FP1. Brakująca treść

Brakująca treść występuje, gdy system jest pytany o coś, co nie moÅže być odpowiedzią, poniewaÅž odpowiednia informacja nie jest obecna w dostępnym magazynie wektorowym.

FP2. Pominięte dokumenty najwyÅžej ocenione

Jest to sytuacja, w ktÃģrej poprawny dokument istnieje w magazynie wektorowym, ale odzyskiwacz nie jest w stanie nadać mu wystarczająco wysokiej oceny, aby umieścić go wśrÃģd najlepszych dokumentÃģw k, ktÃģre są podawane do LLM jako kontekst.

FP3. Nie w kontekście (ograniczenia strategii konsolidacji)

Jest to sytuacja, w ktÃģrej poprawny dokument istnieje i jest odzyskany z magazynu wektorowego, ale jest wykluczony podczas procesu konsolidacji.

FP4. Nie wyodrębniony

Jest to sytuacja, w ktÃģrej LLM nie jest w stanie zidentyfikować poprawnej informacji w kontekście, nawet jeśli poprawna informacja była w magazynie wektorowym i została pomyślnie odzyskana i skonsolidowana.

FP5. Błędny format

Jest to sytuacja, w ktÃģrej magazynowanie, odzyskiwanie, konsolidacja i interpretacja LLM są obsługiwane pomyślnie, ale LLM nie jest w stanie postępować zgodnie ze specyficznymi instrukcjami formatowania podanymi w prompcie, takimi jak tabela, lista punktowa lub schemat JSON.

FP6. Niewłaściwa szczegÃģłowość

Wydruk LLM jest technicznie obecny, ale albo zbyt ogÃģlny, albo zbyt złoÅžony w porÃģwnaniu z potrzebami uÅžytkownika.

FP7. Niedokończone odpowiedzi

Jest to sytuacja, w ktÃģrej LLM generuje wydruk, ktÃģry nie jest koniecznie błędny, ale brakuje mu kluczowych elementÃģw informacji, ktÃģre były dostępne w kontekście.

Jak punkty awaryjne kompromitują wydajność potoku RAG

KaÅždy z tych punktÃģw awaryjnych wpływa na wydajność potokÃģw RAG:

Awarie integralności danych i zaufania

Gdy brakuje lub jest niepoprawna informacja, system nie jest juÅž wiarygodnym ÅšrÃģdłem informacji. GłÃģwne punkty awaryjne obejmują:

  • FP1 (Brakująca treść): OdpowiedÅš nie jest w dokumencie od samego początku.
  • FP4 (Nie wyodrębniony): LLM decyduje się zignorować poprawną odpowiedÅš w dokumencie.
  • FP7 (Niedokończony): LLM podaje pÃģłprawdy, brakuje mu waÅžnych elementÃģw.

Wąskie gardła odzyskiwania i wydajności

Potok RAG moÅže być niewydajny, gdy pomija kluczowe informacje w etapach odzyskiwania i konsolidacji. GłÃģwne punkty awaryjne obejmują:

  • FP2 (Pominięte dokumenty najwyÅžej ocenione): Model embeddings nie jest w stanie wybrać najlepszych dokumentÃģw k.
  • FP3 (Ograniczenia strategii konsolidacji): Skrypt do obcinania dokumentÃģw, aby zmieścić się w limitach LLM, usuwa najwaÅžniejsze części.

Błędy doświadczenia uÅžytkownika i formatowania

ChociaÅž poprawny, wydruk z słabą czytelnością lub w niewłaściwym formacie moÅže kompromitować doświadczenie uÅžytkownika. GłÃģwne punkty awaryjne obejmują:

  • FP5 (Błędny format): LLM nie jest w stanie postępować zgodnie ze specyficznym formatem wyjściowym, takim jak JSON.
  • FP6 (Niewłaściwa szczegÃģłowość): LLM generuje obszerny wydruk dla prostej odpowiedzi tak/nie, lub odwrotnie (zbyt krÃģtką odpowiedÅš na skomplikowane pytanie).

Stos ewaluacji: Ramy do łagodzenia punktÃģw awaryjnych

Metryki ewaluacji są zaprojektowane w celu systematycznego łagodzenia tych punktÃģw awaryjnych.
Ten rozdział bada głÃģwne metryki ewaluacji z praktycznymi przypadkami uÅžycia.

GłÃģwne metryki ewaluacji RAG:

  • DeepEval
  • RAGAS
  • TruLens
  • Arize Phoenix
  • Braintrust

DeepEval – Test jednostkowy przed wdroÅženiem

DeepEval oblicza wynik waÅžony na podstawie kryteriÃģw.

LLM-as-a-judge (np. GPT-4o) ocenia kaÅžde kryterium w stosunku do wyjścia LLM:

DeepEval wykorzystuje G-eval, ramę łańcucha myśli (CoT), ktÃģra podejmuje wieloetapowe podejście do oceny wyjścia:

  1. Definiuj kryterium do pomiaru (np. “spÃģjność”, “poprawność” lub “istotność”).
  2. Generuj kroki ewaluacji (korzystając z LLM ewaluatora).
  3. Postępuj zgodnie z krokami ewaluacji i analizuj wejście i wyjście LLM.
  4. Oblicz oczekiwany waÅžony sumę wyniku kaÅždego kryterium.

Typowy przypadek w praktyce

  • Sytuacja: Asystent techniczny (bot) dla złoÅžonego oprogramowania wydaje się działać kaÅždego razu, gdy zespÃģł inÅžynierÃģw aktualizuje kod.
  • Problem: Brak ilościowego dowodu, czy bot moÅže nadal odpowiadać na zapytanie uÅžytkownika (tylko “myślisz”, Åže działaâ€Ķ).
  • Rozwiązanie: Zintegruj funkcję PyTest jako zestaw regresji CI/CD w Github Action, gdzie DeepEval uruchamia G-Eval i inne metryki nad przypadkiem testowym:
  • Oczekiwane wyniki: Jeśli ktÃģrykolwiek wynik metryki spadnie poniÅžej progu (0,85), PyTest podnosi AssertionError – niezwłocznie kończąc budowę CI, uniemoÅžliwiając cichą regresję przed osiągnięciem produkcji.

Zalety i wady

  • Istnieje wiele metryk (50+) w tym specjalistyczne sprawdzanie stronniczości i toksyczności.
  • Całkowicie integruje się z istniejącymi potokami CI/CD.
  • Brak odniesienia. Ocena wyjścia oparta wyłącznie na prompcie i dostarczonym kontekście.
  • Jakość oceny zaleÅžy wyłącznie od moÅžliwości LLM sędziego.
  • Obliczeniowo kosztowne, gdy LLM sędziego jest modelem wysokiej klasy.

Uwaga deweloperska – Przypadek testowy dla DeepEval
Zestaw LLMTestCase obiektÃģw definiuje przypadek testowy, ktÃģry DeepEval uruchamia.

W praktyce ten przypadek testowy powinien zawierać najwaÅžniejsze zapytania uÅžytkownikÃģw i etykietowane wyjścia z odzyskanym kontekstem.

Mogą one być pobrane z pliku JSON lub CSV.

RAGAS – Optymalizator igły w stogu siana

RAGAS ma na celu ocenę RAG bez zestawu danych z adnotacjami przez generowanie syntetycznych zestawÃģw testowych.

Następnie oblicza flagowe metryki:

Figure B. Diagram triady oceny RAGAS łączący pytanie, kontekst i odpowiedÅš za pomocą metryk precyzji, odzyskiwania, lojalności i istotności (stworzony przez Kuriko IWAI)

Figure B. Diagram triady oceny RAGAS łączący pytanie, kontekst i odpowiedÅš za pomocą metryk precyzji, odzyskiwania, lojalności i istotności (stworzony przez Kuriko IWAI)

Flagowe metryki są sklasyfikowane w trzy grupy:

  • Potok odzyskiwania (czarna, ciągła linia, Figure B): Precyzja kontekstu, odzyskiwanie kontekstu.
  • Potok generacji (czarna, kropkowana linia, Figure B): Lojalność, istotność odpowiedzi.
  • Punkty odniesienia (czerwona skrzynka, Figure B): Podobieństwo semantyczne odpowiedzi, poprawność odpowiedzi.

Typowy przypadek w praktyce

  • Sytuacja: System RAG dla umÃģw prawnych brakuje kluczowych klauzul. Nie jesteś pewien, czy problem leÅžy w wyszukiwaniu (odzyskiwacz) czy w czytaniu (generator).
  • Problem: Brak pomysłu na optymalny top-k (liczba pobranych fragmentÃģw).
  • Rozwiązanie: UÅžyj RAGAS, aby utworzyć syntetyczny zestaw testowy z 100 par pytań i dowodÃģw. Następnie uruchom potok RAG na zestawie testowym, aby obliczyć precyzję kontekstu i odzyskiwanie kontekstu:
  • Oczekiwany wynik: W zaleÅžności od wynikÃģw metryk, plan działania moÅže być następujący:
Metryka Wynik Diagnoza Plan działania
Precyzja kontekstu Niski Odzyskiwacz pominął poprawną informację. – Zwiększ top-k.
– WyprÃģbuj wyszukiwanie hybrydowe (BM25 + Wektor).
Odzyskiwanie kontekstu Niski Najlepsze fragmenty k zawierają zbyt wiele szumu i hałasu – co myli LLM. – Zmniejsz top-k
– Zaimplementuj ponowne rangowanie (np. Cohere).
Lojalność Niski Generator halucynuje, pomimo posiadania danych. – Dostosuj prompty systemu.
– SprawdÅš limity okna kontekstu.

Tabela 1. Plan działania diagnostycznego RAGAS – Mapowanie wynikÃģw na dostosowania systemu.

Zalety i wady

  • Doskonały dla wczesnego etapu projektu bez zbiorÃģw danych odniesienia (jak widzieliśmy w przykładzie kodu, RAGAS moÅže utworzyć syntetyczny zestaw testowy).
  • Syntetyczny zestaw testowy moÅže nie uwzględniać nuansÃģw błędÃģw faktograficznych.
  • Wymaga solidnego modelu ekstraktora, aby rozbić odpowiedzi na poszczegÃģlne twierdzenia (w przykładzie uÅžyłem gpt-4o).

TruLens – Specjalista od pętli sprzęŞenia zwrotnego

TruLens koncentruje się na wewnętrznych mechanizmach procesu RAG, a nie tylko na końcowym wyjściu, uÅžywając funkcji sprzęŞenia zwrotnego.

UÅžywa rÃģwnieÅž oceny LLM opartej na 4-punktowej skali Likerta (0-3), co sprawia, Åže jest lepszy w klasyfikowaniu jakości rÃģÅžnych wynikÃģw wyszukiwania.

Typowy przypadek w praktyce

  • Sytuacja: Bot doradcy medycznego odpowiada na pytanie uÅžytkownika poprawnie, ale dodaje wskazÃģwkę, ktÃģra nie jest w zweryfikowanej bazie PDF.
  • Problem: Dodatkowa wskazÃģwka moÅže być pomocna, ale nie jest uzasadniona.
  • Rozwiązanie: UÅžyj TruLens, aby zaimplementować funkcję sprzęŞenia zwrotnego z progiem, takim jak score > 0.8.
  • Oczekiwane wyniki: Gdy LLM generuje odpowiedÅš, ktÃģra zawiera informacje nieobecne w odzyskanych fragmentach, TruLens flaguje rekord w Twoim panelu.

Zalety i wady

  • Wizualizuje łańcuch rozumowania, aby określić, gdzie exactly agent zboczył z toru.
  • Zapewnia wbudowane wsparcie dla ugruntowania, aby złapać halucynacje w czasie rzeczywistym.
  • Ściąga się nauczenie definiowania niestandardowych funkcji sprzęŞenia zwrotnego.
  • Panel moÅže wydawać się cięŞki dla prostych skryptÃģw.

Arize Phoenix – Cicha mapa awaryjna

Arize Phoenix to otwarte narzędzie obserwacyjne i ewaluacji do oceny wyjść LLM, w tym złoÅžonych systemÃģw RAG.

Zbudowany na OpenTelemetry przez Arize AI, koncentruje się na obserwowalności, traktując ocenę LLM jako podzbiÃģr MLOps.

Typowy przypadek w praktyce

  • Sytuacja: Bot wsparcia klienta działa dobrze dla zwrotÃģw, ale daje nonsensowne odpowiedzi na roszczenia gwarancyjne.
  • Problem: Dziura w danych w magazynie wektorowym (nie moÅžna znaleŚć w logach).
  • Rozwiązanie: UÅžyj Arize Phoenix, aby wygenerować wizualizację Umap Embedding (UEV), 3D mapę dla magazynu wektorowego – aby nałoÅžyć zapytania uÅžytkownikÃģw na fragmenty dokumentÃģw.
  • Oczekiwane wyniki: Wizualnie zobacz klaster zapytań uÅžytkownikÃģw lądujących w strefie ciemnej, gdzie nie ma dokumentÃģw, co wskazuje, Åže niektÃģre dokumenty zostały zapomniane i nie zostały przesłane do magazynu wektorowego.

Zalety i wady

  • Rodzime OpenTelemetry; integruje się z istniejącymi firmowymi stosami monitorowania.
  • Najlepsze narzędzie do wizualizacji słabych stron magazynu wektorowego.
  • Mniej ukierunkowane na ocenianie, bardziej na obserwację.
  • MoÅže być zbyt wiele dla małych aplikacji lub narzędzi jednego agenta.

Braintrust – Sieć bezpieczeństwa regresji promtu

Braintrust jest zaprojektowany do wysokoczęstotliwości cykli iteracji przy uÅžyciu porÃģwnania między modelami.

Typowy przypadek w praktyce

  • Sytuacja: ZespÃģł inÅžynierÃģw ulepsza prompty od “Odpowiedz na pytanie” (przypadek A) do bardziej złoÅžonej 500-słownej instrukcji systemowej (przypadek B).
  • Problem: Poprawienie promtu dla przypadku B moÅže nieumyślnie złamać przypadek A.
  • Rozwiązanie: UÅžyj Braintrust, aby utworzyć zestaw danych z N idealnymi przykładami (np. N = 50). PozwÃģl Braintrust uruchomić porÃģwnanie rÃģwnoległe (SxS) za kaÅždym razem, gdy zespÃģł aktualizuje pojedyncze słowo w prompcie:
  • Oczekiwany wynik: Raport rÃģÅžnic pokazujący, ktÃģre przypadki zostały poprawione lub pogorszone dla kaÅždego z zestawu danych (N = 50).

Zalety i wady

  • Ekstremalnie szybki do testowania przed wdroÅženiem.
  • Świetny interfejs dla nie-technicznych interesariuszy do przeglądania i oceniania wyjścia.
  • Własnościowy/SaaS-ukierunkowany (chociaÅž mają komponenty open-source).
  • Mniej wbudowanych metryk deep-tech w porÃģwnaniu z DeepEval lub RAGAS.

Podsumowanie

Gdy obsługiwane są przez odpowiednie ramy ewaluacji, RAG moÅže być konkurencyjnym narzędziem do zapewnienia LLM kontekstu najbardziej istotnego dla zapytania uÅžytkownika.

Strategia wdroÅženiowa: Mapowanie metryk na punkty awaryjne

ChociaÅž nie ma jednej uniwersalnej rozwiązania, Tabela 2 pokazuje, ktÃģre metryki ewaluacji stosować dla kaÅždego punktu awaryjnego, ktÃģry omÃģwiliśmy w tym artykule:

Punkt awaryjny Pomysł na metrykę ewaluacji Cecha do uÅžycia
FP1: Brakująca treść RAGAS Lojalność / Poprawność odpowiedzi
FP2: Pominięte dokumenty najwyÅžej ocenione TruLens Odzyskiwanie kontekstu / Precyzja
FP3: Konsolidacja Arize Phoenix Śledzenie odzyskiwania i analiza opÃģÅšnień
FP4: Nie wyodrębniony DeepEval Lojalność / Odzyskiwanie kontekstu
FP5: Błędny format DeepEval G-Eval (Niestandardowa rubryka)
FP6: Niewłaściwa szczegÃģłowość Braintrust Ręczna ocena i ewaluacja rÃģwnoległa
FP7: Niedokończony RAGAS Istotność odpowiedzi

Tabela 2. Macierz łagodzenia punktÃģw awaryjnych – KtÃģre narzędzie rozwiązuje ktÃģry punkt awaryjny?

DeepEval i RAGAS mogą wykorzystać swoje metryki lojalności, aby zmierzyć awarie integralności danych (FP1, FP4, FP7).

TruLens wykorzystuje swoją precyzję i odzyskiwanie kontekstu, aby zmierzyć istotność kontekstu w stosunku do wyjścia – skutecznie oceniając FP2.

Arize Phoenix zapewnia wizualny ślad procesu odzyskiwania, co ułatwia zobaczenie, czy odzyskany dokument został utracony podczas konsolidacji (FP3).

Dla awarii UX, DeepEval tworzy niestandardowe metryki, aby ocenić awarie UX, podczas gdy Braintrust wyrÃģÅžnia się w porÃģwnaniach zbiorÃģw danych odniesienia.

Kuriko IWAI jest starszym inÅžynierem ML w firmie Kernel Labs, ktÃģrej specjalnością jest przenoszenie badań ML do zautomatyzowanych, gotowych do produkcji potokÃģw.

Ona specjalizuje się w budowaniu systemÃģw ML, koncentrując się na architekturze Generative AI, ML Lineage oraz Advanced NLP.
Z duÅžym doświadczeniem w zarządzaniu produktami w całej Azji Południowo-Wschodniej, Kuriko excels w łączeniu eksperymentÃģw technicznych z wartością biznesową.

Obecnie pracuje z zespołem w Indeed, aby budować potoki automatyzacji.