Skip to main content

Нарізка документів на чанки (Chunking для новачків)(Чанкінг документів: як правильно різати текст на шматочки для пошуку RAG)

Техніка розбиття великих документів (PDF, книг, лонгрідів) на невеликі логічні текстові блоки (чанки по 300–500 токенів) із перекриттям (Overlap). Забезпечує високу точність пошуку та запобігає втраті контексту на стиках.

1. Огляд концепції та призначення

Коли новачок створює свого першого чат-бота для відповідей по PDF-інструкціях, перша наївна думка: «Я просто візьму 200-сторінковий посібник до пральної машини і збережу його в базу».

Але це так не працює:

  • Якщо закинути файл цілком, вектор вийде розмитим, як фотографія в тумані.
  • Якщо нарізати файл по одному реченню, модель знайде рядок «Натисніть кнопку B», але не знатиме, про яку саме програму прання йде мова, бо назва програми була в попередньому реченні.

Чанкінг (Chunking / Нарізка на фрагменти) — це мистецтво розбиття великого монолітного тексту на ідеальні за розміром «порції інформації».

Практична аналогія: головний інженерний секрет, від якого на 90% залежить якість відповідей вашого корпоративного бота.

2. Ментальна модель нарізки з перекриттям (Overlap)

Погляньте, як працює перекриття на стику двох фрагментів:

┌─────────────────────────────────────────────────────────────┐
│                 МЕХАНІКА ЧАНКІНГУ З ПЕРЕКРИТТЯМ             │
├─────────────────────────────────────────────────────────────┤
│ 📄 ЧАНК 1 (500 токенів):                                    │
│    «...Для активації режиму безпеки поверніть перемикач     │
│    за годинниковою стрілкою до упору. [ПОЧАТОК ПЕРЕКРИТТЯ:  │
│    Після цього обов'язково утримуйте червону кнопку 3 сек]» │
├─────────────────────────────────────────────────────────────┤
│                               ▲                             │
│                               │ (Спільні 50 токенів)        │
│                               ▼                             │
├─────────────────────────────────────────────────────────────┤
│ 📄 ЧАНК 2 (500 токенів):                                    │
│    «[КІНЕЦЬ ПЕРЕКРИТТЯ: Після цього обов'язково утримуйте   │
│    червону кнопку 3 сек]. Переконайтеся, що зелений індикатор│
│    почав блимати...»                                        │
└─────────────────────────────────────────────────────────────┘

Завдяки цьому перекриттю, навіть якщо користувач запитає: «Скільки секунд тримати червону кнопку?» — система знайде і Частину 1, і Частину 2!

3. Три основні стратегії нарізки

  1. Фіксований чанкінг (Fixed-size): найпростіший метод — суворо різати кожні 500 символів. Швидко, але іноді розрізає слова або речення навпіл.
  2. Семантичний чанкінг за абзацами: текст ріжеться за подвійними перенесеннями рядків \n\n або крапками, зберігаючи цілісність кожної окремої думки.
  3. Markdown-чанкінг за заголовками (#, ##, ###): найкращий вибір для технічної документації. Кожен підрозділ стає окремим чанком із збереженням назви батьківського розділу.

4. Практичний висновок

Якщо ваш бот відповідає уривками або не розуміє контексту — майже напевно ви порізали текст занадто дрібно. Збільшіть розмір чанка з 200 до 600 токенів і додайте 10% перекриття — і точність відповідей виросте миттєво!

/ Часті запитанняSchema.org FAQPage

FAQ: Нарізка документів на чанки (Chunking для новачків)

Ембеддінг цілої книги вийде «усередненою розмитою кашею»: вектор всього «Гаррі Поттера» буде говорити лише те, що це магічна книга загалом. Знайти в ній одну конкретну цитату про закляття буде неможливо. А от якщо книга нарізана на абзаци, кожен абзац має точні специфічні координати.
/ Внутрішня перелінковка
Всі терміни