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