Использование пользовательского API категорий (быстрая версия) (предварительная версия)
API пользовательских категорий (быстрых) позволяет быстро реагировать на возникающие вредоносные инциденты содержимого. Можно определить инцидент с несколькими примерами в определенном разделе, и служба начнет обнаруживать аналогичное содержимое.
Выполните следующие действия, чтобы определить инцидент с несколькими примерами текстового содержимого, а затем проанализировать новое текстовое содержимое, чтобы узнать, соответствует ли инцидент.
Внимание
Эта новая функция доступна только в выборе регионов Azure. См . сведения о доступности региона.
Внимание
Примеры данных в этом руководстве могут содержать оскорбительные материалы. Рекомендуется использовать усмотрение пользователя.
Необходимые компоненты
- подписка Azure — создайте бесплатную учетную запись.
- После получения подписки Azure создайте ресурс безопасности содержимого в портал Azure, чтобы получить ключ и конечную точку. Введите уникальное имя ресурса, выберите подписку и выберите группу ресурсов, поддерживаемый регион (см . доступность региона) и поддерживаемую ценовую категорию. Затем выберите Создать.
- Развертывание ресурса занимает несколько минут. После завершения выберите ресурс. В области слева в разделе "Управление ресурсами" выберите "Ключ подписки" и "Конечная точка". Конечная точка и любой из ключей используются для вызова API.
- Кроме того , создайте контейнер хранилища BLOB-объектов, если вы хотите отправить образы туда. Вы также можете кодировать изображения как строки Base64 и использовать их непосредственно в вызовах API.
- Одна из следующих установленных:
- cURL для вызовов REST API.
- Установлен Python 3.x
Тестирование API пользовательских категорий текста (быстрый)
Используйте пример кода в этом разделе для создания текстового инцидента, добавления примеров в инцидент, развертывания инцидента и обнаружения текстовых инцидентов.
Создание объекта инцидента
В приведенных ниже командах замените <your_api_key>
и <your_endpoint>
другие необходимые параметры собственными значениями.
Следующая команда создает инцидент с именем и определением.
curl --location --request PATCH 'https://<endpoint>/contentsafety/text/incidents/<text-incident-name>?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' \
--data '{ \"incidentName\": \"<test-incident>\", \"incidentDefinition\": \"<string>\"}'
Добавление примеров в инцидент
Используйте следующую команду, чтобы добавить в инцидент примеры текста.
curl --location 'https://<endpoint>/contentsafety/text/incidents/<text-incident-name>:addIncidentSamples?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' \
--data-raw '{
\"IncidentSamples\": [
{ \"text\": \"<text-example-1>\"},
{ \"text\": \"<text-example-2>\"},
...
]
}'
Развертывание инцидента
Используйте следующую команду для развертывания инцидента, что делает его доступным для анализа нового содержимого.
curl --location 'https://<endpoint>/contentsafety/text/incidents/<text-incident-name>:deploy?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json'
Обнаружение текстовых инцидентов
Выполните следующую команду, чтобы проанализировать пример текстового содержимого только что развернутого инцидента.
curl --location 'https://<endpoint>/contentsafety/text:detectIncidents?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' \
--data '{
\"text\": \"<test-text>\",
\"incidentNames\": [
\"<text-incident-name>\"
]
}'
Тестирование API пользовательских категорий изображений (быстрый)
Используйте пример кода в этом разделе для создания инцидента образа, добавления примеров в инцидент, развертывания инцидента и обнаружения инцидентов изображений.
Создать инцидент
В приведенных ниже командах замените <your_api_key>
и <your_endpoint>
другие необходимые параметры собственными значениями.
Следующая команда создает инцидент образа:
curl --location --request PATCH 'https://<endpoint>/contentsafety/image/incidents/<image-incident-name>?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' \
--data '{
\"incidentName\": \"<image-incident-name>\"
}'
Добавление примеров в инцидент
Используйте следующую команду, чтобы добавить примеры изображений в инцидент. Примеры изображений могут быть URL-адресами, указывающими на изображения в контейнере хранилища BLOB-объектов Azure или строками Base64.
curl --location 'https://<endpoint>/contentsafety/image/incidents/<image-incident-name>:addIncidentSamples?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' \
--data '{
\"IncidentSamples\": [
{
\"image\": {
\"content\": \"<base64-data>\",
\"bloburl\": \"<your-blob-storage-url>.png\"
}
}
]
}'
Развертывание инцидента
Используйте следующую команду для развертывания инцидента, что делает его доступным для анализа нового содержимого.
curl --location 'https://<endpoint>/contentsafety/image/incidents/<image-incident-name>:deploy?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json'
Обнаружение инцидентов изображений
Используйте следующую команду, чтобы отправить образец и протестировать его в отношении развернутого инцидента. Можно использовать URL-адрес, указывающий на изображение в контейнере хранилища BLOB-объектов Azure, или добавить данные изображения в виде строки Base64.
curl --location 'https://<endpoint>/contentsafety/image:detectIncidents?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' \
--data '{
\"image\": {
\"url\": \"<your-blob-storage-url>/image.png\",
"content": "<base64-data>"
},
\"incidentNames\": [
\"<image-incident-name>\"
]
}
}'
Другие операции инцидентов
Следующие операции полезны для управления инцидентами и примерами инцидентов.
API текстовых инцидентов
Перечисление всех инцидентов
curl --location GET 'https://<endpoint>/contentsafety/text/incidents?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'
Получение сведений об инциденте
curl --location GET 'https://<endpoint>/contentsafety/text/incidents/<text-incident-name>?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'
Удаление инцидента
curl --location --request DELETE 'https://<endpoint>/contentsafety/text/incidents/<text-incident-name>?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'
Вывод списка всех примеров в инциденте
Эта команда извлекает уникальные идентификаторы всех примеров, связанных с заданным объектом инцидента.
curl --location GET 'https://<endpoint>/contentsafety/text/incidents/<text-incident-name>/incidentsamples?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'
Получение сведений об инциденте
Используйте пример идентификатора инцидента для поиска сведений о примере.
curl --location GET 'https://<endpoint>/contentsafety/text/incidents/<text-incident-name>/incidentsamples/<your-incident-sample-id>?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'
Удаление примера инцидента
Используйте пример идентификатора инцидента для извлечения и удаления этого примера.
curl --location 'https://<endpoint>/contentsafety/text/incidents/<text-incident-name>:removeIncidentSamples?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' \
--data '{
\"IncidentSampleIds\": [
\"<your-incident-sample-id>\"
]
}'
API инцидентов изображений
Получение списка инцидентов
curl --location GET 'https://<endpoint>/contentsafety/image/incidents?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'
Получение сведений об инциденте
curl --location GET 'https://<endpoint>/contentsafety/image/incidents/<image-incident-name>?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'
Удаление инцидента
curl --location --request DELETE 'https://<endpoint>/contentsafety/image/incidents/<image-incident-name>?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'
Вывод списка всех примеров в инциденте
Эта команда извлекает уникальные идентификаторы всех примеров, связанных с заданным объектом инцидента.
curl --location GET 'https://<endpoint>/contentsafety/image/incidents/<image-incident-name>/incidentsamples?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'
Получение сведений об инциденте
Используйте пример идентификатора инцидента для поиска сведений о примере.
curl --location GET 'https://<endpoint>/contentsafety/image/incidents/<image-incident-name>/incidentsamples/<your-incident-sample-id>?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'
Удаление примера инцидента
Используйте пример идентификатора инцидента для извлечения и удаления этого примера.
curl --location 'https://<endpoint>/contentsafety/image/incidents/<image-incident-name>:removeIncidentSamples?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' \
--data '{
\"IncidentSampleIds\": [
\"<your-incident-sample-id>\"
]
}'