Разбиение документов как проектное решение
В третьей части серии статей о RAG мы увидели, что при обработке документы разбиваются на фрагменты перед их встраиванием. Большинство руководств предлагают выбрать фиксированный размер фрагмента — например, 512 токенов — и двигаться дальше. Это работает хорошо, если все ваши документы выглядят одинаково.
Однако документы компании TechNova имеют разные структуры:
- Файл журнала изменений прошивки представляет собой простой список записей версий.
- Руководство по устранению неполадок содержит пронумерованные процедуры под заголовками разделов.
- Страница спецификаций продукта включает сравнительную таблицу.
Каждый документ имеет свою внутреннюю структуру, которая будет нарушена одним и тем же подходом к разбиению. Поэтому выбор размера чанка не является простым переключением настройки; он зависит от того, какие именно у вас документы.
Типы разбиения: фиксированное, рекурсивное и семантическое
Фиксированное разбиение
Фиксированное разбиение делит каждый фрагмент на заданный размер независимо от содержания документа. Этот метод быстрый, предсказуемый и легко отлаживаемый. Однако он игнорирует структуру текста. Например, процедура сопряжения устройства может быть разрезана между шагами 3 и 4, если это место соответствует размеру фрагмента.
Рекурсивное разбиение
Рекурсивное разбиение учитывает иерархию документа, создавая вложенные фрагменты. Оно более гибкое, но требует больше ресурсов и сложнее в реализации.
Семантическое разбиение
Семантическое разбиение пытается сохранить смысловые единицы внутри одного фрагмента. Оно использует анализ естественного языка для определения границ предложений или абзацев. Такой подход обеспечивает лучшее качество поиска, но также увеличивает сложность системы.