Partilhar via


Usar a API de categorias personalizadas (rápidas)

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

Siga estas 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. Consulte Disponibilidade da região.

Atenção

Os dados de exemplo neste guia podem conter conteúdo ofensivo. Aconselha-se a discrição do utilizador.

Pré-requisitos

  • Uma assinatura do Azure - Crie uma gratuitamente
  • Depois de ter sua assinatura do Azure, crie um recurso de Segurança de Conteúdo no portal do Azure para obter sua chave e ponto de extremidade. Introduza um nome exclusivo para o seu recurso, selecione a sua subscrição e selecione um grupo de recursos, uma região suportada (consulte Disponibilidade da região) e um escalão de preços suportado. Depois, selecione Criar.
    • O recurso leva alguns minutos para ser implantado. Depois que terminar, selecione ir para recurso. No painel esquerdo, em Gerenciamento de Recursos, selecione Chave de Assinatura e Ponto de Extremidade. O ponto de extremidade e qualquer uma das chaves são usados para chamar APIs.
  • Crie também um contêiner de armazenamento de blob se quiser carregar suas imagens lá. Como alternativa, você pode codificar suas imagens como cadeias de caracteres Base64 e usá-las diretamente nas chamadas de API.
  • Um dos seguintes instalados:

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

Use o código de exemplo nesta seção para criar um incidente de texto, adicionar exemplos ao incidente, implantar o incidente e detetar incidentes de texto.

Criar um objeto de incidente

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

O comando a seguir cria um incidente com um nome e uma 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>\"}'

Adicionar 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

Use o comando a seguir para implantar o incidente, disponibilizando-o para a 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' 

Detetar incidentes de texto

Execute o comando a seguir para analisar o conteúdo de texto de exemplo para o 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 de imagem (rápidas)

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

Criar um incidente

Nos comandos abaixo, substitua <your_api_key>, <your_endpoint>e outros parâmetros necessários pelos 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>\"
}'

Adicionar amostras ao incidente

Use o comando a seguir para adicionar imagens de exemplo ao seu incidente. Os exemplos de imagem podem ser URLs apontando para imagens em um contêiner de armazenamento de blob 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

Use o comando a seguir para implantar o incidente, disponibilizando-o para a 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' 

Detetar incidentes de imagem

Use o comando a seguir para carregar uma imagem de exemplo 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 blob do Azure ou pode 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 incidentes

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

API de incidentes de texto

Listar 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 sob um incidente

Este comando recupera as IDs exclusivas de todos os exemplos associados 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>'

Obter detalhes de uma amostra de incidente

Use um ID de amostra de incidente para procurar detalhes sobre o exemplo.

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 exemplo de incidente para recuperar e excluir esse exemplo.

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

Obter 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 sob um incidente

Este comando recupera as IDs exclusivas de todos os exemplos associados 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>'

Obter os detalhes da amostra de incidente

Use um ID de amostra de incidente para procurar detalhes sobre o exemplo.

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 de incidente

Use um ID de exemplo de incidente para recuperar e excluir esse exemplo.

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