Краткое руководство. Анализ мультимодального содержимого (предварительная версия)
Многомодальный API анализирует материалы, содержащие содержимое изображения и текстовое содержимое, чтобы сделать приложения и службы более безопасными от вредного содержимого, созданного пользователем или искусственного интеллекта. Анализ изображения и связанного с ним текстового содержимого вместе может сохранить контекст и обеспечить более полное представление о содержимом.
Дополнительные сведения о том, как фильтруется содержимое, см . на странице концепции "Категории вреда". Сведения о ограничениях ввода API см. в разделе "Требования к входным данным" в разделе "Обзор".
Внимание
Эта функция доступна только в определенных регионах Azure. См . сведения о доступности региона.
Необходимые компоненты
- подписка Azure — создайте бесплатную учетную запись.
- После получения подписки Azure создайте ресурс безопасности содержимого в портал Azure, чтобы получить ключ и конечную точку. Введите уникальное имя ресурса, выберите подписку и выберите группу ресурсов, поддерживаемый регион и поддерживаемую ценовую категорию. Затем выберите Создать.
- Развертывание ресурса занимает несколько минут. После завершения выберите ресурс. В области слева в разделе "Управление ресурсами" выберите "Ключ подписки" и "Конечная точка". Скопируйте конечную точку и любой из ключевых значений в временное расположение для последующего использования.
- Одна из следующих установленных:
- cURL для вызовов REST API.
- Установлен Python 3.x
Анализ изображения с помощью текста
В следующем разделе описывается пример многомодального запроса модерации с помощью cURL.
Подготовка примера изображения
Выберите образ для анализа и скачайте его на устройство.
См . требования к входным данным для ограничений изображения. Если формат анимирован, служба извлекает первый кадр для анализа.
Вы можете ввести образ одним из двух методов: локальный файловый поток или URL-адрес хранилища BLOB-объектов.
- Локальный файловый поток (рекомендуется): кодирование образа в base64. Для кодирования можно использовать веб-сайт, например codebeautify . Затем сохраните закодированную строку во временном расположении.
- URL-адрес хранилища BLOB-объектов: отправьте изображение в учетную запись Хранилище BLOB-объектов Azure. Следуйте краткому руководству по хранилищу BLOB-объектов, чтобы узнать, как это сделать. Затем откройте обозреватель служба хранилища Azure и получите URL-адрес изображения. Сохраните его во временном расположении.
Анализ изображения с помощью текста
Вставьте приведенную ниже команду в текстовый редактор и внесите следующие изменения.
- Замените
<endpoint>
URL-адрес конечной точки ресурса. - Замените
<your_subscription_key>
собственным ключом. "image"
Заполните поле в тексте поле полем"content"
или полем"blobUrl"
. Пример:{"image": {"content": "<base_64_string>"}
или{"image": {"blobUrl": "<your_storage_url>"}
.- При необходимости замените значение
"text"
поля собственным текстом, который вы хотите проанализировать.
curl --location '<endpoint>/contentsafety/imageWithText:analyze?api-version=2024-09-15-preview ' \
--header 'Ocp-Apim-Subscription-Key: <your_subscription_key>' \
--header 'Content-Type: application/json' \
--data '{
"image": {
"content": "<base_64_string>"
},
"categories": ["Hate","Sexual","Violence","SelfHarm"],
"enableOcr": true,
"text": "I want to kill you"
}'
Примечание.
Если вы используете URL-адрес хранилища BLOB-объектов, текст запроса должен выглядеть следующим образом:
{
"image": {
"blobUrl": "<your_storage_url>"
}
}
Следующие поля должны быть включены в URL-адрес:
Имя. | Обязательное? | Описание | Тип |
---|---|---|---|
Версия API | Обязательное поле | Это проверяемая версия API. Текущая версия: api-version=2024-09-15 . Пример: <endpoint>/contentsafety/imageWithText:analyze?api-version=2024-09-15 |
Строка |
Параметры в тексте запроса определяются в этой таблице:
Имя | Описание | Тип |
---|---|---|
содержимое или blobUrl | (обязательно) Содержимое или URL-адрес большого двоичного объекта изображения. Я могу быть байтами в кодировке Base64 или URL-адресом БОЛЬШОго двоичного объекта. Если оба заданы, запрос отказывается. Максимальный допустимый размер изображения составляет 7200 x 7200 пикселей, а максимальный размер файла — 4 МБ. Минимальный размер изображения составляет 50 пикселей x 50 пикселей. | Строка |
text | (Необязательно) Текст, присоединенный к изображению. Мы поддерживаем не более 1000 символов (точек кода юникода) в одном текстовом запросе. | Строка |
enableOcr | (обязательно) Если задано значение true, наша служба будет выполнять OCR и анализировать обнаруженный текст с помощью входного изображения одновременно. Мы распознаем не более 1000 символов (точек кода юникода) из входного изображения. Остальные будут усечены. | Логический |
Категории | (Необязательно) Предполагается, что это массив имен категорий. См. руководство по категориям вреда для списка доступных имен категорий. Если категории не указаны, используются все четыре категории. Мы используем несколько категорий, чтобы получить оценки в одном запросе. | Перечисление |
Откройте окно командной строки и выполните команду cURL.
Выходные данные
В консоли должны отображаться результаты модерации изображения и текста, отображаемые в виде данных JSON. Например:
{
"categoriesAnalysis": [
{
"category": "Hate",
"severity": 2
},
{
"category": "SelfHarm",
"severity": 0
},
{
"category": "Sexual",
"severity": 0
},
{
"category": "Violence",
"severity": 0
}
]
}
Поля JSON в выходных данных определяются здесь:
Имя | Описание | Тип |
---|---|---|
КатегорииAnalysis | Каждый выходной класс, прогнозируемый API. Классификация может быть многометкой. Например, когда изображение передается в модель модерации изображений, его можно классифицировать как сексуальное содержимое, так и насилие. Категории вреда | Строка |
Уровень серьезности | Уровень серьезности флага в каждой категории вреда. Категории вреда | Целое |