Skip to main content

Dzielenie dokumentów na fragmenty (Chunking dla początkujących)

DLA AGENTÓW AIChatGPTClaude

Technika podziału dużych dokumentów (PDF, książek, artykułów long-form) na mniejsze logiczne bloki tekstowe (fragmenty o długości 300–500 tokenów) z nakładaniem się (Overlap). Zapewnia wysoką precyzję wyszukiwania i zapobiega utracie kontekstu na granicach fragmentów.

1. Przegląd koncepcji i zastosowania

Gdy początkujący tworzy swojego pierwszego chatbota do odpowiadania na podstawie instrukcji w formacie PDF, pierwsza naiwna myśl brzmi: „Po prostu wezmę 200-stronicowy poradnik do pralki i zapiszę go w bazie”.

Ale to tak nie działa:

  • Jeśli wrzucisz cały plik jako całość, wektor będzie rozmyty jak zdjęcie we mgle.
  • Jeśli pociąsz plik zdanie po zdaniu, model znajdzie frazę „Naciśnij przycisk B”, ale nie będzie wiedział, o jakim dokładnie programie prania mowa, ponieważ nazwa programu znajdowała się w poprzednim zdaniu.

Chunking (nacinanie na fragmenty) to sztuka dzielenia dużego, monolitycznego tekstu na idealnie dopasowane „porcje informacji”.

Praktyczna analogia: główny sekret inżynierski, od którego w 90% zależy jakość odpowiedzi Twojego korporacyjnego bota.

2. Model mentalny nacinania z nakładaniem (Overlap)

Zobacz, jak działa nakładanie na styku dwóch fragmentów:

┌─────────────────────────────────────────────────────────────┐
│                 MECHANIZM CHUNKINGU Z NAKŁADANIEM SIĘ       │
├─────────────────────────────────────────────────────────────┤
│ 📄 CHUNK 1 (500 tokenów):                                   │
│    „...Aby aktywować tryb bezpieczeństwa, obróć przełącznik │
│    zgodnie z ruchem wskazówek zegara do oporu. [POCZĄTEK     │
│    NAKŁADANIA: Po tym kroku bezwzględnie przytrzymaj         │
│    czerwony przycisk przez 3 sekundy]”                      │
├─────────────────────────────────────────────────────────────┤
│                               ▲                             │
│                               │ (Wspólne 50 tokenów)        │
│                               ▼                             │
├─────────────────────────────────────────────────────────────┤
│ 📄 CHUNK 2 (500 tokenów):                                   │
│    „[KONIEC NAKŁADANIA: Po tym kroku bezwzględnie            │
│    przytrzymaj czerwony przycisk przez 3 sekundy]. Upewnij   │
│    się, że zielona dioda zaczęła migać...”                  │
└─────────────────────────────────────────────────────────────┘

Dzięki temu nakładaniu, nawet jeśli użytkownik zapyta: „Ile sekund trzeba trzymać czerwony przycisk?” — system znajdzie zarówno Część 1, jak i Część 2!

3. Trzy główne strategie nacinania

  1. Fixed-size chunking: najprostsza metoda – sztywne cięcie co 500 znaków. Szybkie, ale czasem przecina słowa lub zdania na pół.
  2. Semantic chunking według akapitów: tekst jest dzielony podwójnymi znakami nowej linii \n\n lub kropkami, zachowując spójność każdej pojedynczej myśli.
  3. Markdown chunking według nagłówków (#, ##, ###): najlepszy wybór dla dokumentacji technicznej. Każdy podrozdział staje się osobnym chunkiem z zachowaniem nazwy nadrzędnego sekcji.

4. Praktyczne wnioski

Jeśli Twój bot odpowiada urwanymi zdaniami lub nie rozumie kontekstu – prawie na pewno pociąłeś tekst zbyt drobno. Zwiększ rozmiar chunka z 200 do 600 tokenów i dodaj 10% overlapu – a dokładność odpowiedzi wzrośnie natychmiast!

/ Najczęściej zadawane pytaniaSchema.org FAQPage

FAQ: Dzielenie dokumentów na fragmenty (Chunking dla początkujących)

Etykietowanie (embedding) całej książki dałoby „rozmytą średnią”: wektor reprezentujący całą sagę „Harry Potter” mówiłby jedynie ogólnie, że jest to książka magiczna. Znalezienie w niej konkretnego cytatu dotyczącego zaklęcia byłoby niemożliwe. Natomiast jeśli książka zostanie podzielona na akapity, każdy akapit posiada dokładne, specyficzne współrzędne semantyczne.
/ Linki wewnętrzne
Wszystkie hasła