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


RAG (Retrieval Augmented Generation) в Azure Databricks

Получение дополненного поколения (RAG) — это мощный метод, который объединяет большие языковые модели (LLM) с получением данных в режиме реального времени для создания более точных, up-to-date и контекстно релевантных ответов.

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

Что такое генерация с дополнением средствами поиска?

В самой простой форме агент RAG выполняет следующие действия:

  1. Получение. Запрос пользователя используется для запроса внешней базы знаний, например хранилища векторов, поиска ключевых слов или базы данных SQL. Цель — получить вспомогательные данные для ответа LLM.
  2. Расширение: вспомогательные данные объединяются с запросом пользователя, часто используя шаблон с дополнительным форматированием и инструкциями для LLM, чтобы создать запрос.
  3. Создание: запрос передается в LLM для генерации ответа на запрос пользователя.

Поток приложения RAG от запроса пользователя к получению данных и ответу.

Преимущества RAG

RAG улучшает LLM следующим образом:

  • Собственные знания: RAG может включать в себя частную информацию, которая изначально не используется для обучения LLM, таких как заметки, сообщения электронной почты и документы для ответа на вопросы, относящиеся к домену.
  • Актуальные сведения: Приложение RAG может предоставить LLM информацию из обновленной базы знаний.
  • Ссылаясь на источники: RAG позволяет LLM ссылаться на определенные источники, позволяя пользователям проверять фактическую точность ответов.
  • списки управления безопасностью и доступом данных (ACL): Шаг извлечения можно сконструировать для выборочного получения персональных или частных данных на основе учетных данных пользователя.

Компоненты RAG

Обычное приложение RAG включает несколько этапов:

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

  2. Цепочка RAG (извлечение, дополнение, поколение): вызов серии (или цепочки) шагов:

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

  4. Управление и LLMOps: отслеживание жизненного цикла каждого компонента и управление ими, включая элементы управления происхождением данных и доступом.

Схема компонентов приложения RAG.

Типы данных RAG: структурированные и неструктурированные

Архитектура RAG может работать с неструктурированными или структурированными вспомогательными данными. Данные, используемые с RAG, зависят от вашего варианта использования.

Неструктурированные данные: данные без определенной структуры или организации.

  • PDF-файлы
  • Документы Google и Office
  • Вики-страницы
  • Изображения
  • Видео

структурированные данные: табличные данные, расположенные в строках и столбцах с определенной схемой, например таблицы в базе данных.

  • Записи клиентов в системе бизнес-аналитики или хранилища данных
  • Данные транзакций из базы данных SQL
  • Данные из API приложений (например, SAP, Salesforce и т. д.)

Оценка и мониторинг

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

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

Дополнительные сведения см. в разделе "Оценка агента ИИ Мозаики" (MLflow 2).

RAG (компьютерное моделирование на основе данных) в Databricks

Databricks предлагает сквозную платформу для разработки RAG, в том числе:

Дальнейшие шаги