Импорт данных в Поиск с использованием ИИ Azure

Примечание.

Поиск с использованием ИИ Azure доступна через портал Azure, REST API и Azure SDKs. Он также лежит в основе Foundry IQ — управляемого слоя знаний, который преобразует корпоративный контент в многократно используемые базы знаний с учетом разрешений доступа для агентов на портале Microsoft Foundry.

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

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

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

Примечание.

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

Отправка данных в индекс

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

Основные преимущества:

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

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

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

Отправка данных в индекс Поиск с использованием ИИ Azure

Используйте следующие API для загрузки одного или нескольких документов в индекс:

Нет поддержки отправки данных через Azure portal.

Общие сведения об API push можно найти в следующих материалах:

Действия индексирования: загрузка, объединение, объединениеИлиЗагрузка, удаление

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

Независимо от того, используется ли REST API или пакет SDK для Azure, для импорта данных поддерживаются следующие операции документа:

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

  • слияние обновляет документ, который уже существует, и не удается найти документ. Слияние заменяет существующие значения. По этой причине обязательно проверьте поля коллекции, содержащие несколько значений, таких как поля типа Collection(Edm.String). Например, если tags поле начинается со значения ["budget"] и выполняется слияние с ["economy", "pool"], конечное значение tags поля равно ["economy", "pool"]. Это не будет ["budget", "economy", "pool"].

  • mergeOrUpload работает следующим образом: как merge, если документ существует, и как upload, если документ новый.

  • удаляет весь документ из индекса. Если вы хотите удалить отдельное поле, используйте слияние, установив это поле в значение null.

Извлечение данных в индекс

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

Индексаторы от Корпорации Майкрософт доступны для этих платформ:

Если настроить индексированный источник знаний для агентного извлечения, Поиск с использованием ИИ Azure создает конвейер индексатора и загружает индекс с помощью свойств в источнике знаний.

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

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

Как загрузить данные в индекс Поиск с использованием ИИ Azure

Используйте следующие средства и API для индексирования на основе индексатора:

Функциональность индексатора представлена в Azure portal, REST API и .NET SDK.

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

Проверка импорта данных с помощью проводника поиска

Быстрый способ предварительной проверки загрузки документа — использовать Search explorer в портале Azure.

Скриншот команды обозревателя поиска в Azure portal.

Инструмент позволяет создавать запросы к индексу без необходимости писать код. Интерфейс поиска основан на параметрах по умолчанию, таких как синтаксис simple и параметр запроса searchMode. Результаты возвращаются в формате JSON, позволяя проверить весь документ.

Ниже приведен пример запроса, который можно запустить в обозревателе поиска в представлении JSON. "HotelId" является ключом документа индекса hotels-sample. Фильтр возвращает идентификатор определенного документа.

{
  "search": "*",
  "filter": "HotelId eq '50'"
}

Если вы используете REST, этот запрос на поиск выполняет ту же функцию.