Podręcznik uczestnika z objaśnieniami, przykładami i ćwiczeniami do samodzielnej nauki do Modułu 6
1. Jak korzystać z podręcznika
ENHANCER+ · Moduł 6 · Ewaluacja RAG · Rozdział
Moduł 6 prowadzi od działającego DocAssist do oceny, którą można sprawdzić i powtórzyć. Zbudujesz zestaw testowy, zapiszesz wyniki wyszukiwania i odpowiedzi, ocenisz je względem źródeł, zbadasz jedną zmianę i przygotujesz raport projektu. Książka zawiera objaśnienia oraz pełne definicje funkcji potrzebnych w warsztacie. Nie musisz równocześnie oglądać prezentacji.
Co jest potrzebne do samodzielnej pracy
Do czytania i rozwiązywania zadań analitycznych wystarczy ta książka. Końcowy dodatek „Źródła ćwiczeń i mapa pakietu” zawiera aktualne fragmenty korpusu, do których odwołują się przykłady. Do uruchomienia kodu potrzebujesz pakietu M12_M6_Student.zip, dodatku Modul_6_RAG_warsztat_kod.zip i środowiska Python z NumPy oraz JupyterLab. Pobierz je przed przejściem do pracy offline.
Standardowe notebooki R1–R6 pakietu używają gotowego m6_tools.py. Nowy warsztat używa moj_m6.py, w którym uzupełniasz trzynaście funkcji. Funkcje pomocnicze, zapis JSON i połączenie z M3–M5 są już dostarczone. Książka wyjaśnia, co robią, ale nie wymaga przepisywania całej aplikacji.
| Etap | Co budujesz | Jak sprawdzasz rezultat |
|---|---|---|
| R1 | Niezmienną konfigurację bazową | Próba podmiany istniejącej bazy zostaje zatrzymana |
| R2 | Dodatkową walidację kontraktów i przygotowanie pytania | Wadliwe referencje i brak samodzielnego pytania są wykrywane |
| R3 | Hit@k, pokrycie grup, rekord i wykonanie retrievalu | Metryki zgadzają się z jawnym rankingiem, bez generacji |
| R4 | Zapis RAG z tego samego wywołania i kontrolę recenzji | Odpowiedź wskazuje właściwy ranking i ocenę |
| R5 | Porównanie jednej zmiany i analizę trzech wykonań | Wykrywasz regresję, błąd krytyczny i zmienność |
| R6 | Wiersz macierzy dowodów | Wniosek prowadzi do konkretnego wyniku i recenzji |
Przygotuj własny warsztat
Rozpakuj pakiet Studenta. Z dodatku warsztatowego przenieś zawartość katalogu Student do swojego katalogu Student. Dodatek ma nowe nazwy plików. Jeżeli już pracowałeś z moj_m6.py, zachowaj własną wersję przed ponownym kopiowaniem.
Student/
kod/
m3_tools.py, m4_tools.py, m5_tools.py
m6_tools.py gotowy punkt odniesienia
moj_m6.py trzynaście funkcji do uzupełnienia
sprawdz_moj_m6.py kontrole etapów
notebooki/
M12_M6_warsztat_ksiazki.ipynb
dane/semantic_index/
checkpointy/
evaluation/ standardowe ćwiczenia
wyniki/warsztat_M6/ niezależne przebiegi warsztatu
W moj_m6.py zastępuj całą definicję oznaczoną WARSZTAT, zachowując nazwę, argumenty i wcięcia. W książce każda definicja ma wskazany etap. Kod gotowych pętli wykonawczych pozostaw na miejscu: wywołują one funkcje z Twojego modułu, więc wyniki dotyczą Twojej implementacji.
Środowisko i cykl pracy
Jeżeli środowisko M5 działa, użyj go ponownie. W nowym środowisku uruchom poniższe polecenia w terminalu otwartym w Student. Na Linux/macOS użyj python3 oraz .venv/bin/python.
py -m venv .venv
.venv\Scripts\python.exe -m pip install -r requirements.txt
.venv\Scripts\python.exe -m jupyterlab
Otwórz notebook M12_M6_warsztat_ksiazki.ipynb. Po każdej zmianie pliku zapisz go i wykonaj komórkę z importlib.reload. Zwykły powtórny import nie wczytuje zmienionego kodu. Kontroler etapu poda listę brakujących definicji albo wynik sprawdzeń. Komunikat „nieukończone” nie jest zaliczeniem testu.
Notebook warsztatu · przykład wywołania
from pathlib import Path
from uuid import uuid4
import sys, json, importlib
ROOT = Path.cwd().resolve()
if not (ROOT / 'konfiguracja.json').exists():
ROOT = ROOT.parent
assert (ROOT / 'konfiguracja.json').exists(), 'Otwórz notebook z Student/notebooki.'
sys.path.insert(0, str(ROOT / 'kod'))
import moj_m6 as w
import m6_tools as ref
import sprawdz_moj_m6 as check
importlib.reload(w)
MODE = 'checkpoint'
config = w.configure(ROOT, mode=MODE)
cases = w.load_cases(ROOT)
WORK = ROOT / 'wyniki' / 'warsztat_M6' / uuid4().hex
E = WORK / 'evaluation'
E.mkdir(parents=True)
print('Katalog tego przebiegu:', WORK)
Zmienna ROOT zawsze wskazuje pakiet Studenta. WORK jest nowym katalogiem danego przebiegu warsztatu. Jego podkatalog evaluation zawiera pliki o tych samych nazwach co standardowe ćwiczenia, lecz nie nadpisuje wcześniejszej pracy. Przy ponownym otwarciu rozpoczętej sesji wskaż istniejący WORK, zamiast tworzyć kolejny, jeśli chcesz tylko dokończyć recenzje.
Co znaczy offline
Tryb checkpoint odtwarza zapisane żądania z wcześniejszego pilota. W R3 dostępnych jest dziewięć wyszukiwań z listy checkpoint_subset.json. W R4 lista assistant_checkpoint_subset.json obejmuje pięć sprawdzonych przypadków. To dwa różne zakresy. Brak checkpointu nie uruchamia modelu automatycznie.
Nowe pytanie, nowy prompt i pełne scenariusze asystenta wymagają trybu ollama oraz lokalnych modeli. Internet nie musi być potrzebny podczas generowania, jeżeli biblioteki i modele pobrano wcześniej. Czytanie książki i analiza dostarczonych wyników pozostają dostępne całkowicie offline.
Aktualny korpus
DocAssist jest fikcyjny. W M6 pracujesz na rzeczywistym pakiecie M3–M5: cztery identyfikatory dokumentów, dziesięć fragmentów i wektory o 1024 wymiarach. W książce M1 występowały inne przykłady, m.in. journalctl i kopia katalogu przed aktualizacją. Nie przenoś tych procedur do oceny M6. Tutaj podstawą jest tekst aktualnego indeksu, przytoczony w dodatku źródłowym. Polecenia systemowe występują jako treść dokumentów, a asystent ich nie wykonuje.
Lokalne chatboty, agenci i systemy RAG z własną bazą wiedzy · Moduł 6 · Wydanie 29.09.2026