Inicio rápido: análisis de contenido de imágenes
Empiece a trabajar con Content Studio, la API de REST o los SDK de cliente para realizar la moderación básica de imágenes. El servicio de Seguridad del contenido de Azure AI proporciona algoritmos de inteligencia artificial para marcar contenido censurable. Siga estos pasos para probarlo.
Para más información sobre la moderación de imágenes, consulte la página 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.
Nota:
Los datos y el código de ejemplo pueden contener contenido ofensivo. Se recomienda discreción al usuario.
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.
- cURL instalado
Análisis de contenido de imágenes
En la siguiente sección se explica un ejemplo de una solicitud de censura de imágenes 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.
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.
Habilite la identidad administrada para la instancia de Azure AI Content Safety.
Asigne el rol colaborador o propietario de datos de almacenamiento blob a la identidad administrada. Los roles resaltados a continuación deberían funcionar.
Análisis de contenido de imágenes
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>"}
.
curl --location --request POST '<endpoint>/contentsafety/image:analyze?api-version=2024-09-01' \
--header 'Ocp-Apim-Subscription-Key: <your_subscription_key>' \
--header 'Content-Type: application/json' \
--data-raw '{
"image": {
"content": "<base_64_string>"
},
"categories": ["Hate", "SelfHarm", "Sexual", "Violence"],
"outputType": "FourSeverityLevels"
}'
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-01 . Ejemplo: <endpoint>/contentsafety/image:analyze?api-version=2024-09-01 |
String |
Los parámetros del cuerpo de la solicitud se definen en esta tabla:
Nombre | ¿Necesario? | Descripción | Tipo |
---|---|---|---|
content | Obligatorio | El contenido o la dirección URL del blob 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. | String |
categories | Opcional | Se supone que es una matriz de nombres de categoría. 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. | String |
outputType | Opcionales | La API de moderación de imágenes solo admite "FourSeverityLevels" . Gravedades de salida en cuatro niveles. El valor puede ser 0,2,4,6 |
Cadena |
Abra una ventana del símbolo del sistema y ejecute el comando de cURL.
Output
Debería ver los resultados de la censura de imágenes mostrados 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 |
Documentación de referencia | Código fuente de la biblioteca | Paquete (NuGet) | Ejemplos
Requisitos previos
- Una suscripción a Azure: cree una cuenta gratuita.
- El IDE de Visual Studio con la carga de trabajo .NET de desarrollo de escritorio activada. O bien, si no planea usar el IDE de Visual Studio, necesita la versión actual de .NET Core.
- .NET Runtime instalado.
- 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.
Configurar la aplicación
Cree una aplicación de C#.
Abra Visual Studio y, en Comenzar, seleccione Crear un proyecto nuevo. Establezca los filtros de plantilla en C#/Todas las plataformas/Consola. Seleccione Aplicación de consola (aplicación de línea de comandos que se puede ejecutar en .NET en Windows, Linux y macOS) y elija Siguiente. Actualice el nombre del proyecto a ContentSafetyQuickstart y elija Siguiente. Seleccione .NET 6.0 o superior y elija Crear para crear el proyecto.
Instalación del SDK de cliente
Después de crear un proyecto, instale el SDK de cliente; para ello, haga clic con el botón derecho en la solución del proyecto en el Explorador de soluciones y seleccione Administrar paquetes NuGet. En el administrador de paquetes que se abre, seleccione Examinar y busque Azure.AI.ContentSafety
. Seleccione Instalar.
Creación de variables de entorno
En este ejemplo, escribirá las credenciales en variables de entorno del equipo local que ejecuta la aplicación.
Para establecer la variable de entorno para la clave y el punto de conexión, abra una ventana de consola y siga las instrucciones correspondientes a su sistema operativo y su entorno de desarrollo.
- Para establecer la variable de entorno
CONTENT_SAFETY_KEY
, reemplaceYOUR_CONTENT_SAFETY_KEY
por una de las claves del recurso. - Para establecer la variable de entorno
CONTENT_SAFETY_ENDPOINT
, reemplaceYOUR_CONTENT_SAFETY_ENDPOINT
por el punto de conexión del recurso.
Importante
Si usa una clave de API, almacénela de forma segura en otro lugar, como en Azure Key Vault. No incluya la clave de API directamente en el código ni la exponga nunca públicamente.
Para más información acerca de la seguridad de los servicios de AI, consulte Autenticación de solicitudes a los servicios de Azure AI.
setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'
Después de agregar las variables de entorno, puede que tenga que reiniciar todos los programas en ejecución que leerán la variable de entorno, incluida la ventana de consola.
Análisis de contenido de imágenes
En el directorio del proyecto, abra el archivo Program.cs que se creó anteriormente. Pegue el código siguiente.
using System;
using Azure.AI.ContentSafety;
namespace Azure.AI.ContentSafety.Dotnet.Sample
{
class ContentSafetySampleAnalyzeImage
{
public static void AnalyzeImage()
{
// retrieve the endpoint and key from the environment variables created earlier
string endpoint = Environment.GetEnvironmentVariable("CONTENT_SAFETY_ENDPOINT");
string key = Environment.GetEnvironmentVariable("CONTENT_SAFETY_KEY");
ContentSafetyClient client = new ContentSafetyClient(new Uri(endpoint), new AzureKeyCredential(key));
// Example: analyze image
string imagePath = @"sample_data\image.png";
ContentSafetyImageData image = new ContentSafetyImageData(BinaryData.FromBytes(File.ReadAllBytes(imagePath)));
var request = new AnalyzeImageOptions(image);
Response<AnalyzeImageResult> response;
try
{
response = client.AnalyzeImage(request);
}
catch (RequestFailedException ex)
{
Console.WriteLine("Analyze image failed.\nStatus code: {0}, Error code: {1}, Error message: {2}", ex.Status, ex.ErrorCode, ex.Message);
throw;
}
Console.WriteLine("Hate severity: {0}", response.Value.CategoriesAnalysis.FirstOrDefault(a => a.Category == ImageCategory.Hate)?.Severity ?? 0);
Console.WriteLine("SelfHarm severity: {0}", response.Value.CategoriesAnalysis.FirstOrDefault(a => a.Category == ImageCategory.SelfHarm)?.Severity ?? 0);
Console.WriteLine("Sexual severity: {0}", response.Value.CategoriesAnalysis.FirstOrDefault(a => a.Category == ImageCategory.Sexual)?.Severity ?? 0);
Console.WriteLine("Violence severity: {0}", response.Value.CategoriesAnalysis.FirstOrDefault(a => a.Category == ImageCategory.Violence)?.Severity ?? 0);
}
static void Main()
{
AnalyzeImage();
}
}
}
Cree una carpeta sample_data en el directorio del proyecto y agregue un archivo image.png en él.
Compile y ejecute la aplicación seleccionando Iniciar depuración en el menú Depurar de la parte superior de la ventana de IDE (o presione F5).
Documentación de referencia | Código fuente de la biblioteca | Paquete (PyPI) | Ejemplos |
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.
- Python 3.8 o versiones posteriores
- La instalación de Python debe incluir pip. Puede comprobar si tiene pip instalado mediante la ejecución de
pip --version
en la línea de comandos. Para obtener pip, instale la versión más reciente de Python.
- La instalación de Python debe incluir pip. Puede comprobar si tiene pip instalado mediante la ejecución de
Creación de variables de entorno
En este ejemplo, escribirá las credenciales en variables de entorno del equipo local que ejecuta la aplicación.
Para establecer la variable de entorno para la clave y el punto de conexión, abra una ventana de consola y siga las instrucciones correspondientes a su sistema operativo y su entorno de desarrollo.
- Para establecer la variable de entorno
CONTENT_SAFETY_KEY
, reemplaceYOUR_CONTENT_SAFETY_KEY
por una de las claves del recurso. - Para establecer la variable de entorno
CONTENT_SAFETY_ENDPOINT
, reemplaceYOUR_CONTENT_SAFETY_ENDPOINT
por el punto de conexión del recurso.
Importante
Si usa una clave de API, almacénela de forma segura en otro lugar, como en Azure Key Vault. No incluya la clave de API directamente en el código ni la exponga nunca públicamente.
Para más información acerca de la seguridad de los servicios de AI, consulte Autenticación de solicitudes a los servicios de Azure AI.
setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'
Después de agregar las variables de entorno, puede que tenga que reiniciar todos los programas en ejecución que leerán la variable de entorno, incluida la ventana de consola.
Análisis de contenido de imágenes
En la sección siguiente se muestra una solicitud de ejemplo con el SDK de Python.
Abra un símbolo del sistema, vaya a la carpeta del proyecto y cree un archivo denominado quickstart.py.
Ejecute este comando para instalar la biblioteca cliente de Azure AI Content Safety:
python -m pip install azure-ai-contentsafety
Copie en quickstart.py el código siguiente:
import os from azure.ai.contentsafety import ContentSafetyClient from azure.ai.contentsafety.models import AnalyzeImageOptions, ImageData, ImageCategory from azure.core.credentials import AzureKeyCredential from azure.core.exceptions import HttpResponseError def analyze_image(): endpoint = os.environ.get('CONTENT_SAFETY_ENDPOINT') key = os.environ.get('CONTENT_SAFETY_KEY') image_path = os.path.join("sample_data", "image.jpg") # Create an Azure AI Content Safety client client = ContentSafetyClient(endpoint, AzureKeyCredential(key)) # Build request with open(image_path, "rb") as file: request = AnalyzeImageOptions(image=ImageData(content=file.read())) # Analyze image try: response = client.analyze_image(request) except HttpResponseError as e: print("Analyze image failed.") if e.error: print(f"Error code: {e.error.code}") print(f"Error message: {e.error.message}") raise print(e) raise hate_result = next(item for item in response.categories_analysis if item.category == ImageCategory.HATE) self_harm_result = next(item for item in response.categories_analysis if item.category == ImageCategory.SELF_HARM) sexual_result = next(item for item in response.categories_analysis if item.category == ImageCategory.SEXUAL) violence_result = next(item for item in response.categories_analysis if item.category == ImageCategory.VIOLENCE) if hate_result: print(f"Hate severity: {hate_result.severity}") if self_harm_result: print(f"SelfHarm severity: {self_harm_result.severity}") if sexual_result: print(f"Sexual severity: {sexual_result.severity}") if violence_result: print(f"Violence severity: {violence_result.severity}") if __name__ == "__main__": analyze_image()
Reemplace
"sample_data"
y"image.jpg"
por la ruta de acceso y el nombre de archivo del local que desea usar.Luego ejecute la aplicación con el comando
python
en el archivo de inicio rápido.python quickstart.py
Documentación de referencia | Código fuente de la biblioteca | Artifact (Maven) | Ejemplos
Requisitos previos
- Una suscripción a Azure: cree una cuenta gratuita.
- La última versión de Java Development Kit (JDK)
- La herramienta de compilación de Gradle u otro administrador de dependencias.
- 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.
Configurar la aplicación
Cree un proyecto de Gradle.
En una ventana de la consola (como cmd, PowerShell o Bash), cree un directorio para la aplicación y vaya a él.
mkdir myapp && cd myapp
Ejecute el comando gradle init
desde el directorio de trabajo. Este comando creará archivos de compilación esenciales para Gradle, como build.gradle.kts, que se usa en tiempo de ejecución para crear y configurar la aplicación.
gradle init --type basic
Cuando se le solicite que elija un DSL, seleccione Kotlin.
En el directorio de trabajo, ejecute el siguiente comando para crear una carpeta de origen del proyecto:
mkdir -p src/main/java
Vaya a la nueva carpeta y cree un archivo llamado ContentSafetyQuickstart.java.
Cree también una carpeta src/resources
en la raíz del proyecto y agregue una imagen de ejemplo a ella.
Instalación del SDK de cliente
En este inicio rápido se usa el administrador de dependencias Gradle. Puede encontrar la biblioteca de cliente y la información de otros administradores de dependencias en el repositorio central de Maven.
Busque build.gradle.kts y ábralo con el IDE o el editor de texto que prefiera. A continuación, cópielo en la siguiente configuración de compilación. Esta configuración define el proyecto como una aplicación Java cuyo punto de entrada es la clase ContentSafetyQuickstart. Importa la biblioteca de Visión de Azure AI.
plugins {
java
application
}
application {
mainClass.set("ContentSafetyQuickstart")
}
repositories {
mavenCentral()
}
dependencies {
implementation(group = "com.azure", name = "azure-ai-contentsafety", version = "1.0.0")
}
Creación de variables de entorno
En este ejemplo, escribirá las credenciales en variables de entorno del equipo local que ejecuta la aplicación.
Para establecer la variable de entorno para la clave y el punto de conexión, abra una ventana de consola y siga las instrucciones correspondientes a su sistema operativo y su entorno de desarrollo.
- Para establecer la variable de entorno
CONTENT_SAFETY_KEY
, reemplaceYOUR_CONTENT_SAFETY_KEY
por una de las claves del recurso. - Para establecer la variable de entorno
CONTENT_SAFETY_ENDPOINT
, reemplaceYOUR_CONTENT_SAFETY_ENDPOINT
por el punto de conexión del recurso.
Importante
Si usa una clave de API, almacénela de forma segura en otro lugar, como en Azure Key Vault. No incluya la clave de API directamente en el código ni la exponga nunca públicamente.
Para más información acerca de la seguridad de los servicios de AI, consulte Autenticación de solicitudes a los servicios de Azure AI.
setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'
Después de agregar las variables de entorno, puede que tenga que reiniciar todos los programas en ejecución que leerán la variable de entorno, incluida la ventana de consola.
Análisis de contenido de imágenes
Abra ContentSafetyQuickstart.java en el editor o IDE que prefiera y pegue el código siguiente. Reemplace la variable source
por la ruta de acceso a la imagen de ejemplo.
import com.azure.ai.contentsafety.ContentSafetyClient;
import com.azure.ai.contentsafety.ContentSafetyClientBuilder;
import com.azure.ai.contentsafety.models.AnalyzeImageOptions;
import com.azure.ai.contentsafety.models.AnalyzeImageResult;
import com.azure.ai.contentsafety.models.ContentSafetyImageData;
import com.azure.ai.contentsafety.models.ImageCategoriesAnalysis;
import com.azure.core.credential.KeyCredential;
import com.azure.core.util.BinaryData;
import com.azure.core.util.Configuration;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
public class ContentSafetyQuickstart {
public static void main(String[] args) throws IOException {
// get endpoint and key from environment variables
String endpoint = System.getenv("CONTENT_SAFETY_ENDPOINT");
String key = System.getenv("CONTENT_SAFETY_KEY");
ContentSafetyClient contentSafetyClient = new ContentSafetyClientBuilder()
.credential(new KeyCredential(key))
.endpoint(endpoint).buildClient();
ContentSafetyImageData image = new ContentSafetyImageData();
String cwd = System.getProperty("user.dir");
String source = "/src/samples/resources/image.png";
image.setContent(BinaryData.fromBytes(Files.readAllBytes(Paths.get(cwd, source))));
AnalyzeImageResult response =
contentSafetyClient.analyzeImage(new AnalyzeImageOptions(image));
for (ImageCategoriesAnalysis result : response.getCategoriesAnalysis()) {
System.out.println(result.getCategory() + " severity: " + result.getSeverity());
}
}
}
Vuelva a la carpeta raíz del proyecto y compile la aplicación con:
gradle build
A continuación, ejecútela con el comando gradle run
:
gradle run
Salida
Hate severity: 0
SelfHarm severity: 0
Sexual severity: 0
Violence severity: 0
Documentación de referencia | Código fuente de la biblioteca | Paquete (npm) | Ejemplos |
Requisitos previos
- Una suscripción a Azure: cree una cuenta gratuita.
- La versión actual de Node.js
- 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.
Configurar la aplicación
Cree una nueva aplicación Node.js. En una ventana de la consola (como cmd, PowerShell o Bash), cree un directorio para la aplicación y vaya a él.
mkdir myapp && cd myapp
Ejecute el comando npm init
para crear una aplicación de nodo con un archivo package.json
.
npm init
Cree también una carpeta /resources
en la raíz del proyecto y agregue una imagen de ejemplo a ella.
Instalación del SDK de cliente
Instale el paquete npm @azure-rest/ai-content-safety
:
npm install @azure-rest/ai-content-safety
Instale también el módulo dotenv
para usar variables de entorno:
npm install dotenv
el archivo package.json
de la aplicación se actualizará con las dependencias.
Creación de variables de entorno
En este ejemplo, escribirá las credenciales en variables de entorno del equipo local que ejecuta la aplicación.
Para establecer la variable de entorno para la clave y el punto de conexión, abra una ventana de consola y siga las instrucciones correspondientes a su sistema operativo y su entorno de desarrollo.
- Para establecer la variable de entorno
CONTENT_SAFETY_KEY
, reemplaceYOUR_CONTENT_SAFETY_KEY
por una de las claves del recurso. - Para establecer la variable de entorno
CONTENT_SAFETY_ENDPOINT
, reemplaceYOUR_CONTENT_SAFETY_ENDPOINT
por el punto de conexión del recurso.
Importante
Si usa una clave de API, almacénela de forma segura en otro lugar, como en Azure Key Vault. No incluya la clave de API directamente en el código ni la exponga nunca públicamente.
Para más información acerca de la seguridad de los servicios de AI, consulte Autenticación de solicitudes a los servicios de Azure AI.
setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'
Después de agregar las variables de entorno, puede que tenga que reiniciar todos los programas en ejecución que leerán la variable de entorno, incluida la ventana de consola.
Análisis de contenido de imágenes
Cree un nuevo archivo en el directorio index.js. Ábralo en el editor o el IDE que prefiera y pegue el siguiente código. Reemplace la variable image_path
por la ruta de acceso a la imagen de ejemplo.
const ContentSafetyClient = require("@azure-rest/ai-content-safety").default,
{ isUnexpected } = require("@azure-rest/ai-content-safety");
const { AzureKeyCredential } = require("@azure/core-auth");
const fs = require("fs");
const path = require("path");
// Load the .env file if it exists
require("dotenv").config();
async function main() {
// get endpoint and key from environment variables
const endpoint = process.env["CONTENT_SAFETY_ENDPOINT"];
const key = process.env["CONTENT_SAFETY_KEY"];
const credential = new AzureKeyCredential(key);
const client = ContentSafetyClient(endpoint, credential);
// replace with your own sample image file path
const image_path = path.resolve(__dirname, "./resources/image.jpg");
const imageBuffer = fs.readFileSync(image_path);
const base64Image = imageBuffer.toString("base64");
const analyzeImageOption = { image: { content: base64Image } };
const analyzeImageParameters = { body: analyzeImageOption };
const result = await client.path("/image:analyze").post(analyzeImageParameters);
if (isUnexpected(result)) {
throw result;
}
for (let i = 0; i < result.body.categoriesAnalysis.length; i++) {
const imageCategoriesAnalysisOutput = result.body.categoriesAnalysis[i];
console.log(
imageCategoriesAnalysisOutput.category,
" severity: ",
imageCategoriesAnalysisOutput.severity
);
}
}
main().catch((err) => {
console.error("The sample encountered an error:", err);
});
Ejecute la aplicación con el comando node
en el archivo de inicio rápido.
node index.js
Output
Hate severity: 0
SelfHarm severity: 0
Sexual severity: 0
Violence severity: 0
Limpieza de recursos
Si quiere limpiar y eliminar una suscripción de servicios de Azure AI, puede eliminar el recurso o el grupo de recursos. Al eliminar el grupo de recursos, también se elimina cualquier otro recurso que esté asociado a él.
Contenido relacionado
- Categorías de daños
- Configure filtros para cada categoría y pruébelos en conjuntos de datos mediante Content Safety Studio, exporte el código e impleméntelo.