Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Генерация с дополнением поиска (RAG) — это шаблон, который расширяет возможности LLM путем основывания ответов на ваших собственных данных. В то время как концептуально простые реализации RAG сталкиваются со значительными проблемами.
Проблемы RAG
| Задача | Description |
|---|---|
| Понимание запросов | Современные пользователи задают сложные, разговорные или расплывчатые вопросы с предполагаемым контекстом. Традиционный поиск ключевых слов завершается ошибкой, если запросы не соответствуют терминологии документов. Для RAG система получения информации должна понимать намерение, а не просто совпадение слов. |
| Доступ к данным с несколькими источниками | Корпоративное содержимое охватывает SharePoint, базы данных, хранилище BLOB-объектов и другие платформы. Создание единого корпуса поиска без нарушения операций с данными является важным. |
| Ограничения токенов | LLMs обрабатывают ограниченные входы токенов. Система извлечения должна возвращать весьма релевантные, краткие результаты — не исчерпывающие дампы документов. |
| Ожидания времени отклика | Пользователи ожидают ответы на основе ИИ в секундах, а не в минутах. Система извлечения должна сбалансировать тщательность с скоростью. |
| системы безопасности и управления | Для открытия частного содержимого для LLM требуется гранулярный контроль доступа. Пользователи и агенты должны получать только авторизованное содержимое. |
Как поиск azure AI соответствует задачам RAG
Поиск ИИ Azure предлагает два подхода, специально разработанные для решения задач, связанных с RAG:
Агентное извлечение (предварительная версия): полный RAG-конвейер с планированием запросов с использованием LLM, доступом к нескольким источникам и структурированными ответами, оптимизированными для потребления агентом.
Классический шаблон RAG: проверенный подход с использованием гибридного поиска и семантического ранжирования, идеально подходит для более простых требований или при наличии общедоступных функций.
В следующих разделах объясняется, как каждый подход решает конкретные задачи RAG.
Решение проблем с пониманием запросов
Проблема: Пользователи спрашивают: "Какова наша политика оплачиваемого отпуска для удаленных сотрудников, нанятых после 2023 года?", но в документах упоминаются "отпуск", "удаленная работа" и "новые сотрудники".
Агентное решение для извлечения данных:
- LLM анализирует вопрос и генерирует несколько целевых подзапросов.
- Разбивает сложные вопросы на целевые запросы.
- Использует журнал бесед для понимания контекста.
- Параллельное выполнение по источникам знаний.
Классическое решение RAG:
- Гибридные запросы объединяют ключевой и векторный поиск для повышения полноты.
- Семантический рейтинг повторно оценивает результаты на основе смысла, а не только ключевых слов.
- Поиск сходства векторов соответствует понятиям, а не точным терминам.
Дополнительные сведения о планировании запросов.
Решение проблем с данными с несколькими источниками
Проблема: Политики кадров в SharePoint, преимущества баз данных, новости компании на веб-страницах— создание копий нарушает управление и обычные операции с данными.
Агентное решение для извлечения данных:
- Базы знаний объединяют несколько источников знаний.
- Прямой запрос к удаленному SharePoint и Bing (без необходимости индексирования) для дополнения индекса содержимым.
- Инструкции по извлечению направляют LLM на соответствующие источники данных.
- Автоматическое создание конвейера индексирования для BLOB-объектов Azure, OneLake, прием содержимого SharePoint, прием другого внешнего содержимого.
- Единый интерфейс запроса и план запроса во всех источниках.
Классическое решение RAG:
- Индексаторы извлекают из более чем 10 источников данных Azure.
- Поток навыков для фрагментирования, векторизации, вербализации изображений и анализа.
- Добавочное индексирование сохраняет содержимое свежим.
- Вы управляете тем, что индексируется, и как это делается.
Дополнительные сведения об источниках знаний.
Решение проблем с ограничением токенов
Проблема: GPT-4 принимает около 128k токенов, но у вас есть 10 000 страниц документации. Отправка избыточной информации расходует ресурсы и снижает качество.
Агентное решение для извлечения данных:
- Возвращает структурированный ответ только с наиболее релевантными блоками
- Встроенное отслеживание ссылок показывает происхождение
- Журнал поисковых действий объясняет, что искалось
- Необязательный синтез ответов сокращает использование маркеров еще больше
Классическое решение RAG:
- Семантическое ранжирование определяет наиболее важные результаты из 50 лучших результатов.
- Настраиваемые ограничения результатов (top-k для векторов, top-n для текста) и минимальные пороговые значения
- Оценочные профили повышают важное содержимое
- Оператор SELECT управляет тем, какие поля возвращаются
Дополнительные сведения о настройке релевантности.
Решение проблем времени реагирования
Проблема: Пользователи ожидают ответы в течение 3–5 секунд, но запрашиваете несколько источников с сложной обработкой.
Агентное решение для извлечения данных:
- Параллельное выполнение вложенных запросов (не последовательное)
- Регулируемые усилия на рассуждение (минимальный/низкий/средний)
- Предварительно созданный семантический рейтинг (без дополнительной оркестрации)
Классическое решение RAG:
- Время отклика запросов в миллисекундах
- Однократные запросы снижают сложность
- Вы управляете временем ожидания и логикой повторных попыток
- Упрощенная архитектура с меньшим количеством точек сбоя
Решение проблем безопасности
Проблема: Финансовые данные должны быть доступны только для финансовой команды, даже если исполнительный просит чат-бота.
Агентное решение для извлечения данных:
- Управление доступом на уровне источника знаний
- Наследует права доступа SharePoint для выполнения запросов к удаленному SharePoint.
- Наследует метаданные разрешений идентификатора Microsoft Entra для индексированного содержимого из службы хранилища Azure
- Безопасность на основе фильтра во время запроса для других источников данных
- Сетевая изоляция через частные конечные точки
Классическое решение RAG:
- Настройка безопасности на уровне документа
- Наследует метаданные разрешений идентификатора Microsoft Entra для индексированного содержимого из службы хранилища Azure
- Безопасность на основе фильтра во время запроса для других источников данных
- Сетевая изоляция через частные конечные точки
Дополнительные сведения о безопасности.
Современная RAG с агентным поиском данных
Поиск по искусственному интеллекту Azure — это проверенное решение для рабочих нагрузок RAG. Теперь он предоставляет агентическое извлечение, специализированный поток данных, разработанный специально для шаблонов RAG. Этот подход использует LLM для интеллектуального разбиения сложных запросов пользователей в ориентированные вложенные запросы, выполняет их параллельно и возвращает структурированные ответы, оптимизированные для моделей завершения чата.
Агентическое извлечение представляет эволюцию от традиционных шаблонов RAG с одним запросом к интеллектуальному извлечению с несколькими запросами, предоставляя следующие возможности:
- Планирование запросов с учетом контекста с помощью журнала бесед
- Параллельное выполнение нескольких целенаправленных подзапросов
- Структурированные ответы с основными данными, цитатами и метаданными выполнения
- Встроенный семантический рейтинг для оптимальной релевантности
- Необязательный синтез ответов, использующий ответ с формулой LLM в ответе запроса
Вам нужны новые объекты для этого конвейера: один или несколько источников знаний, база знаний и действие извлечения, вызываемое из кода приложения, например средство, которое работает с агентом ИИ.
Для новых реализаций RAG начните с агентического извлечения. Для существующих решений рассмотрите возможность миграции, чтобы воспользоваться преимуществами улучшенной точности и понимания контекста.
Классический шаблон RAG для поиска в Azure с использованием искусственного интеллекта
Классическая RAG использует оригинальную архитектуру выполнения запросов, в которой приложение отправляет один запрос в поиск ИИ Azure и отдельно координирует передачу в LLM. Развернутый LLM использует упрощенный результирующий набор из запроса для формирования ответа. Этот подход проще с меньшим количеством компонентов и быстрее, так как в планировании запросов нет участия LLM.
Подробные сведения о реализации классической RAG см. в репозитории azure-search-classic-rag.
Подготовка содержимого к RAG
Качество RAG зависит от способа подготовки содержимого к извлечению. Служба "Поиск ИИ Azure" поддерживает следующие возможности:
| Проблема содержимого | Как помогает поиск по искусственному интеллекту Azure |
|---|---|
| Большие документы | Автоматическое разделение на фрагменты (встроенные функции или с помощью навыков) |
| Несколько языков | Более 50 анализаторов языка для текста, многоязычных векторов |
| Изображения и PDF-файлы | OCR, анализ изображений, озвучивание изображений, извлечение данных из документов |
| Потребность в поиске сходства | Встроенная векторизация (Azure OpenAI, Azure Vision в средствах Foundry, custom) |
| Несоответствия терминологии | Карты синонимов, семантический ранжирование |
Для агентного поиска: Используйте источники знаний , которые автоматически создают конвейеры сегментации и векторизации.
Для классической RAG: Используйте индексаторы и наборы навыков для создания пользовательских конвейеров или отправки предварительно обработанного содержимого с помощью API push-уведомлений.
Максимизация релевантности и вспоминаемости
Как вы предоставляете лучшие данные о заземления для формулировки ответов LLM? Это сочетание соответствующего контента, интеллектуальных запросов и логики запросов, которое может определить наиболее подходящие фрагменты для ответа на вопрос.
Во время индексирования используйте фрагментирование, чтобы разделить большие документы, чтобы части могли быть сопоставлены независимо. Добавьте шаг векторизации для создания эмбеддингов, используемых для векторных запросов.
На стороне запроса, чтобы обеспечить наиболее релевантные результаты для вашей реализации RAG, выполните следующие шаги:
Используйте гибридные запросы, которые объединяют поиск по ключевым словам (невекторным) и векторным поиском для достижения максимальной полноты. В гибридном запросе при двойном уменьшении входных данных текстовая строка и его векторный эквивалент создают параллельные запросы для ключевых слов и поиска сходства, возвращая наиболее релевантные совпадения из каждого типа запроса в едином результирующем наборе.
Используйте семантическое ранжирование, встроенное в агентическое извлечение, необязательное для классической RAG.
Применение профилей оценки для повышения определенных полей или критериев.
Точная настройка параметров векторного запроса для веса вектора и минимальных пороговых значений.
Дополнительные сведения см. в разделе гибридного поиска и семантического ранжирования.
Выбор между агентическим извлечением и классической RAG
Используйте агентическое извлечение, когда:
- Клиент является агентом или чат-ботом.
- Вам нужна максимальная релевантность и точность.
- Ваши запросы являются сложными или разговорными.
- Вам нужны структурированные ответы со сведениями о ссылках и запросах.
- Вы разрабатываете новые реализации RAG.
Используйте классический RAG, когда:
- Вам нужны только общедоступные функции.
- Простота и скорость имеют приоритет над сложной релевантностью.
- У вас есть существующий код оркестрации, который требуется сохранить.
- Вам нужен точный контроль над конвейером запросов.
Решение RAG, включающее агентов и Azure AI Search, может использовать Foundry IQ как единую конечную точку к слою знаний, предоставляющему основополагающие данные. IQ Foundry использует агентное извлечение.
Узнайте больше о классическом поиске, агентностном извлечении и о том, как они сравниваются между собой.
Как приступить к работе
Существует множество способов приступить к работе, включая code-first решения и демо-версии.