Partekatu honen bidez:


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:

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