8. Plan sprawdzenia chatbota

8.2. Diagnoza błędów i jedna zmiana

Lokalne chatboty, agenci i systemy RAG z własną bazą wiedzy

Instrukcja krok po kroku · materiał uzupełniający

Budujemy chatbota w konsoli

Porównanie A/B

Odniesienie: M6 R5   |   Czas: 25 min

Najpierw znajdź etap, w którym pojawia się błąd. Potem zmień jeden parametr i ponów ten sam zestaw.

ObjawNajpierw sprawdź
Odpowiedniej informacji nie ma w bazieZakres dokumentów i wynik przygotowania w M2.
Informacja jest w źródle, nie ma jej we fragmencieEkstrakcję, czyszczenie i podział.
Fragment istnieje, ale nie mieści się w top-kRanking, parafrazę pytania i model embeddingowy.
Jest w top-k, nie ma go w sourcesPróg podobieństwa i budżet kontekstu.
Jest w sources, odpowiedź przekłamuje treśćPrompt, instrukcje, zachowanie warunków i model generujący.
Wynik urywa się w połowie zdaniadone_reason i limit num_predict.
Po nowym pytaniu widzisz stare źródłaAktualizację stanu interfejsu.

Porównaj top_k = 3 i top_k = 5

  1. Zachowaj folder pierwszego pomiaru jako punkt odniesienia A.
  2. Zakończ uruchomione programy. W config.json zmień tylko top_k z 3 na 5.
  3. Uruchom ponownie ewaluacja.py. Nie musisz przebudowywać indeksu: baza i model embeddingowy są te same.
  4. Porównaj te same ID w obu folderach. Sprawdź Hit@k, kompletność kontekstu, odpowiedź, liczbę źródeł i odmowy.
  5. Wybierz konfigurację na podstawie wyników całego zestawu. Zapisz także pogorszenia. Jeśli zwiększenie top-k nie pomogło, wróć do diagnozy.

Więcej fragmentów może dodać potrzebny wyjątek, ale też szum. W tym kodzie budżet kontekstu może sprawić, że nie wszystkie pięć fragmentów trafi do promptu. Dlatego porównuj ranking z sources.

Przykład rzeczywistego pomiaru przygotowawczego

Podczas sprawdzania tego materiału 29.09.2026, na podanych modelach i dziesięciu fragmentach DocAssist, wariant top-k = 3 uzyskał Hit@k = 4/5, a top-k = 5 uzyskał 5/5. W obu wariantach wykonano po osiem pytań bez błędów technicznych. Trzy przypadki bez oczekiwanego źródła wyłączono z mianownika tej miary.

W T03 fragment o przywróceniu kopii był na czwartej pozycji. Zwiększenie top-k wprowadziło go do kontekstu, ale odpowiedź nadal nie eksponowała jasno wymaganej procedury. W wariancie z pięcioma fragmentami odpowiedź T04 nie zawierała etykiety źródła. To przykład poprawy wyszukiwania, która nie wystarcza do akceptacji całego chatbota. Nie jest to wynik, który masz odtworzyć słowo w słowo. Wykonaj własny pomiar i ocenę.

Szablon krótkiego wniosku

Przypadek i result_id:
Objaw:
Dowód w źródle / rankingu / kontekście / odpowiedzi:
Przypuszczalna przyczyna:
Jedyna zmiana A → B:
Wynik na tym przypadku:
Wynik na pozostałych przypadkach:
Decyzja i ograniczenia:

Warto wiedzieć. Temperatura 0 i stały seed pomagają utrzymać podobne warunki, lecz nie gwarantują identycznego tekstu na wszystkich urządzeniach i wersjach. Dla ważnych przypadków wykonaj kilka prób i opisz rozrzut. Próg podobieństwa dobieraj na oznaczonym zestawie; nie przenoś przypadkowej wartości z innego modelu.

Punkt kontrolny

  • Zmieniłeś jeden element, a nie cały przepływ naraz.
  • Potrafisz uzasadnić przyjęcie lub odrzucenie zmiany.

Instrukcja uczestnika · Python i Ollama · wydanie 29.09.2026