Budowa asystenta dokumentów
8. Sprawdzenie działania i jakości
Lokalne chatboty, agenci i systemy RAG z własną bazą wiedzy
Praktyka po kursie · bez GUI
Asystent dokumentów w konsoli
Od działającego RAG do rozmowy i kontrolowanych narzędzi
Zacznij od testów bez modelu, potem uruchom scenariusze integracyjne. Taki podział pozwala odróżnić błąd zwykłego kodu od błędu selektora, wyszukiwania lub odpowiedzi modelu. Nie zmieniaj oczekiwań scenariuszy tylko po to, aby zniknęły niezaliczone przypadki.
python -m unittest sprawdz -v
python ewaluacja.py --wybor reguly
python ewaluacja.py --wybor modelPierwsze polecenie obejmuje 20 testów kontraktów. Kolejne wykonują te same 12 scenariuszy, łącznie 18 tur w każdym wariancie. Każdy scenariusz zaczyna się od nowej pamięci. Program nie podstawia gotowych odpowiedzi i zapisuje wynik z tego samego wywołania, które ocenia.
| Obszar | Co porównać |
|---|---|
| Interpretacja | original_question, standalone_question i history_used; czy zmienił się sens pytania? |
| Decyzja | Czy wybrano właściwe narzędzie, odmowę lub doprecyzowanie? |
| Wyszukiwanie | Czy w rag.ranking jest fragment potrzebny do odpowiedzi? |
| Kontekst | Czy potrzebny fragment znalazł się w rag.sources i w żądaniu przekazanym do modelu? |
| Odpowiedź | Czy jest oparta na kontekście, kompletna i bez dopisanych instrukcji? |
| Cytowania | Czy etykiety istnieją i rzeczywiście uzasadniają odpowiednie zdania? |
| Stan | Czy źródła mają prawidłowe pochodzenie i historia nie miesza tematów? |
Wynik automatyczny: technical_pass sprawdza status, nazwę wykonanego narzędzia i — w wybranych turach — pochodzenie źródeł. Nie ocenia prawdziwości odpowiedzi. Pola manual mają wartość null do czasu Twojej oceny; nie oznacza ona zaliczenia.
- Otwórz podsumowanie.json i wybierz niezgodne przebiegi.
- Następnie przeczytaj wszystkie odpowiedzi merytoryczne oraz odpowiadające im źródła.
- Dla każdego wypełnij osobny raport oceny: oparcie w źródłach, kompletność, poprawność cytowań i zasadność odmowy. Jeśli kryterium nie dotyczy np. metadanych, wpisz „nie dotyczy”.
- W S09 sprawdź, czy odpowiedź nie wymyśla konfiguracji TLS. Sam status answered nie przesądza o wyniku tej oceny.
- Porównaj oba tryby przy niezmienionych danych i konfiguracji. Zapisz także czas oczekiwania, jeśli jest ważny dla użytkownika.
Sprawdź przed przejściem dalej
- Potrafię oddzielić błąd wyboru narzędzia od błędu treści odpowiedzi.
- Nie traktuję istniejącej etykiety cytowania jako dowodu poprawnego uzasadnienia.
- Mam ocenę ręczną, a nie sam odsetek statusów answered.
Materiał uzupełniający do modułów 1–6 · wersja 1.0 · 30.09.2026