Поделиться через


Использование пользовательского 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>\"
  ]
}'