Udostępnij za pośrednictwem


Krok 5 (generacja). Jak debugować jakość generowania

Na tej stronie opisano sposób identyfikowania głównej przyczyny problemów z generowaniem. Użyj tej strony, gdy analiza głównej przyczyny wskazuje główną przyczynę Improve Generation.

Nawet w przypadku optymalnego pobierania, jeśli składnik LLM łańcucha RAG nie może skutecznie wykorzystać pobranego kontekstu do generowania dokładnych, spójnych i odpowiednich odpowiedzi, ostateczna jakość danych wyjściowych cierpi. Niektóre sposoby, w jakie mogą występować problemy z jakością generowania, to halucynacje, niespójności lub zwięzłe rozwiązywanie problemów z zapytaniem użytkownika.

Instrukcje

Wykonaj następujące kroki, aby rozwiązać problemy z jakością generowania:

  1. Otwórz notes B_quality_iteration/01_root_cause_quality_issues.
  2. Użyj zapytań, aby załadować ślady MLflow rekordów, które miały problemy z jakością generowania.
  3. Dla każdego rekordu ręcznie sprawdź wygenerowaną odpowiedź i porównaj ją z pobranym kontekstem i odpowiedzią ground-truth.
  4. Poszukaj wzorców lub typowych problemów z zapytaniami o niskiej jakości generowania. Na przykład: .
    • Generowanie informacji, które nie są obecne w pobranym kontekście.
    • Generowanie informacji, które nie są zgodne z pobranym kontekstem (halucynacja).
    • Nie można bezpośrednio rozwiązać zapytania użytkownika, biorąc pod uwagę podany kontekst pobrany.
    • Generowanie odpowiedzi, które są nadmiernie pełne, trudne do zrozumienia lub brak spójności logicznej.
  5. W oparciu o zidentyfikowany problem hipoteza ma potencjalne główne przyczyny i odpowiednie poprawki. Aby uzyskać wskazówki, zobacz Typowe przyczyny niskiej jakości generowania.
  6. Wykonaj kroki opisane w artykule Implementowanie i ocenianie zmian w celu zaimplementowania i oceny potencjalnej poprawki. Może to obejmować modyfikowanie łańcucha RAG (na przykład dostosowanie szablonu monitu lub wypróbowanie innego modułu LLM) lub potoku danych (na przykład dostosowanie strategii fragmentowania w celu zapewnienia większego kontekstu).
  7. Jeśli jakość generacji jest nadal niezadowalająca, powtórz kroki 4 i 5 dla następnej najbardziej obiecującej poprawki do momentu osiągnięcia żądanej wydajności.
  8. Uruchom ponownie analizę głównej przyczyny, aby ustalić, czy ogólny łańcuch ma jakiekolwiek dodatkowe główne przyczyny, które należy rozwiązać.

Typowe przyczyny niskiej jakości generowania

W poniższej tabeli wymieniono kroki debugowania i potencjalne poprawki typowych problemów z generowaniem. Poprawki są podzielone na kategorie według składnika:

  • Konfiguracja łańcucha
  • Kod łańcucha

Składnik definiuje, które kroki należy wykonać w kroku implementowania i oceniania zmian .

Ważne

Usługa Databricks zaleca użycie monitu inżynieryjnego do iterowania jakości danych wyjściowych aplikacji. Większość poniższych kroków używa inżynierii monitu.

Problem z generowaniem Kroki debugowania Potencjalna poprawka
Wygenerowane informacje nie są obecne w pobranym kontekście (na przykład halucynacje). — Porównaj wygenerowane odpowiedzi z pobranym kontekstem, aby zidentyfikować halucynowane informacje.
- Oceń, czy niektóre typy zapytań lub pobrany kontekst są bardziej podatne na halucynacje.
- Szablon monitu o aktualizację łańcucha konfiguracji , aby podkreślić zależność od pobranego kontekstu.
- Konfiguracja łańcucha Użyj bardziej zdolnego modułu LLM.
- Kod łańcucha Implementowanie weryfikacji lub weryfikacji krok po wygenerowaniu.
Nie można bezpośrednio rozwiązać zapytania użytkownika lub podawać nadmiernie ogólne odpowiedzi — Porównaj wygenerowane odpowiedzi z zapytaniami użytkowników, aby ocenić istotność i specyfikę.
— Sprawdź, czy niektóre typy zapytań powodują pobranie poprawnego kontekstu, ale funkcja LLM generuje dane wyjściowe o niskiej jakości.
- Konfiguracja łańcucha Ulepszanie szablonu monitu w celu zachęcania do bezpośrednich, konkretnych odpowiedzi.
- Konfiguracja łańcucha Pobierz bardziej docelowy kontekst, poprawiając proces pobierania.
- Wyniki ponownego pobierania kodu łańcucha, aby najpierw umieścić najbardziej odpowiednie fragmenty, podaj je tylko w usłudze LLM.
- Konfiguracja łańcucha Użyj bardziej zdolnego modułu LLM.
Wygenerowane odpowiedzi są trudne do zrozumienia lub braku przepływu logicznego - Ocenianie danych wyjściowych dla przepływu logicznego, poprawności gramatycznej i zrozumiałości.
— Analizuj, czy niespójność występuje częściej z określonymi typami zapytań lub gdy są pobierane określone typy kontekstu.
- Szablon monitu o zmianę konfiguracji łańcucha, aby zachęcić do spójnej, dobrze ustrukturyzowanej odpowiedzi.
- Konfiguracja łańcucha Zapewnij więcej kontekstu w usłudze LLM, pobierając dodatkowe istotne fragmenty.
- Konfiguracja łańcucha Użyj bardziej zdolnego modułu LLM.
Wygenerowane odpowiedzi nie mają żądanego formatu ani stylu — Porównaj dane wyjściowe z oczekiwanymi wytycznymi dotyczącymi formatu i stylu.
- Oceń, czy niektóre typy zapytań lub pobrany kontekst są bardziej prawdopodobne, aby spowodować odchylenia formatu lub stylu.
- Szablon monitu o aktualizację konfiguracji łańcucha w celu określenia żądanego formatu danych wyjściowych i stylu.
- Kod łańcucha Implementowanie kroku przetwarzania końcowego w celu przekonwertowania wygenerowanej odpowiedzi na żądany format.
- Kod łańcucha Dodaj krok, aby zweryfikować strukturę danych wyjściowych i styl, a w razie potrzeby wyświetlić rezerwową odpowiedź.
- Konfiguracja łańcucha Użyj modułu LLM, który jest dostrojony, aby zapewnić dane wyjściowe w określonym formacie lub stylu.

Następny krok

Jeśli zidentyfikowano również problemy z jakością pobierania, przejdź do kroku 5 (pobieranie). Jak debugować jakość pobierania.

Jeśli uważasz, że wszystkie zidentyfikowane problemy zostały rozwiązane, przejdź do kroku 6. Utwórz i oceń poprawki dotyczące jakości agenta sztucznej inteligencji.

< Poprzedni: Krok 5.1. Jakość pobierania debugowania

Dalej: Krok 6. Iteracyjne rozwiązywanie problemów z jakością >