Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Внимание
Этот навык находится в общедоступной предварительной версии в разделе "Дополнительные условия использования". REST API 2024-05-01-Preview и более новые api предварительной версии поддерживают эту функцию.
Навык многомодального внедрения в azure AI Vision использует API многомодальных внедрения azure AI Vision для создания внедрения изображений или текста.
Этот навык должен быть присоединен к оплачиваемому ресурсу Azure AI с несколькими службами для транзакций, превышающих 20 документов на индексатор в день. Выполнение встроенных навыков взимается по существующей цене служб ИИ Azure standard.
Кроме того, извлечение изображений взимается с помощью службы "Поиск ИИ Azure".
Расположение ресурсов является важным фактором. Так как вы используете предварительную версию API для создания набора навыков, содержащего навыки предварительного просмотра, у вас есть возможность бессерверного подключения, что упрощает требование региона. Однако если вы подключаетесь к ключу API, поиск Azure ИИ и многослужба Azure должны находиться в одном регионе.
Сначала найдите поддерживаемый регион для многомодальных внедрения.
Во-вторых, убедитесь, что регион обеспечивает обогащение ИИ.
Ресурс azure AI с несколькими службами используется только для выставления счетов. Обработка содержимого выполняется в отдельных ресурсах, управляемых и поддерживаемых поиском ИИ Azure в одном географическом регионе. Данные обрабатываются в географическом расположении, где развернут ресурс.
@odata.type
Microsoft.Skills.Vision.VectorizeSkill
Ограничения данных
Ограничения ввода для навыка можно найти в документации по Распознаванию искусственного интеллекта Azure для изображений и текста соответственно. Рекомендуется использовать навык разделения текста, если требуется фрагментирование данных для текстовых входных данных.
Применимые входные данные:
- Размер входного файла изображения должен быть меньше 20 мегабайт (МБ). Размер изображения должен быть больше 10 x 10 пикселей и меньше 16 000 x 16 000 пикселей.
- Строка ввода текста должна находиться между одним словом (включительно) и 70 словами.
Параметры навыков
Параметры зависят от регистра.
Входные данные | Описание |
---|---|
modelVersion |
(обязательно) Версия модели (2023-04-15 ), передаваемая в API многомодальных внедрений azure AI Vision для создания внедрения. Векторные внедрения можно сравнить только и сопоставить, если они совпадают с тем же типом модели. Изображения, векторизированные одной моделью, нельзя будет найти, используя другую модель. Последняя версия API анализа изображений предлагает две модели, которая 2023-04-15 поддерживает поиск текста на многих языках и устаревшую 2022-04-11 модель, которая поддерживает только английский язык. Служба поиска ИИ Azure использует более новую версию. |
Входные данные навыков
Входные данные определения навыка включают имя, источник и входные данные. В следующей таблице приведены допустимые значения для имени входных данных. Вы также можете указать рекурсивные входные данные. Дополнительные сведения см. в справочнике по REST API и создании набора навыков.
Входные данные | Описание |
---|---|
text |
Векторизованный текст. Если вы используете блоки данных, источник может быть /document/pages/* . |
image |
Сложный тип. В настоящее время используется только поле "/document/normalized_images", созданное индексатором BLOB-объектов Azure, если imageAction задано значение, отличное от none значения. |
url |
URL-адрес для скачивания векторного изображения. |
queryString |
Строка запроса URL-адреса для скачивания векторного изображения. Полезно при хранении URL-адреса и маркера SAS в отдельных путях. |
Только один из text
них image
или url
/queryString
может быть настроен для одного экземпляра навыка. Если вы хотите векторизировать изображения и текст в одном наборе навыков, включите два экземпляра этого навыка в определение набора навыков, по одному для каждого типа ввода, который вы хотите использовать.
Выходные данные навыка
Выходные данные | Описание |
---|---|
vector |
Выходной массив с плавающей запятой для входного текста или изображения. |
Пример определения
Для ввода текста рассмотрим большой двоичный объект, имеющий следующее содержимое:
{
"content": "Forests, grasslands, deserts, and mountains are all part of the Patagonian landscape that spans more than a million square kilometers of South America."
}
Для текстовых входных данных определение навыка может выглядеть следующим образом:
{
"@odata.type": "#Microsoft.Skills.Vision.VectorizeSkill",
"context": "/document",
"modelVersion": "2023-04-15",
"inputs": [
{
"name": "text",
"source": "/document/content"
}
],
"outputs": [
{
"name": "vector",
"targetName": "text_vector"
}
]
}
Для ввода изображения второе определение навыка в том же наборе навыков может выглядеть следующим образом:
{
"@odata.type": "#Microsoft.Skills.Vision.VectorizeSkill",
"context": "/document/normalized_images/*",
"modelVersion": "2023-04-15",
"inputs": [
{
"name": "image",
"source": "/document/normalized_images/*"
}
],
"outputs": [
{
"name": "vector",
"targetName": "image_vector"
}
]
}
Если вы хотите векторизировать изображения непосредственно из источника данных хранилища BLOB-объектов, а не извлекать изображения во время индексирования, определение навыка должно указать URL-адрес и, возможно, маркер SAS в зависимости от безопасности хранилища. Для этого сценария определение навыка может выглядеть следующим образом:
{
"@odata.type": "#Microsoft.Skills.Vision.VectorizeSkill",
"context": "/document",
"modelVersion": "2023-04-15",
"inputs": [
{
"name": "url",
"source": "/document/metadata_storage_path"
},
{
"name": "queryString",
"source": "/document/metadata_storage_sas_token"
}
],
"outputs": [
{
"name": "vector",
"targetName": "image_vector"
}
]
}
Пример полученных результатов
Для заданных входных данных создается векторизованный результат внедрения. Выходные данные составляют 1024 измерения, что является числом измерений, поддерживаемых многомодальным API Распознавания искусственного интеллекта Azure.
{
"text_vector": [
0.018990106880664825,
-0.0073809814639389515,
....
0.021276434883475304,
]
}
Выходные данные находятся в памяти. Чтобы отправить эти выходные данные в поле в индексе поиска, необходимо определить outputFieldMapping , который сопоставляет векторизованные выходные данные внедрения (массив) с полем вектора. Если выходные данные навыка находятся на узле вектора документа, а content_vector — это поле в индексе поиска, выходные данныеFieldMapping в индексаторе должны выглядеть следующим образом:
"outputFieldMappings": [
{
"sourceFieldName": "/document/vector/*",
"targetFieldName": "content_vector"
}
]
Для сопоставления внедренных изображений в индекс используются проекции индекса. Полезные данные indexProjections
могут выглядеть примерно так, как показано в следующем примере. image_content_vector — это поле в индексе, и оно заполняется содержимым, найденным в векторе массива normalized_images .
"indexProjections": {
"selectors": [
{
"targetIndexName": "myTargetIndex",
"parentKeyFieldName": "ParentKey",
"sourceContext": "/document/normalized_images/*",
"mappings": [
{
"name": "image_content_vector",
"source": "/document/normalized_images/*/vector"
}
]
}
]
}