Share via


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.

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 seleccione un grupo de recursos, una región admitida (Este de EE. UU. u Oeste de Europa) 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.

Se admiten formatos de imagen JPEG, PNG, GIF, BMP, TIFF o WEBP. El tamaño máximo de los envíos de imágenes es de 4 MB y las dimensiones de imagen deben estar entre 50 x 50 píxeles y 2048 x 2048 píxeles. Si su formato es animado, extraeremos el primer fotograma para realizar la detección.

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 Azure AI Content Safety y asigne el rol de Colaborador/propietario/lector de datos de Blob de almacenamiento a la identidad:

    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.

Análisis de contenido de imágenes

Pegue el comando siguiente en un editor de texto y realice los cambios siguientes.

  1. Sustituya la <endpoint> por la dirección URL del punto de conexión del recurso.
  2. Reemplace <your_subscription_key> por la clave.
  3. 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=2023-10-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 almacenamiento blob, el cuerpo de la solicitud tendrá este aspecto:

{
 "image": {
   "blobUrl": "<your_storage_url>"
 }
}

Abra una ventana del símbolo del sistema y ejecute el comando cURL.

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=2023-10-01. Ejemplo: <endpoint>/contentsafety/image:analyze?api-version=2023-10-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 2048 x 2048 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

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 seleccione un grupo de recursos, una región admitida (Este de EE. UU. u Oeste de Europa) 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.

Sugerencia

No incluya la clave directamente en el código ni la exponga nunca públicamente. Consulte el artículo de Seguridad de servicios de Azure AI para ver más opciones de autenticación, como Azure Key Vault.

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.

  1. Para establecer la variable de entorno CONTENT_SAFETY_KEY, reemplace YOUR_CONTENT_SAFETY_KEY por una de las claves del recurso.
  2. Para establecer la variable de entorno CONTENT_SAFETY_ENDPOINT, reemplace YOUR_CONTENT_SAFETY_ENDPOINT por el punto de conexión del recurso.
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 seleccione un grupo de recursos, una región admitida (Este de EE. UU. u Oeste de Europa) 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.

Creación de variables de entorno

En este ejemplo, escribirá las credenciales en variables de entorno del equipo local que ejecuta la aplicación.

Sugerencia

No incluya la clave directamente en el código ni la exponga nunca públicamente. Consulte el artículo de Seguridad de servicios de Azure AI para ver más opciones de autenticación, como Azure Key Vault.

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.

  1. Para establecer la variable de entorno CONTENT_SAFETY_KEY, reemplace YOUR_CONTENT_SAFETY_KEY por una de las claves del recurso.
  2. Para establecer la variable de entorno CONTENT_SAFETY_ENDPOINT, reemplace YOUR_CONTENT_SAFETY_ENDPOINT por el punto de conexión del recurso.
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.

  1. Abra un símbolo del sistema, vaya a la carpeta del proyecto y cree un archivo denominado quickstart.py.

  2. Ejecute este comando para instalar la biblioteca cliente de Azure AI Content Safety:

    python -m pip install azure-ai-contentsafety
    
  3. 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()
    
  4. Reemplace "sample_data" y "image.jpg" por la ruta de acceso y el nombre de archivo del local que desea usar.

  5. 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 seleccione un grupo de recursos, una región admitida (Este de EE. UU. u Oeste de Europa) 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.

Sugerencia

No incluya la clave directamente en el código ni la exponga nunca públicamente. Consulte el artículo de Seguridad de servicios de Azure AI para ver más opciones de autenticación, como Azure Key Vault.

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.

  1. Para establecer la variable de entorno CONTENT_SAFETY_KEY, reemplace YOUR_CONTENT_SAFETY_KEY por una de las claves del recurso.
  2. Para establecer la variable de entorno CONTENT_SAFETY_ENDPOINT, reemplace YOUR_CONTENT_SAFETY_ENDPOINT por el punto de conexión del recurso.
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 seleccione un grupo de recursos, una región admitida (Este de EE. UU. u Oeste de Europa) 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.

Sugerencia

No incluya la clave directamente en el código ni la exponga nunca públicamente. Consulte el artículo de Seguridad de servicios de Azure AI para ver más opciones de autenticación, como Azure Key Vault.

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.

  1. Para establecer la variable de entorno CONTENT_SAFETY_KEY, reemplace YOUR_CONTENT_SAFETY_KEY por una de las claves del recurso.
  2. Para establecer la variable de entorno CONTENT_SAFETY_ENDPOINT, reemplace YOUR_CONTENT_SAFETY_ENDPOINT por el punto de conexión del recurso.
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.

Pasos siguientes

Configure filtros para cada categoría y pruébelos en conjuntos de datos mediante Content Safety Studio, exporte el código e impleméntelo.