Podręcznik uczestnika z objaśnieniami, przykładami i ćwiczeniami do samodzielnej nauki do Modułu 2
5. Podział dokumentów na fragmenty
Fragment jest jednostką, którą przyszły system może odnaleźć i przekazać jako kontekst. Powinien być wystarczająco mały, aby dotyczył konkretnego tematu, oraz wystarczająco pełny, aby zachować warunki i wyjątki. Granica fragmentu jest decyzją o znaczeniu, nie tylko o liczbie znaków.
1. Dlaczego nie cały plik i nie każde zdanie
Bardzo duży fragment może łączyć restart, dyżur i diagnostykę, przez co zawiera dużo treści niepotrzebnej do danego pytania. Bardzo mały może obejmować samo „Prawidłowy wynik: active”, bez informacji, jaki test ma go dać. W obu sytuacjach tekst jest autentyczny, ale ma ograniczoną użyteczność jako samodzielny kontekst.
Przy ocenie granicy zapytaj: o czym jest ten fragment, czy wiadomo, kiedy instrukcja ma zastosowanie, czy zachowano kolejność kroków i czy wyjątek nie został oddzielony od reguły. Nagłówek sekcji często pomaga, ale nie naprawia brakującego warunku.
2. Trzy strategie do porównania
Podział według znaków działa również wtedy, gdy dokument nie ma wyraźnej struktury. Może jednak przeciąć wyraz, zdanie lub procedurę. Parametr określa liczbę znaków, a nie tokenów modelu. Nie należy traktować tych jednostek jako równoważnych.
Podział według akapitów respektuje granice typograficzne. Jest użyteczny, gdy akapit odpowiada jednej myśli, ale nie wtedy, gdy wynik odczytu sztucznie utworzył nowy akapit po każdym wierszu. Rozmiary fragmentów mogą być bardzo nierówne.
Podział według sekcji korzysta z nagłówków i zwykle lepiej zachowuje temat. Długa sekcja nadal wymaga podziału, a krótkie wprowadzenie z samym tytułem, autorem i wersją może nie dostarczać samodzielnej wiedzy. Taki fragment należy ocenić, nie przyjmować automatycznie.
| Strategia | Mocna strona | Typowy punkt kontroli |
|---|---|---|
| Znaki | Przewidywalny limit długości | Przecięte zdanie, warunek lub komenda |
| Akapity | Naturalne granice części tekstu | Nierówna długość, sztuczne akapity |
| Sekcje | Wspólny temat i nagłówek | Zbyt długa sekcja lub pusty wstęp |
3. Nakładanie fragmentów ma konkretny cel
Overlap, czyli nakładanie, powtarza końcowy odcinek jednego fragmentu na początku następnego. Może pomóc zachować ciągłość, ale nie gwarantuje przeniesienia całego warunku lub wyjątku. Powtarzany tekst zwiększa też objętość zbioru i może powodować podobne wyniki wyszukiwania.
W wariancie znakowym o rozmiarze 420 znaków i overlapie 60 kolejne pełne okno zaczyna się zwykle 360 znaków po poprzednim. To przykład ustawienia do porównania, a nie zalecenie dla każdego dokumentu. Wymagamy 0
≤ overlap < chunk_size. Przy strategii sekcyjnej o rozmiarze 900 i overlapie 150 nakładanie dotyczy podziału zbyt długich części zgodnie z zastosowanym algorytmem; nie oznacza automatycznego łączenia sąsiednich stron PDF.
Nie zmieniaj jednocześnie wszystkich parametrów, jeśli chcesz zrozumieć skutek. Porównaj kilka fragmentów odpowiadających na te same pytania. Zapisz zarówno liczbę i długości fragmentów, jak i przykłady granic dobrych oraz błędnych.
4. Źródło do ćwiczenia: dyżur operatora
Oto pełna treść sekcji „Dyżur operatora” z aktualnego regulamin.md 1.4:
Operator przyjmuje zgłoszenia w dni robocze od 08:00 do 16:00. Poza tymi godzinami zgłoszenie czeka do następnego dyżuru. Wyjątek: awarię uniemożliwiającą pracę całego zespołu zgłoś dyżurnemu administratorowi zgodnie z wewnętrzną procedurą eskalacji.
Rozważ dwa podziały tego samego tekstu:
Wariant A, fragment 1: „Operator przyjmuje zgłoszenia w dni robocze od 08:00 do 16:00. Poza tymi godzinami zgłoszenie czeka do następnego dyżuru”.
Wariant A, fragment 2: „Wyjątek: awarię uniemożliwiającą pracę całego zespołu zgłoś dyżurnemu administratorowi zgodnie z wewnętrzną procedurą eskalacji”.
Wariant B: jeden fragment obejmujący nagłówek „Dyżur operatora” i cały przytoczony akapit.
Wariant A może doprowadzić do odnalezienia samej reguły, bez wyjątku. Wariant B zachowuje krótką, spójną jednostkę tematyczną. Nadal nie zawiera szczegółowej procedury eskalacji, której tekst źródłowy nie przytacza. Nie wolno ich dopowiadać.
5. Ćwiczenie 4 — zaproponuj granice
- Wybierz wariant A lub B dla pytania: „Cały zespół nie może pracować po 16:00. Co wynika z regulaminu?”. Uzasadnij wybór.
- Wyjaśnij, dlaczego samo dodanie 20 znaków overlapu do wariantu A nie dowodzi zachowania całego wyjątku.
- W R3 znajdź procedurę restartu. Wskaż, jakie elementy powinny trafić do jednego fragmentu lub do kontekstu, który przyszły system odtworzy razem. Czy samo
activewystarcza? - Zaproponuj strategię początkową dla krótkiego regulaminu z nagłówkami oraz dla tekstu bez nagłówków. Wymień po jednym ryzyku do ręcznej kontroli.
- Zapisz dwa kryteria jakości niezwiązane z liczbą fragmentów. Wyjaśnij różnicę między 420 znakami a 420 tokenami.
Wynik: wybrane granice, uzasadnienie strategii i kryteria porównania. Nie musisz ręcznie liczyć znaków.
Sprawdź rozumienie
Czy mała liczba fragmentów dowodzi dobrej jakości? Dlaczego nakładanie może pomóc i jednocześnie zwiększać powtórzenia? Co zrobisz, jeżeli procedura przechodzi na drugą stronę PDF, a program dzieli każdą stronę oddzielnie?
W ostatniej sytuacji trzeba rozpoznać brak kontekstu i zaprojektować jego zachowanie: np. zmienić etap przygotowania lub sposób łączenia treści w przyszłym systemie. Nie wystarczy oznaczyć niepełnego fragmentu jako dobry. Kod ćwiczeniowy M2 nie łączy stron PDF automatycznie.
Przejście do praktyki: R4 zapisuje chunks.json, strategia.json i porownanie_strategii.json. Parametry są udokumentowaną decyzją uczestnika, nie uniwersalną receptą.
Przygotowanie dokumentów i bazy wiedzy
ENHANCER+ · Politechnika Warszawska · materiał do samodzielnej nauki offline