Использование пользовательского API категорий (быстрая версия) (предварительная версия)

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

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

Внимание

Эта новая функция доступна только в выборе регионов Azure. См . сведения о доступности региона.

Внимание

Примеры данных в этом руководстве могут содержать оскорбительные материалы. Рекомендуется использовать усмотрение пользователя.

Необходимые компоненты

  • подписка Azure — создайте бесплатную учетную запись.
  • После получения подписки Azure создайте ресурс безопасности содержимого в портал Azure, чтобы получить ключ и конечную точку. Введите уникальное имя ресурса, выберите подписку и выберите группу ресурсов, поддерживаемый регион (см . доступность региона) и поддерживаемую ценовую категорию. Затем выберите Создать.
    • Развертывание ресурса занимает несколько минут. После завершения выберите ресурс. В области слева в разделе "Управление ресурсами" выберите "Ключ подписки" и "Конечная точка". Конечная точка и любой из ключей используются для вызова API.
  • Кроме того , создайте контейнер хранилища BLOB-объектов, если вы хотите отправить образы туда. Вы также можете кодировать изображения как строки Base64 и использовать их непосредственно в вызовах API.
  • Одна из следующих установленных:

Тестирование 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>\"
  ]
}'