Podręcznik uczestnika z objaśnieniami, przykładami i ćwiczeniami do samodzielnej nauki do Modułu 6
8. Złożenie projektu i rozwiązywanie problemów
ENHANCER+ · Moduł 6 · Ewaluacja RAG · Rozdział
Po sześciu etapach masz proces od kontraktu do wniosku: konfiguracja i plan → przypadki → surowe wyniki → ręczne oceny → diagnoza → porównanie → raport. Zachowaj tę kolejność również w swoim projekcie. Brakującego kontraktu lub rankingu nie da się zastąpić późniejszym, przekonującym opisem.
Co działa w Twoim module
| Obszar | Funkcje własne | Wsparcie dostarczone w pakiecie |
|---|---|---|
| Baza | save_baseline | configure, check_config, zapis JSON |
| Kontrakt | validate_test_cases, prepare_search_question | pełny walidator struktury i flatten_cases |
| Retrieval | hit_at_k, source_metrics, build_retrieval_record, evaluate_retrieval_turn | embedding, indeks, próg i pętla serii |
| Asystent | assistant_step, save_review | M5, answer_from_documents, pętla scenariuszy i walidacja recenzji |
| Eksperyment | compare_configs, compare_retrieval, summarize_repeats | pliki wyników oraz formularze |
| Dokumentacja | build_traceability | CSV, szablony i kontrola kompletności |
Wszystkie trzynaście definicji pokazano w książce. Gotowe pętle z moj_m6.py używają Twoich funkcji. Standardowe notebooki nadal korzystają z m6_tools.py, dzięki czemu masz niezależny punkt odniesienia. Nie podmieniaj kodu M3–M5 tylko po to, aby przejść testy warsztatu.
Artefakty końcowe
WORK/
evaluation/
evaluation_plan.md
baseline_config.json, candidate_config.json, final_config.json
test_cases.jsonl, test_cases_validation.json
retrieval_runs.jsonl, retrieval_reviews.jsonl, retrieval_results.jsonl
assistant_results.jsonl, assistant_reviews.jsonl
error_log.jsonl, error_analysis.md
experiment_log.jsonl, regression_suite.json
evaluation_summary.md
environment_manifest.json
documentation/
project_report.md, run_instructions.md
demo_scenario.md, traceability_matrix.csv
Warsztat zapisuje dane wykonania i formularze, ale nie tworzy automatycznie gotowych recenzji, wyboru końcowej konfiguracji ani prawdziwego raportu. To Twoje zadania. Skopiuj zatwierdzony test_cases do katalogu eksperymentu, zachowaj własny kod i zapisz wersję środowiska. Do oddawanego archiwum nie dodawaj .venv, wag modeli ani przypadkowych danych prywatnych.
Spójność nazewnictwa
| Na slajdzie lub w opisie | W wykonywalnym pakiecie | Znaczenie |
|---|---|---|
| retrieval_any_hit / retrieval_all_hit | metrics.ranking.any_group / all_groups | Pokrycie wymaganych grup w rankingu |
| context_any_required / context_all_required | metrics.context.any_group / all_groups | Pokrycie w końcowym kontekście |
| critical_fail | critical_error w recenzji | Krytyczne naruszenie kontraktu |
| problem_codes | problem_code w pojedynczym rekordzie błędu | Kod problemu; kilka rekordów może dotyczyć jednej tury |
| Model jako obiekt tag + digest | embedding_model, llm_model, model_digests | Identyfikacja modeli zgodna z kodem |
| N/D | ND w JSON recenzji, null w nieocenianej metryce | Brak zastosowania; odróżnij od nieukończonego formularza |
Dodatkowe pola Hit@k z warsztatu nie usuwają pól pakietu. Raport może odwoływać się do obu, jeśli podaje definicję i zakres. Identyfikatory przykładów ze slajdów nie są dowodem wykonania identycznego przypadku na Twoich danych.
Gdy coś nie działa
| Objaw | Najpierw sprawdź |
|---|---|
| Nie można importować moj_m6 | ROOT, folder kod i kernel notebooka |
| Nadal wykonywana jest stara funkcja | Czy zapisano plik i wykonano importlib.reload |
| NotImplementedError | Czy zastąpiono całą definicję z danego etapu |
| Brak checkpointu | Właściwa lista R3 lub R4, dokładny tekst i niezmieniony prompt |
| Niezgodność digestu | Komplet indeksu, manifest i model embeddingowy |
| N/D jest odrzucane | Czy kryterium figuruje w applicable_criteria danego kontraktu |
| Duplikat result_id recenzji | Czy komórka zapisu została uruchomiona ponownie |
| Porównanie odrzuca pary | test_id, turn_id, kontrakty, duplikaty i różnice konfiguracji |
| Brak final_config | Czy decyzję i uzasadnienie rzeczywiście zapisano po analizie |
Jeśli restartujesz kernel, zmienne results, config i contracts znikają. Odtwórz je z zapisanego katalogu i właściwych plików zamiast tworzyć nowy pomiar tylko po to, aby odnaleźć istniejącą recenzję. Po zmianie kodu albo kontraktu nowa próba powinna mieć nowy run_id.
Ostatnia kontrola
Sprawdź kompletność plików, zgodność referencji, uzasadnienie decyzji, zakres próby i sposób odtworzenia. Wskaż jawnie brak nowych pomiarów modelu, jeśli pracowałeś offline. Książka i warsztat uczą procesu oceny; nie nadają automatycznie prototypowi statusu gotowości do wdrożenia.
Lokalne chatboty, agenci i systemy RAG z własną bazą wiedzy · Moduł 6 · Wydanie 29.09.2026