Compartilhar via


Usar a API de categorias personalizadas (versão prévia)

A API de categorias personalizadas (rápida) permite responder rapidamente a incidentes de conteúdo nocivo emergentes. Você pode definir um incidente com alguns exemplos em um tópico específico e o serviço começará a detectar conteúdo semelhante.

Siga essas etapas para definir um incidente com alguns exemplos de conteúdo de texto e, em seguida, analise o novo conteúdo de texto para ver se ele corresponde ao incidente.

Importante

Esse novo recurso só está disponível em regiões selecionadas do Azure. Confira a Disponibilidade de região.

Cuidado

Os dados de amostra neste guia podem ter um conteúdo ofensivo. O critério do usuário é aconselhado.

Pré-requisitos

  • Uma assinatura do Azure – crie uma gratuitamente
  • Depois de ter uma assinatura do Azure, crie um recurso de Segurança do Conteúdo no portal do Azure para obter uma chave e um ponto de extremidade. Insira um nome exclusivo para o recurso, selecione a assinatura e selecione um grupo de recursos, uma região com suporte (confira a Disponibilidade de região) e um tipo de preço com suporte. Em seguida, selecione Criar.
    • O recurso demora alguns minutos para implantar. Após a conclusão, selecione ir para o recurso. No painel à esquerda, em Gerenciamento de Recursos, selecione Chave de Assinatura e Ponto de Extremidade. O ponto de extremidade e uma das chaves são usados para chamar as APIs.
  • Além disso, crie um contêiner de armazenamento de blobs se quiser carregar suas imagens lá. Como alternativa, você pode codificar suas imagens como strings Base64 e usá-las diretamente nas chamadas de API.
  • Um dos seguintes instalados:

Testar a API de categorias personalizadas (rápida) de texto

Use o código de exemplo nesta seção para criar um incidente de texto, adicionar amostras ao incidente, implantar o incidente e, em seguida, detectar incidentes de texto.

Crie um objeto de incidente

Nos comandos abaixo, substitua <your_api_key>, <your_endpoint>, e outros parâmetros necessários por seus próprios valores.

O comando a seguir cria um incidente com nome e definição.

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>\"}'

Adicione amostras ao incidente

Use o comando a seguir para adicionar exemplos de texto ao incidente.

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>\"},
    ...
  ]
}'

Implantar o incidente

Utilize o comando a seguir para implantar o incidente, disponibilizando-o para análise de novo conteúdo.

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' 

Detectar incidentes de texto

Execute o comando a seguir para analisar o conteúdo de texto de amostra do incidente que você acabou de implantar.

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>\"
  ]
}'

Testar a API de categorias personalizadas (rápida) de imagem

Use o código de exemplo nessa seção para criar um incidente de imagem, adicionar amostras ao incidente, implantar o incidente e, em seguida, detectar incidentes de imagem.

Criar um incidente

Nos comandos abaixo, substitua <your_api_key>, <your_endpoint>, e outros parâmetros necessários por seus próprios valores.

O comando a seguir cria um incidente de imagem:

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>\"
}'

Adicione amostras ao incidente

Use o comando a seguir para adicionar imagens de exemplo ao seu incidente. As amostras de imagem podem ser URLs que apontam para imagens num contêiner de armazenamento de blobs do Azure ou podem ser cadeias de caracteres 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\"
      }
    }
  ]
}'

Implantar o incidente

Utilize o comando a seguir para implantar o incidente, disponibilizando-o para análise de novo conteúdo.

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' 

Detectar incidentes de imagem

Use o comando a seguir para fazer upload de uma imagem de amostra e testá-la em relação ao incidente implantado. Você pode usar uma URL apontando para a imagem em um contêiner de armazenamento de blobs do Azure ou adicionar os dados da imagem como uma cadeia de caracteres 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>\"
    ]
  }
}'

Outras operações de incidentes

As operações a seguir são úteis para gerenciar incidentes e amostras de incidentes.

API de incidentes de texto

Liste todos os incidentes

curl --location GET 'https://<endpoint>/contentsafety/text/incidents?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'

Obtenha os detalhes do incidente

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>'

Excluir o incidente

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>'

Listar todas as amostras em um incidente

Esse comando recupera os IDs exclusivos de todas as amostras associadas a um determinado objeto de incidente.

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>'

Obtenha os detalhes de uma amostra de incidente

Use um ID de amostra de incidente para procurar detalhes sobre a amostra.

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>'

Excluir uma amostra de incidente

Use um ID de amostra de incidente para recuperar e excluir essa amostra.

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 de incidentes de imagem

Obtenha a lista de incidentes

curl --location GET 'https://<endpoint>/contentsafety/image/incidents?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'

Obtenha os detalhes do incidente

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>'

Excluir o incidente

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>'

Listar todas as amostras em um incidente

Esse comando recupera os IDs exclusivos de todas as amostras associadas a um determinado objeto de incidente.

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>'

Obtenha os detalhes da amostra do incidente

Use um ID de amostra de incidente para procurar detalhes sobre a amostra.

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>'

Excluir a amostra do incidente

Use um ID de amostra de incidente para recuperar e excluir essa amostra.

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>\"
  ]
}'