Uso de la API de categorías personalizadas (rápidas) (versión preliminar)
La API de categorías personalizadas (rápidas) le permite responder rápidamente a incidentes de contenido perjudiciales emergentes. Puede definir un incidente con algunos ejemplos sobre un tema específico y el servicio comenzará a detectar contenido similar.
Siga estos pasos para definir un incidente con algunos ejemplos de contenido de texto y, a continuación, analizar contenido de texto nuevo para ver si coincide con el incidente.
Importante
Esta nueva característica solo está disponible en regiones de Azure seleccionadas. Consulte Disponibilidad de la región.
Precaución
Los datos de ejemplo de esta guía pueden incluir contenido ofensivo. Se recomienda al usuario seguir su criterio.
Requisitos previos
- Una suscripción a Azure: cree una cuenta gratuita.
- Una vez que tenga la suscripción de Azure, cree un recurso de Content Safety en Azure Portal para obtener la clave y el punto de conexión. Escriba un nombre único para el recurso, seleccione la suscripción y, después, un grupo de recursos, una región admitida (consulte Región de disponibilidad) y el plan de tarifa admitido. Seleccione Crear.
- El recurso tarda unos minutos en implementarse. Cuando termine, seleccione Ir al recurso. En el panel de la izquierda, en Administración de recursos, seleccione Clave y punto de conexión de la suscripción. El punto de conexión y cualquiera de las claves se usan para llamar a las API.
- Cree también un contenedor de Blob Storage si desea cargar las imágenes allí. También puede codificar las imágenes como cadenas Base64 y usarlas directamente en las llamadas API.
- Uno de los siguientes instalados:
- cURL para llamadas API de REST.
- Python 3.x instalado
Prueba de la API de categorías personalizadas de texto (rápida)
Use el código de ejemplo de esta sección para crear un incidente de texto, agregarle ejemplos, implementarlo y, a continuación, detectar otros incidentes de texto.
Creación de un objeto de incidente
En los comandos siguientes, reemplace <your_api_key>
, <your_endpoint>
y otros parámetros necesarios por sus propios valores.
El comando siguiente crea un incidente con un nombre y una definición.
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>\"}'
Adición de ejemplos al incidente
Use el siguiente comando para agregar ejemplos de texto al 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>\"},
...
]
}'
Implementación del incidente
Use el siguiente comando para implementar el incidente, lo que hará que esté disponible para el análisis de contenido nuevo.
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'
Detección de incidentes de texto
Ejecute el siguiente comando para analizar el contenido de texto de ejemplo del incidente que acaba de implementar.
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>\"
]
}'
Prueba de la API de categorías personalizadas de imagen (rápida)
Use el código de ejemplo de esta sección para crear un incidente de imagen, agregarle ejemplos, implementarlo y, a continuación, detectar otros incidentes de imagen.
Crear un incidente
En los comandos siguientes, reemplace <your_api_key>
, <your_endpoint>
y otros parámetros necesarios por sus propios valores.
El siguiente comando crea un incidente de imagen:
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>\"
}'
Adición de ejemplos al incidente
Use el siguiente comando para agregar ejemplos de imágenes al incidente. Los ejemplos de imágenes pueden ser direcciones URL que apuntan a imágenes en un contenedor de Azure Blob Storage o pueden ser cadenas 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\"
}
}
]
}'
Implementación del incidente
Use el siguiente comando para implementar el incidente, lo que hará que esté disponible para el análisis de contenido nuevo.
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'
Detección de incidentes de imagen
Use el comando siguiente para cargar una imagen de ejemplo y probarla en comparación con el incidente que implementó. Puede usar una dirección URL que apunte a la imagen en un contenedor de Azure Blob Storage o puede agregar los datos de imagen como una cadena 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>\"
]
}
}'
Otras operaciones de incidentes
Las siguientes operaciones son útiles para administrar incidentes y ejemplos de incidentes.
API de incidentes de texto
Enumeración de todos los incidentes
curl --location GET 'https://<endpoint>/contentsafety/text/incidents?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'
Obtención de los detalles del 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>'
Eliminar el 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>'
Enumeración de todos los ejemplos en un incidente
Este comando recupera los identificadores únicos de todos los ejemplos asociados a un objeto de incidente determinado.
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>'
Obtención de los detalles de un ejemplo de incidente
Use un identificador de ejemplo de incidente para buscar detalles sobre el ejemplo.
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>'
Eliminación de un ejemplo de incidente
Use un identificador de ejemplo de incidente para recuperar y eliminar ese ejemplo.
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 imagen
Obtención de la 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>'
Obtención de los detalles del 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>'
Eliminar el 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>'
Enumeración de todos los ejemplos en un incidente
Este comando recupera los identificadores únicos de todos los ejemplos asociados a un objeto de incidente determinado.
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>'
Obtención de los detalles del ejemplo de incidente
Use un identificador de ejemplo de incidente para buscar detalles sobre el ejemplo.
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>'
Eliminación del ejemplo de incidente
Use un identificador de ejemplo de incidente para recuperar y eliminar ese ejemplo.
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>\"
]
}'