Чанкинг (Chunking)

Процесс разбиения длинных документов на небольшие фрагменты (чанки) для последующей индексации и поиска в системах RAG.

Чанкинг — это процесс разбиения длинных документов на небольшие фрагменты (чанки), чтобы их можно было эффективно индексировать и искать в системах RAG.

Как это работает

Языковая модель не может обработать книгу целиком за один запрос — не хватит контекстного окна. Да и искать ответ в целой книге неэффективно. Поэтому документы нарезают на чанки:

  1. Берётся длинный документ (PDF, статья, инструкция)
  2. Документ разбивается на фрагменты по 200-1000 токенов
  3. Каждый фрагмент превращается в эмбеддинг и сохраняется в векторную базу
  4. При поиске система находит только те фрагменты, которые релевантны вопросу

Стратегии разбиения

СтратегияОписаниеКогда использовать
По количеству символовФиксированный размер, например 500 символовПростые тексты
По предложениямКаждое предложение — отдельный чанкКороткие FAQ
По абзацамРазделение по пустым строкамСтруктурированные документы
По заголовкамРазбиение по разделам документаТехническая документация
С перекрытиемЧанки пересекаются на 10-20%Когда контекст теряется на стыках

Почему размер чанка важен

Слишком маленькие чанки теряют контекст — как вырванное из текста предложение. Слишком большие чанки размывают поиск — среди лишней информации сложнее найти точный ответ. Оптимальный размер обычно подбирается экспериментально.

Связанные термины

  • RAG — технология, для которой используется чанкинг
  • Эмбеддинги — числовые представления, создаваемые для каждого чанка
  • Векторная база данных — хранилище чанков в виде эмбеддингов