Skip to Content

Разделение текста (Split Text)

Описание

Компонент Split Text выполняет функцию сегментации данных на отдельные фрагменты, именуемые чанками, на основе заданных параметров, включая размер фрагмента и тип используемого разделителя.

Данный инструмент находит широкое применение в процессах подготовки текстовой информации перед этапами токенизации и последующей индексации в векторных базах данных.

component9

Компонент поддерживает обработку входящих данных форматов Message, Data или DataFrame, обеспечивая последующую выдачу результата в виде набора Chunks или таблицы DataFrame.

Особенности выходных форматов

  • Формат Chunks
    Данный выход формирует список объектов типа Data, каждый из которых представляет собой изолированный фрагмент (чанк) исходного текста. Этот вариант оптимал
    ен для прямой передачи данных в компоненты генерации эмбеддингов.
  • Формат DataFrame
    В этом режиме результат представляется в виде структурированной таблицы. Полученный DataFrame включает специализированные столбцы text для самого фрагмента и metadata для хранения сопутствующей технической информации, такой как порядковый номер фрагмента или идентификатор источника.

Параметры компонента

Параметры компонента Split Text устанавливают алгоритм сегментации текста на отдельные блоки. Ключевую роль в этом процессе играют настройки chunk_size (размер фрагмента), chunk_overlap (перекрытие фрагментов) и separator (разделитель).

Для проверки корректности процесса сегментации необходимо выполнить следующие действия:

  1. Добавьте в рабочую область компонент Text Input или Read File, содержащий пример данных для обработки.
  2. Нажмите кнопку component10Run component (Запустить компонент) непосредственно на компоненте Split Text.
  3. Нажмите на иконку component11Inspect output (Просмотр вывода), чтобы изучить сформированный список фрагментов и их метаданные.
  4. Обратите внимание на столбец text, который содержит текстовые чанки, созданные в строгом соответствии с заданными настройками.
  5. В ситуации, когда текст разделен не так, как ожидалось, следует изменить параметры компонента, выполнить повторный запуск и проверить обновленный результат.

Некоторые параметры по умолчанию скрыты в визуальном редакторе. Вы можете изменить все параметры через меню component1Controls (Управление) в заголовке компонента.

Имя (Name)Отображаемое имяИнформация
data_inputsInputВходной параметр. Данные для разделения. Вход должен быть в формате Message, Data или DataFrame.
chunk_overlapChunk OverlapВходной параметр. Количество символов для перекрытия между фрагментами (чанками). Это помогает сохранить контекст. При обнаружении разделителя перекрытие применяется так, чтобы следующий фрагмент содержал последние *n* символов предыдущего. По умолчанию: 200.
chunk_sizeChunk SizeВходной параметр. Целевая длина каждого фрагмента после разделения. Данные сначала делятся по разделителю, затем фрагменты меньше chunk_size объединяются до этого лимита. Если исходное разделение создает фрагмент больше chunk_size, он не будет разбит или объединен и выводится «как есть». По умолчанию: 1000.
separatorSeparatorВходной параметр. Строка-разделитель: например, \n для новых строк, \n\n для абзацев или } для объектов JSON. Можно ввести строку напрямую или передать из другого компонента как Message.
text_keyText KeyВходной параметр. Ключ, используемый для извлечения текстового столбца из входных данных перед разделением. По умолчанию: text.
keep_separatorKeep SeparatorВходной параметр. Определяет, как обрабатывать разделители в чанках: False (удалить), True (сохранить), Start (в начало чанка) или End (в конец чанка). По умолчанию: False.

Ошибки токенизации и размер фрагмента

При использовании некоторых моделей эмбеддингов (например, через локальные модели или специфические API) может потребоваться уменьшить Chunk Size до 500 или менее.

Если вы столкнулись с ошибками переполнения контекста:

  1. Уменьшите значение Chunk Size.
  2. Увеличьте Chunk Overlap, если после уменьшения размера фрагментов модель стала хуже понимать смысл текста.
  3. Используйте Separator \n\n (двойной перенос строки), чтобы разбиение происходило по смысловым абзацам.