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:
- cURL para chamadas à API REST.
- Python 3.x 3.x instalado
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>\"
]
}'