Ієрархічний чанкінг (Hierarchical Chunking / Parent-Child)(Ієрархічний чанкінг: як розрізати документ на малі та великі шматки одночасно)
Просунута стратегія нарізки документів (Parent-Document Retriever) для систем RAG. Текст ділиться на дрібні дочірні шматочки (Child Chunks) для надточного векторного пошуку, але в контекст моделі передається повний батьківський розділ (Parent Chunk), щоб зберегти широкий контекст і не втратити суть.
1. Огляд концепції та призначення
Коли ви берете підручник або юридичний кодекс і готуєте його для бази знань RAG, перед вами постає найважче інженерне питання: Як саме розрізати текст?
Погляньте на проблему наочно:
- Варіант А (Дрібна нарізка по 2 речення): Пошук за словами «штраф 5 000 грн» спрацює миттєво. Але в цьому крихітному шматочку не написано, за що саме цей штраф і кому його платити!
- Варіант Б (Велика нарізка по 10 сторінок): Контексту повно, але вектор такого гіганта стає сірою кашею із сотень різних тем, і алгоритм не знаходить точної відповіді.
Рішенням став Ієрархічний чанкінг (Hierarchical Chunking або Parent-Child Retriever).
З практичної точки зору це як лупа та панорамна фотографія: ви шукаєте деталь через збільшувальне скло (дрібний чанк), але щоб зрозуміти, де вона лежить, робите крок назад і дивитеся на всю кімнату (батьківський чанк).
2. Як працює зв'язка «Батько — Дитина» (Parent-Child)
┌─────────────────────────────────────────────────────────────┐
│ БАТЬКІВСЬКИЙ РОЗДІЛ (Parent Chunk, 1000 слів)│
│ «Розділ 4. Безпека праці та фінансові стягнення...» │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ ДИТЯЧИЙ ЧАНК #1 (100 слів): │ │
│ │ «За порушення каскового режиму на будівництві...» │ │
│ └─────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ ДИТЯЧИЙ ЧАНК #2 (100 слів): ➔ ТОЧНИЙ ВЕКТОРНИЙ ЗБІГ! │ │
│ │ «...накладається штраф у розмірі 5 000 грн.» │ │
│ └─────────────────────────────────────────────────────────┘ │
└──────────────────────────────┬──────────────────────────────┘
│
▼
Але в контекст моделі відправляється ВЕСЬ БАТЬКІВСЬКИЙ
РОЗДІЛ #4 цілком! Модель бачить і штраф, і повний контекст!
3. Чому цей метод витісняє звичайну фіксовану нарізку
- Ідеальна точність вилучення: вектори коротких речень надзвичайно гострі та специфічні.
- Нуль галюцинацій через брак фактів: модель завжди бачить навколишні уточнення, винятки з правил («крім випадків стихійного лиха») та заголовки розділів.
- Збереження логічних таблиць: таблиці не розрізаються навпіл по середині рядків.
4. Практичний висновок
Сучасні фреймворки (LangChain ParentDocumentRetriever та LlamaIndex) підтримують ієрархічний чанкінг із коробки. Витратіть півгодини на налаштування схеми Parent-Child — і точність відповідей вашого корпоративного бота зросте щонайменше на 30%.
FAQ: Ієрархічний чанкінг (Hierarchical Chunking / Parent-Child)
Пов'язані терміни
Нарізка документів на чанки (Chunking для новачків)
Техніка розбиття великих документів (PDF, книг, лонгрідів) на невеликі логічні текстові блоки (чанки по 300–500 токенів) із перекриттям (Overlap). Забезпечує високу точність пошуку та запобігає втраті контексту на стиках.
Розмір контекстного вікна (Пам'ять поточної розмови)
Максимальний обсяг тексту (у токенах), який мовна модель здатна одночасно утримувати в пам'яті під час поточної бесіди. Визначає, яку довжину документів можна завантажити за один раз без втрати змісту.
RAG проти Fine-Tuning (Вічна дилема впровадження ШІ)
Фундаментальний архітектурний вибір для бізнесу. RAG (пошук по документах у момент запиту) проти Fine-Tuning (зміна ваг моделі через донавчання). Критерії вибору між актуальністю фактів та специфічним стилем поведінки.