Compartir vía


Inicio rápido: Categorías personalizadas (modo estándar) (versión preliminar)

Siga esta guía para usar la API de REST de categorías personalizadas de seguridad de contenido de Azure AI (estándar) para crear sus propias categorías de contenido para su caso de uso y entrenar la seguridad del contenido de Azure AI para detectarlos en contenido de texto nuevo.

Para obtener más información sobre las categorías personalizadas, consulte la Página de concepto categorías personalizadas. Para conocer los límites de entrada de la API, consulte la sección Requisitos de entrada de la Información general.

Importante

Esta característica solo está disponible en determinadas regiones de Azure. Consulte Disponibilidad de la región.

Importante

Dejar tiempo suficiente para el entrenamiento del modelo

La ejecución de un extremo a otro del entrenamiento de categorías personalizadas puede llevar entre cinco y diez horas. Planificar la canalización de moderación en consecuencia.

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 seleccione un grupo de recursos, región admitiday 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. Copiar el punto de conexión y cualquiera de los valores de clave en una ubicación temporal para su uso posterior.
  • Cree también un contenedor de Azure Blob Storage donde mantendrá el archivo de anotación de entrenamiento.
  • Uno de los siguientes instalados:

Preparar los datos de entrenamiento

Para entrenar una categoría personalizada, necesita datos de texto de ejemplo que representen la categoría que desea detectar. En esta guía, puede usar datos de ejemplo. El archivo de anotaciones proporcionado contiene indicaciones de texto sobre consejos de supervivencia en situaciones de acampada o en la naturaleza. El modelo entrenado aprenderá a detectar este tipo de contenido en nuevos datos de texto.

Sugerencia

Para obtener sugerencias sobre cómo crear su propio conjunto de datos, consulte la Guía paso a paso.

  1. Descargue el archivo de datos de texto de ejemplo del repositorio de GitHub.
  2. Cargue el archivo .jsonl en el contenedor de blobs de la cuenta de Azure Storage. A continuación, copie la dirección URL del blob en una ubicación temporal para su uso posterior.

Importante

La cuenta de almacenamiento del usuario se configura como una cuenta de espacio de nombres jerárquico, que no es compatible con categorías personalizadas. Intente usar una cuenta de almacenamiento normal en su lugar. Por ejemplo, la dirección URL del blob no se puede dividir en dos capas, como example/example1/, y solo debe tener una capa. Para más información, consulte la documentación: Espacio de nombres jerárquico de Azure Data Lake Storage: Azure Storage.

Conceder acceso de almacenamiento

A continuación, debe conceder acceso a los recursos de Content Safety para leer desde el recurso de Azure Storage. Habilite la identidad administrada asignada por el sistema para la instancia de Seguridad del contenido de Azure AI y asigne el rol de Colaborador/propietario de datos de Storage Blob a la identidad:

Importante

Los roles Colaborador de datos de Storage Blob o Propietario de datos de Storage Blob son los únicos que permitirán continuar.

  1. Habilite la identidad administrada para la instancia de Azure AI Content Safety.

    Captura de pantalla del Azure Portal que habilita la identidad administrada.

  2. Asigne el rol colaborador o propietario de datos de almacenamiento blob a la identidad administrada. Los roles resaltados a continuación deberían funcionar.

    Captura de pantalla de la página Agregar asignación de roles en Azure Portal.

    Captura de pantalla de los roles asignados en el Azure Portal.

    Captura de pantalla de la función de identidad administrada.

Cree y entrene una categoría personalizada

En el comando siguiente, reemplace <your_api_key>, <your_endpoint> y otros parámetros necesarios por sus propios valores. A continuación, escriba cada comando en una ventana de terminal y ejecútelo.

Crear una nueva versión de categoría

curl -X PUT "<your_endpoint>/contentsafety/text/categories/<your_category_name>?api-version=2024-09-15-preview" \
     -H "Ocp-Apim-Subscription-Key: <your_api_key>" \
     -H "Content-Type: application/json" \
     -d "{
            \"categoryName\": \"survival-advice\",
            \"definition\": \"text prompts about survival advice in camping/wilderness situations\",
            \"sampleBlobUrl\": \"https://<your-azure-storage-url>/example-container/survival-advice.jsonl\"
        }"

Sugerencia

Cada vez que cambie el nombre de categoría, la definición o los ejemplos, se creará una nueva versión. Puede usar el número de versión para realizar el seguimiento hasta las versiones anteriores. Recuerde este número de versión, ya que será necesario en la dirección URL de las categorías personalizadas de entrenamiento - paso siguiente.

Solicitud API

Campo Descripción Valor de ejemplo
categoryName Nombre de la categoría o tema al que se relaciona la solicitud. consejos de supervivencia
definition Una breve descripción del tipo de contenido de la categoría. texto acerca de consejos de supervivencia en situaciones de acampada o en la naturaleza
sampleBlobUrl Dirección URL para acceder a un archivo JSONL de muestra que contiene ejemplos de datos para la categoría. Vínculo

Respuesta de la API

Campo Descripción Valor de ejemplo
categoryName Nombre de la categoría o tema al que se relaciona la respuesta. consejos de supervivencia
definition Una breve descripción del tipo de contenido de la categoría. texto acerca de consejos de supervivencia en situaciones de acampada o en la naturaleza
sampleBlobUrl Dirección URL para acceder a un archivo JSONL de muestra que contiene ejemplos de datos para la categoría. Vínculo
sampleBlobSnapshotUrl Dirección URL de instantánea del archivo JSONL de muestra, que proporciona acceso a una versión específica de los datos. Dirección URL de instantánea
version Número de versión de los datos de categoría. 1
createdTime Marca de tiempo cuando se crearon los datos de categoría. 2024-10-28T22:06:59.4626988Z
status Estado actual del procesamiento de datos de categoría. Correcto

Iniciar el proceso de compilación de categoría:

Reemplace <your_api_key> y <your_endpoint> por sus propios valores y, además, anexe el número de versión en la dirección URL que obtuvo del último paso. Dejar tiempo suficiente para el entrenamiento del modelo: la ejecución de un extremo a otro del entrenamiento de categorías personalizadas puede llevar entre cinco y diez horas. Planificar la canalización de moderación en consecuencia. Después de recibir la respuesta, almacene el id. de operación (denominado id) en una ubicación temporal. Este id. será necesario para recuperar el estado de compilación mediante la API Obtener estado en la sección siguiente.

curl -X POST "<your_endpoint>/contentsafety/text/categories/survival-advice:build?api-version=2024-09-15-preview&version={version}" \
     -H "Ocp-Apim-Subscription-Key: <your_api_key>" \
     -H "Content-Type: application/json"

Respuesta de la API

Campo Descripción Valor de ejemplo
operation id Identificador único para recuperar el estado de compilación b6c69dc1-2338-484e-85a5b-xxxxxxxxxxxx
status Estado actual de la solicitud Correcto

Obtener el estado de compilación de la categoría:

Para recuperar el estado, use el id obtenido de la respuesta anterior de la API y colóquelo en la ruta de acceso de la API siguiente.

curl -X GET "<your_endpoint>/contentsafety/text/categories/operations/<id>?api-version=2024-09-15-preview" \
     -H "Ocp-Apim-Subscription-Key: <your_api_key>" \
     -H "Content-Type: application/json"

Respuesta de la API

Campo Descripción Valor de ejemplo
operation id Identificador único para recuperar el estado de compilación b6c69dc1-2338-484e-855b-xxxxxxxxxxxx
status Estado actual de la solicitud Correcto

Analizar texto con una categoría personalizada

Ejecute el siguiente comando para analizar el texto con la categoría personalizada. Reemplace <your_api_key> y <your_endpoint> con sus propios valores.

curl -X POST "<your_endpoint>/contentsafety/text:analyzeCustomCategory?api-version=2024-09-15-preview" \
     -H "Ocp-Apim-Subscription-Key: <your_api_key>" \
     -H "Content-Type: application/json" \
     -d "{
            \"text\": \"<Example text to analyze>\",
            \"categoryName\": \"survival-advice\", 
            \"version\": 1
        }"

Solicitud API

Campo Descripción
text Contenido de texto o mensaje destinado a la detección de categorías
categoryName Nombre de la categoría en la que se va a detectar el texto
version Número de versión de la categoría

Respuesta de la API

Campo Descripción Valor de ejemplo
customCategoryAnalysis Objeto que contiene el resultado de análisis de la categoría.
detected Indica si se detectó la categoría especificada. false

Otras operaciones de categorías personalizadas

Recuerde reemplazar los marcadores de posición siguientes por los valores reales de la clave de API, el punto de conexión y el contenido específico (nombre de categoría, definición, etc.). Estos ejemplos le ayudan a administrar las categorías personalizadas de su cuenta.

Obtener una categoría personalizada o una versión específica de ella

Reemplazar los marcadores de posición por sus propios valores y ejecutar el siguiente comando en una ventana de terminal:

curl -X GET "<endpoint>/contentsafety/text/categories/<your_category_name>?api-version=2024-09-15-preview&version=1" \
     -H "Ocp-Apim-Subscription-Key: <your_api_key>" \
     -H "Content-Type: application/json"

Enumerar categorías de sus versiones más recientes

Reemplazar los marcadores de posición por sus propios valores y ejecutar el siguiente comando en una ventana de terminal:

curl -X GET "<endpoint>/contentsafety/text/categories?api-version=2024-09-15-preview" \
     -H "Ocp-Apim-Subscription-Key: <your_api_key>" \
     -H "Content-Type: application/json"

Eliminar una categoría personalizada o una versión específica de ella

Reemplazar los marcadores de posición por sus propios valores y ejecutar el siguiente comando en una ventana de terminal:

curl -X DELETE "<endpoint>/contentsafety/text/categories/<your_category_name>?api-version=2024-09-15-preview&version=1" \
     -H "Ocp-Apim-Subscription-Key: <your_api_key>" \
     -H "Content-Type: application/json"