Стратегии разбиения текста на чанки

Урок 37 из 114 курса «Cohere: LLM University»: официальный курс Cohere LLM University (Кохир) на русском языке. Урок входит в платный доступ; первые уроки курса бесплатно.

О чём урок

** Разбиение на чанки (chunking) является важным компонентом любой RAG-системы. Эта инструкция призвана продемонстрировать, как различные стратегии разбиения на чанки влияют на результаты вывода, генерируемого LLM. При разработке стратегии разбиения на чанки необходимо учитывать множество факторов. Поэтому мы начнем с представления основы для этих стратегий, а затем перейдем к практическому примеру. Мы сосредоточим наш пример на стенограммах звонков, которые представляют собой уникальную проблему из-за их богатого содержания и смены говорящих на протяжении всего текста. Основы стратегий разбиения на чанки Начало работы Пример 1: Разбиение на чанки с использованием контент-независимых стратегий Пример 2: Разбиение на чанки с использованием контент-зависимых стратегий Обсуждение Под разбиением документа мы понимаем определение условий, при которых мы будем разделять текст. На этом этапе мы должны спросить: "Есть ли части последовательного текста, которые мы хотим гарантированно не разрывать?". Если ответ "нет", то полезны контент-независимые стратегии разбиения. С другой стороны, в таких сценариях, как стенограммы или протоколы совещаний, мы, вероятно, хотели бы сохранить содержание одного говорящего вместе, что может потребовать от нас применения контент-зависимых стратегий. Мы разбиваем документ на основе некоторых контент-независимых условий, среди наиболее популярных из которых: разбиение по количеству символов, разбиение по предложениям, разбиение по заданному символу, например, \n для абзацев. Преимущество этого сценария в том, что нам не нужно делать никаких предположений о тексте. Однако остаются некоторые соображения, например, хотим ли мы сохранить некоторую семантическую структуру, например, предложения или абзацы. Разбиение по предложениям лучше подходит, если мы ищем небольшие чанки для обеспечения точности. И наоборот, абзацы сохраняют больше контекста и могут быть более полезны в вопросах с открытым ответом. С другой стороны, существуют сценарии, в которых нам важно сохранить определенную структуру текста. Затем мы разрабатываем пользовательские стратегии разбиения на основе содержимого документа. Ярким примером являются стенограммы звонков. В таких сценариях мы стремимся обеспечить, чтобы речь одного человека полностью содержалась в одном чанке.

План урока

  1. Разбиение документа
  2. Контент-независимые стратегии разбиения
  3. Контент-зависимые стратегии разбиения
  4. Создание чанков из разделенных документов
  5. Перекрывающиеся чанки
  6. Утилиты
  7. Эксперимент 1 — без перекрытия
  8. Эксперимент 2 — разрешить перекрытие

Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.

Полезные гиды