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