Мастер импорта данных в поиске ИИ Azure

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

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

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

Запуск мастера

На портале Azure откройте страницу службы поиска на панели мониторинга или найдите свою службу в списке служб. На странице "Обзор службы" в верхней части нажмите кнопку "Импорт данных".

Screenshot of the Import data command

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

Импорт данных можно запустить из других служб Azure, включая Azure Cosmos DB, Базу данных SQL Azure, Управляемый экземпляр SQL и хранилище BLOB-объектов Azure. Найдите добавление службы "Поиск ИИ Azure" в области навигации слева на странице обзора службы.

Объекты, созданные мастером

Мастер выводит объекты в следующей таблице. После создания объектов можно просмотреть определения JSON на портале или вызвать их из кода.

Объект Description
Индексатор Объект конфигурации, указывающий источник данных, целевой индекс, дополнительный набор знаний, необязательное расписание и необязательные параметры конфигурации для обработки ошибок и кодировки Base-64.
Источник данных Сохраняет сведения о подключении к поддерживаемму источнику данных в Azure. Объект источника данных используется исключительно с индексаторами.
Указатель Физическая структура данных, используемая для полнотекстового поиска и других запросов.
Skillset Необязательно. Полный набор инструкций по управлению, преобразованию и формированию содержимого, включая анализ и извлечение данных из файлов изображений. Если объем работы не попадает под ограничение 20 транзакций на индексатор в день, набор навыков должен включать ссылку на ресурс с несколькими службами Azure AI, обеспечивающий обогащение.
Хранилище знаний Необязательно. Сохраняет выходные данные из конвейера обогащения ИИ в таблицах и больших двоичных объектах в служба хранилища Azure для независимого анализа или последующей обработки.

Преимущества и ограничения

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

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

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

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

Мастер не без ограничений. Ограничения приведены ниже.

  • Мастер не поддерживает итерацию или повторное использование. Каждый проход по мастеру создает новый индекс, набор навыков и конфигурацию индексатора. В мастере могут сохраняться и повторно использоваться только источники данных. Чтобы изменить или уточнить другие объекты, удалите объекты и запустите их или используйте REST API или пакет SDK для .NET для изменения структур.

  • Исходное содержимое должно находиться в поддерживаемом источнике данных.

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

  • Обогащение ИИ, предоставляемое на портале, ограничено подмножеством встроенных навыков.

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

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

Workflow

Мастер организован на четыре основных шага:

  1. Подключение в поддерживаемый источник данных Azure.

  2. Создайте схему индекса, выводимую данными источника выборки.

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

  4. Запустите мастер для создания объектов, загрузки данных, задания расписания и других параметров конфигурации.

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

Настройка источника данных в мастере

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

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

Screenshot of the Connect to your data tab.

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

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

Настройка набора навыков в мастере

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

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

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

Конфигурация схемы индекса в мастере

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

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

  1. Является ли список полей точным? Если источник данных содержит поля, которые не были выбраны в выборке, вы можете вручную добавить новые поля, которые пропустили выборку, и удалить любые, которые не добавляют значение в интерфейс поиска или которые не будут использоваться в выражении фильтра или профиле оценки.

  2. Подходит ли тип данных для входящих данных? Служба "Поиск ИИ Azure" поддерживает типы данных модели данных сущностей (EDM). Для данных SQL Azure существует диаграмма сопоставления, которая содержит эквивалентные значения. Дополнительные сведения см. в разделе Сопоставления полей и преобразования.

  3. У вас есть одно поле, которое может использоваться в качестве ключа? Этим полем должно быть Edm.string, и оно должно однозначно идентифицировать документ. Для реляционных данных оно может быть сопоставлено с первичным ключом. Для больших двоичных объектов это может быть metadata-storage-path. Если значения полей включают пробелы или дефисы, необходимо задать ключ шифрования Base-64 на этапе создания индексатора в разделе Дополнительные параметры, чтобы отключить проверку для этих символов.

  4. Задайте атрибуты, чтобы определить, как это поле используется в индексе.

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

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

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

    • Фильтруемый: позволяет ссылаться на поле в выражениях фильтра. Все поля, используемые в выражении $filter, должны иметь этот атрибут. Выражения фильтра используются для точных совпадений. Так как текстовые строки остаются нетронутыми, для размещения подробного содержимого требуется больше хранилища.

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

    • Сортируемый: позволяет использовать поле при сортировке. Все поля, используемые в выражении $Orderby, должны иметь этот атрибут.

  5. Требуется ли лексический анализ? Для полей Edm.string, доступных для поиска, вы можете настроить анализатор, если требуется расширенное индексирование и запросы.

    По умолчанию задано Standard Lucene, но вы можете выбрать Microsoft English, если нужно использовать анализатор Майкрософт для расширенной обработки лексики, например для разрешения неправильных форм существительных и глаголов. На портале можно указать только языковые анализаторы. Чтобы использовать пользовательский или неязыковой анализатор, например ключевое слово, шаблон и т. д., требуется код. Подробнее об анализаторах см. в разделе Добавление анализаторов языка.

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

Конфигурация индексатора в мастере

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

Во внутреннем режиме мастер также настраивает следующие определения, которые не отображаются в индексаторе до тех пор, пока он не будет создан:

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

Лучший способ понять преимущества и ограничения мастера — его пошаговое применение. В следующем кратком руководстве описывается каждый шаг.