Inicio rápido: Analizar contenidos multimodales (vista previa)
La API bidireccional analiza materiales con contenido tanto de imagen como de texto para ayudar a que las aplicaciones y los servicios sean más seguros frente a contenido generado por el usuario o generado por IA dañinos. Analizar una imagen y su contenido de texto asociado juntos pueden conservar el contexto y proporcionar una comprensión más completa del contenido.
Para obtener más información sobre cómo se filtra el contenido, consulte la Página del concepto de categorías de daños. 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.
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.
- Uno de los siguientes instalados:
- cURL para llamadas API de REST.
- Python 3.x instalado
Análisis de imágenes con texto
La próxima sección muestra un ejemplo de solicitud de moderación multimodal con cURL.
Preparación de una imagen de muestra
Elija una imagen de muestra para analizarla y descargarla en el dispositivo.
Consulte Requisitos de entrada para conocer las limitaciones de la imagen. Si el formato está animado, el servicio extraerá el primer fotograma para realizar el análisis.
Puede escribir la imagen mediante uno de estos dos métodos: secuencia de archivos local o dirección URL de almacenamiento blob.
- Secuencia de archivos local (recomendada): codifique la imagen en base64. Puede usar un sitio web como codebeautify para realizar la codificación. A continuación, guarde la cadena codificada en una ubicación temporal.
- Dirección URL de almacenamiento blob: cargue la imagen en una cuenta de Azure Blob Storage. Siga el inicio rápido de almacenamiento blob para aprender a hacerlo. A continuación, abra el Explorador de Azure Storage y obtenga la dirección URL de la imagen. Guárdela en una ubicación temporal.
Análisis de imágenes con texto
Pegue el comando siguiente en un editor de texto y realice los cambios siguientes.
- Reemplace
<endpoint>
por la dirección URL del punto de conexión del recurso. - Reemplace
<your_subscription_key>
por la clave. - Rellene el campo
"image"
en el cuerpo con un campo"content"
o un campo"blobUrl"
. Por ejemplo:{"image": {"content": "<base_64_string>"}
o{"image": {"blobUrl": "<your_storage_url>"}
. - Opcionalmente, puede sustituir el valor de
"text"
por el texto que le gustaría analizar.
curl --location '<endpoint>/contentsafety/imageWithText:analyze?api-version=2024-09-15-preview ' \
--header 'Ocp-Apim-Subscription-Key: <your_subscription_key>' \
--header 'Content-Type: application/json' \
--data '{
"image": {
"content": "<base_64_string>"
},
"categories": ["Hate","Sexual","Violence","SelfHarm"],
"enableOcr": true,
"text": "I want to kill you"
}'
Nota:
Si usa una dirección URL de Blob Storage, el cuerpo de la solicitud debe tener este aspecto:
{
"image": {
"blobUrl": "<your_storage_url>"
}
}
Los campos siguientes deben incluirse en la dirección URL:
Nombre | ¿Necesario? | Descripción | Tipo |
---|---|---|---|
Versión de la API | Obligatorio | Esta es la versión de la API que se va a comprobar. La versión actual es: api-version=2024-09-15 . Ejemplo: <endpoint>/contentsafety/imageWithText:analyze?api-version=2024-09-15 |
String |
Los parámetros del cuerpo de la solicitud se definen en esta tabla:
Nombre | Description | Tipo |
---|---|---|
contenido o blobUrl | (Obligatorio) El contenido o blob URL de la imagen. Puedo ser bytes codificados en base64 o una dirección URL de blob. Si se proporcionan ambos, se rechaza la solicitud. El tamaño máximo permitido de la imagen es de 7200 x 7200 píxeles y el tamaño máximo de archivo es de 4 MB. El tamaño mínimo de la imagen es de 50 x 50 píxeles. | Cadena |
text | (Opcional) Texto adjunto a la imagen. Admitimos un máximo de 1000 caracteres (puntos de código Unicode) en una solicitud de texto. | Cadena |
enableOcr | (Obligatorio) Si se establece en true, el servicio realizará el OCR y analizará el texto detectado con la imagen de entrada al mismo tiempo. Reconoceremos como mucho 1000 caracteres (puntos de código Unicode) de la imagen de entrada. Los demás quedarán truncados. | Booleano |
categories | (Opcional) Se supone que se trata de una matriz de nombres de categorías. Para obtener una lista de los nombres de categoría disponibles. consulte la guía de categorías de daños. Si no se especifica ninguna categoría, se usan las cuatro. Usamos varias categorías para obtener puntuaciones en una sola solicitud. | Enum |
Abra una ventana del símbolo del sistema y ejecute el comando de cURL.
Output
Debería ver los resultados de la modificación de imágenes y texto como datos JSON en la consola. Por ejemplo:
{
"categoriesAnalysis": [
{
"category": "Hate",
"severity": 2
},
{
"category": "SelfHarm",
"severity": 0
},
{
"category": "Sexual",
"severity": 0
},
{
"category": "Violence",
"severity": 0
}
]
}
Los campos JSON de la salida se definen aquí:
Nombre | Description | Tipo |
---|---|---|
categoriesAnalysis | Cada clase de salida que predice la API. La clasificación puede tener varias etiquetas. Por ejemplo, cuando se carga una imagen en el modelo de moderación de imágenes, podría clasificarse como contenido sexual y violencia. Categorías de daños | String |
Gravedad | Nivel de gravedad de la marca en cada categoría de daño. Categorías de daños | Entero |