Поделиться через


Этап подготовки RAG

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

Эта статья является частью серии. Ознакомьтесь с введением.

Определение домена решения

Первым шагом в этом процессе является четкое определение бизнес-требований для решения или варианта использования. Эти требования помогают определить, на какие вопросы должно отвечать решение и какие исходные данные или документы помогут ответить на эти вопросы. На последующих этапах домен решения помогает определять стратегию построения модели.

Анализ содержимого

Цель анализа контента — собрать достаточно информации о коллекции контента, чтобы понять:

  • Различные классификации содержимого. Например, у вас могут быть спецификации продукта, ежеквартальные отчеты, страховые контракты автомобиля, контракты медицинского страхования, обучающие видео или обучающие аудиозаписи.

  • Различные типы содержимого и форматов. Например, у вас могут быть PDF-файлы, файлы Markdown, HTML-файлы, ФАЙЛЫ DOCX, видео MP4, аудиофайлы MP3, изображения JPEG или презентации PowerPoint.

  • Ограничения безопасности. Например, вам может потребоваться проверка подлинности и авторизация для доступа к содержимому в зависимости от того, является ли он общедоступным.

  • Структура и характеристики содержимого. Например, длина документов может отличаться, видео могут иметь разные длительности и разрешения, звуковые файлы могут содержать речь или фоновую музыку, или содержимое может иметь разрывы темы, контекстно релевантные изображения или табличные данные.

В следующих разделах описывается, как эти сведения помогут вам выбрать стратегии загрузки и разбиения на части.

Общие сведения о классификациях контента

Важно понимать различные классификации содержимого, чтобы определить количество необходимых элементов тестирования. Эта часть анализа должна определять высокоуровневые классификации, такие как страхование или финансы. Он также должен определять подклассификации, такие как документы медицинского страхования, документы страхования автомобилей, демонстрационные видео продукта или аудиозаписи обслуживания клиентов. Определите, имеют ли эти подклассификации различные структуры, форматы или характеристики контента.

Цель состоит в том, чтобы понять все различные варианты содержимого, которые у вас есть. Вы не хотите переоценить или недопредставить определенный класс содержания в эксперименте.

Типы контента и форматы

Если вы понимаете различные форматы файлов в коллекции, это помогает определить количество и разбивку тестового содержимого. Например, если у вас есть типы документов PDF и Open XML для квартальных отчетов, вам потребуется тестовый контент для каждого из форматов. Если у вас также есть видео презентации и аудиозаписи одного и того же содержимого, включите их в тестирование. Если вы знаете типы контента, вы можете лучше понять технические требования к загрузке и обработке содержимого. Технические требования включают определенные библиотеки, которые могут обрабатывать форматы файлов, службы транскрибирования для аудио- и видеоконтента, а также модели компьютерного зрения для анализа изображений.

Ограничения безопасности

Необходимо понять ограничения безопасности, чтобы определить стратегии загрузки и обработки. Например, важно определить, требуется ли проверка подлинности, авторизация или доступность сети для части или всего вашего контента. Если содержимое находится в защищенном периметре, убедитесь, что код может получить к нему доступ или реализовать процесс безопасной репликации содержимого в расположение, где код обработки может получить к нему доступ.

Документы иногда ссылаются на изображения, видео или звук, важные для контекста. Этот носитель также может быть подвержен аналогичным инструментам контроля доступа, как у основного документа. Если носитель требует проверки подлинности или сетевого доступа, необходимо убедиться, что ваш код может получить доступ к носителю или что у вас есть процесс для доступа и копирования содержимого. Кроме того, учитывайте требования к конфиденциальности и соответствию требованиям при обработке аудио- и видеоконтентов, которые могут содержать персональные данные или конфиденциальные беседы.

Если рабочая нагрузка требует, чтобы разные пользователи имели доступ только к отдельным сегментам контента, убедитесь, что вы понимаете, как сохранить эти разрешения доступа в вашем решении для сегментирования.

Структура содержимого и характеристики

Необходимо понимать структуру и характеристики содержимого, включая макет, формат, длительность и типы информации, содержащиеся в ней. Это понимание поможет вам определить следующее:

  • Необходимо ли предварительно обработать содержимое для очистки шума, извлечения мультимедийного контента, транскрибирования аудио, извлечения кадров из видео, переформатирования содержимого или аннотирования объектов для игнорирования?

  • Следует ли игнорировать или исключать части содержимого

  • Какие части содержимого вы хотите записать и обработать

  • Как вы хотите фрагментировать или сегментировать содержимое

  • Как вы хотите обрабатывать изображения, таблицы, диаграммы, видеоклипы, звуковые сегменты и другие встроенные медиафайлы

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

Определение элементов, которые можно игнорировать

Некоторые структурные элементы могут не добавлять в документ значение и безопасно игнорироваться при фрагментировании. В некоторых ситуациях эти элементы могут добавить ценный контекст и улучшить релевантность запросов к индексу, но не все. Задайте следующие вопросы о распространенных функциях документов, чтобы узнать, добавляют ли они релевантность или следует игнорировать.

  • Содержит ли документ оглавление?

  • Есть ли верхние или нижние колонтитулы?

  • Существуют ли авторские права или отказ от ответственности?

  • Существуют ли сноски или концевые сноски?

  • Есть ли водяные знаки?

  • Есть ли заметки или комментарии?

Определение требований к предварительной обработке документа

Следующие вопросы о структуре документа помогут вам решить, нужно ли предварительно обработать документ, чтобы упростить обработку документа. Они также помогают выбрать стратегию фрагментирования.

  • Существуют ли многоколоночные данные или многоколоночные абзацы? Вы не хотите анализировать содержимое с несколькими столбцами так же, как содержимое с одним столбцом.

  • Как структурирован документ? Например, HTML-файлы иногда используют таблицы, которые должны отличаться от внедренных табличных данных.

  • Сколько абзацев есть? Насколько длинные абзацы? Похожи ли абзацы по длине?

  • Какие языки, языковые варианты или диалекты находятся в документах?

  • Содержит ли документ символы Юникода?

  • Как форматируются числа? Включают ли они запятые или десятичные знаки? Они согласованы?

  • Какие части документа являются универсальными, и какие части не являются?

  • Существует ли структура заголовка, в которой можно извлечь семантический смысл?

  • Есть ли маркеры или значимые отступы?

Определение требований к предварительной обработке образа

Чтобы определить требования к предварительной обработке изображений, понять атрибуты изображений, например, имеет ли они достаточное разрешение для обработки, и содержит ли изображение все необходимые сведения. Следующие вопросы помогут вам определить требования.

  • Какое разрешение изображений?

  • Есть ли текст, внедренный в изображения?

  • Есть ли абстрактные изображения, которые не добавляют значение? Например, значки могут не добавлять семантические значения. Добавление описания значков может оказаться вредным для решения, так как значок обычно не относится к содержимому документа.

  • Что такое связь между изображениями и окружающим текстом? Определите, имеют ли изображения автономное содержимое или есть ли контекст вокруг изображения, который следует использовать при передаче в языковую модель. Подписи — это пример окружающего текста, который может иметь ценный контекст, который не включен в изображение.

  • Есть ли подробные текстовые представления, например, описания доступности изображений?

Определение требований к предварительной обработке видео и звука

Чтобы определить требования к обработке видео и аудио, понять содержимое мультимедиа, содержит ли он ценные сведения и как эффективно извлекать эти сведения. Следующие вопросы помогут вам определить требования.

  • Каковы характеристики качества файлов мультимедиа? К этим характеристикам относятся разрешение видео и кадра, качество звука и частота выборки, а также сжатие файлов и типы кодека.

  • Какой тип содержимого содержит файлы мультимедиа? Типы контента включают выступления, лекции, интервью, музыку, звуковые эффекты и записи экрана.

  • Содержат ли видеофайлы визуальные сведения, важные для понимания? Примерами информации являются слайды презентаций, демонстрации, диаграммы, графы, визуализации, текстовые наложения и субтитры.

  • Доступны ли расшифровки или закрытые субтитры для аудио- и видеоконтента?

  • Какие языки говорят в аудио- и видеоконтенте?

  • Имеют ли файлы мультимедиа метаданные или главы, которые могут помочь в сегментации?

  • Есть ли фоновый шум или музыка, которые могут повлиять на транскрибирование?

  • Что такое связь между мультимедийным содержимым и сопутствующим текстом? Определите, имеет ли носитель автономное содержимое или есть ли контекст в окружающих документах, которые следует использовать при обработке носителя.

Определение требований к таблице, диаграмме и другим требованиям к обработке мультимедиа

Чтобы определить, как обрабатывать информацию, инкапсулированную в таблицах, диаграммах и других носителях, понять ее характеристики. Следующие вопросы помогут вам понять требования к таблице, диаграмме и другим требованиям к обработке мультимедиа.

  • Есть ли в документе диаграммы с числами?

  • Содержит ли документ таблицы?

    • Сложны ли таблицы, такие как вложенные таблицы или некомплексные?

    • Есть ли подписи для таблиц?

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

  • Существуют ли другие типы встроенных медиа, например, видео или аудио?

  • Существуют ли математические уравнения или научные нотации в документе?

Сбор репрезентативного тестового содержимого

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

Соображения

Рассмотрим следующие области при оценке потенциального репрезентативного тестового содержимого:

  • Уместность: Содержимое должно соответствовать бизнес-требованиям приложения для общения. Например, если вы создаете чат-бот, который помогает клиентам выполнять банковские операции, содержимое должно соответствовать этому требованию. Содержимое должно содержать документы о открытии или закрытии банковских счетов, инструкционных видео о банковских процедурах или аудиозаписях взаимодействия с обслуживанием клиентов. Содержимое должно быть способно отвечать на тестовые вопросы, собранные на параллельном этапе. Если содержимое не содержит сведений, относящихся к вопросам, решение не может создать допустимый ответ.

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

  • Качество физического содержимого: Содержимое должно находиться в пригодной форме. Сканированные изображения могут не позволить извлекать полезную информацию, аудиозаписи плохого качества могут не транскрибироваться точно, а видео с низким разрешением может не предоставлять четкую визуальную информацию.

  • Качество содержимого: Содержимое должно быть высоким качеством. Документы не должны содержать орфографические ошибки или грамматические ошибки, звук должен быть четким и звуковым, а видео должно иметь достаточное разрешение и освещение. Языковые модели и другие службы ИИ не дают хороших результатов, если вы предоставляете им низкое качество содержимого.

Чтобы успешно собрать тестовый контент, вы должны быть качественно уверены , что тестовый контент полностью и точно представляет определенный домен во всех типах мультимедиа.

Руководство по проверке содержимого

  • Выберите реальное содержимое над искусственным содержимым. Реальное содержимое должно пройти через процесс очистки для удаления персональных данных, что особенно важно для аудио- и видеоконтентов, которые могут содержать голоса, лица или другую информацию для идентификации.

  • Рассмотрите возможность выборочного расширения содержимого с помощью синтетических данных. Этот процесс помогает гарантировать, что содержимое охватывает все виды сценариев, включая прогнозируемые будущие сценарии. Если необходимо использовать искусственные данные, сделайте все возможное, чтобы сделать его похожим на реальный контент как можно больше, включая реалистичное качество звука, характеристики видео и визуальные элементы.

  • Убедитесь, что содержимое может адресовать собранные вопросы. Убедитесь, что видеоконтент имеет четкие визуальные элементы, звуковое содержимое имеет четкое распознавание речи, а мультимедийное содержимое предоставляет информацию, которая дополняет или дополняет текстовое содержимое.

  • Имейте как минимум два элемента контента для каждого варианта и формата контента. Например, если у вас есть обучающие видео, включите видео с разными выступающими, средами или разговорным языком.

  • Используйте языковые модели, службы транскрибирования, модели компьютерного зрения и другие средства для оценки качества содержимого во всех типах мультимедиа.

Сбор тестовых запросов

На этом шаге вы собираете тестовые запросы, которые используете для оценки своих блоков, решения поиска и инженерии запросов. Выполните этот шаг при сборе репрезентативного содержимого. Соберите запросы и определите, как репрезентативный контент обращается к этим запросам одновременно. Используя как примеры запросов, так и части примера содержимого, которые обращаются к этим запросам, вы можете оценить каждый этап решения RAG при эксперименте с различными стратегиями и подходами.

Сбор выходных данных тестового запроса

Выходные данные этого этапа включают содержимое из шага сбора репрезентативных тестовых запросов и этапа сбора репрезентативноготестового содержимого . Выходные данные — это коллекция, содержащая следующие данные:

  • Запрос: Вопрос, представляющий потенциальный запрос допустимого пользователя.

  • Контекст: Коллекция фактического текста в документах, которые обращаются к запросу. Для каждого бита контекста следует включить страницу и фактический текст.

  • Ответ: Допустимый ответ на запрос. Ответ может быть содержимым, которое находится непосредственно из документов, или оно может быть перефразировано из одного или нескольких элементов контекста.

Создание искусственных запросов

Часто бывает сложно для экспертов в предметной области для конкретного домена составить исчерпывающий список вопросов для варианта использования. Одним из решений этой проблемы является создание искусственных вопросов из собранных репрезентативных тестовых документов. Следующие шаги описывают реальный подход к созданию искусственных вопросов из репрезентативных документов:

  1. Разбейте документы на части. Разбейте документы на блоки. Не используйте стратегию разбиения на части для общего решения. Используйте этот одноразовый шаг для создания синтетических запросов. Вы можете выполнить блокирование вручную, если количество документов является разумным.

  2. Создайте запросы для каждого блока. Для каждого блока создайте запросы вручную или с помощью языковой модели. При использовании языковой модели обычно создается два запроса для каждого блока. Вы также можете использовать языковую модель для создания ответа. В следующем примере показана подсказка, которая создает вопросы и ответы для отрывка.

    Please read the following CONTEXT and generate two question and answer JSON objects in an array based on the CONTEXT provided. The questions should require deep reading comprehension, logical inference, deduction, and connecting ideas across the text. Avoid simplistic retrieval or pattern-matching questions. Instead, focus on questions that test the ability to reason about the text in complex ways, draw subtle conclusions, and combine multiple pieces of information to arrive at an answer. Ensure that the questions are relevant, specific, and cover the key points of the CONTEXT. Provide concise answers to each question, and directly quote the text from the provided context. Provide the array output in strict JSON format as shown in the output format. Ensure that the generated JSON is completely structurally correct, including proper nesting, comma placement, and quotation marks. There shouldn't be a comma after the last element in the array.
    
    Output format:
    [
      {
        "question": "Question 1",
        "answer": "Answer 1"
      },
      {
        "question": "Question 2",
        "answer": "Answer 2"
      }
    ]
    
    CONTEXT:
    
  3. Проверьте выходные данные. Убедитесь, что вопросы относятся к варианту использования и что ответы отвечают на этот вопрос. SME должен проверять и проверять выходные данные.

Необработанные запросы

Важно собрать запросы, на которые документы не обращаются, и запросы, которые они делают. При тестировании решения, особенно при тестировании языковой модели, необходимо определить, как решение должно реагировать на запросы, которые он не имеет достаточного контекста для ответа. Чтобы ответить на запросы, которые решение не может адресовать, решение может:

  • Указать, что он не знает ответ.

  • Укажите, что он не знает ответ и укажите ссылку, где пользователь может найти дополнительные сведения.

Сбор тестовых запросов для мультимедийного содержимого

Как и с текстом, следует собрать разнообразный набор вопросов, которые включают использование мультимедиа содержимого для создания высоко релевантных ответов. Если у вас есть изображения с графами, таблицами или снимками экрана, убедитесь, что у вас есть вопросы, охватывающие все варианты использования. Если у вас есть видео с демонстрациями, презентациями или визуальными сведениями, добавьте вопросы, требующие понимания визуального содержимого. Для аудиоконтента с разговорной информацией, интервью или презентациями убедитесь, что у вас есть вопросы, которые проверяют способность системы извлекать и рассуждать об устном контенте.

Если на этапе анализа содержимого вы определите, что текст до или после мультимедиа необходим для ответа на некоторые вопросы, убедитесь, что эти вопросы включены в тестовые запросы. Также рассмотрим вопросы, требующие объединения сведений из нескольких типов мультимедиа, таких как вопросы, требующие понимания как письменных документов, так и связанных обучающих видео.

Руководство по сбору тестовых запросов

  • Определите, есть ли система, содержащая реальные вопросы о клиентах, которые можно использовать. Например, если вы создаете бот чата для ответа на вопросы клиентов, вы можете использовать вопросы клиентов из службы технической поддержки, часто задаваемых вопросов или системы запросов.

  • Клиент или эксперт в предметной области (SME) для данного варианта использования должен выполнять роль контролера качества, чтобы определить, являются ли собранные документы, связанные с ними тестовые запросы и ответы на запросы из документов исчерпывающими, репрезентативными и правильными.

  • Периодически просматривайте текст вопросов и ответов, чтобы убедиться, что они продолжают точно отражать исходные документы.

Следующий шаг