Partager via


Démarrage rapide : Analyser le contenu d’une image

Commencez à utiliser Content Studio, l’API REST ou les SDK client pour effectuer une modération d’image de base. Le service Azure AI Sécurité du Contenu vous fournit des algorithmes d’IA pour signaler le contenu répréhensible. Suivez ces étapes pour le tester.

Pour plus d’informations sur la modération de l’image, consultez la page concept des catégories Harm. Pour connaître les limites d’entrée d’API, consultez la section Configuration requise pour les entrées de la vue d’ensemble.

Remarque

Les exemples de données et de code peuvent présenter du contenu choquant. Ils s’adressent à des utilisateurs avertis.

Prérequis

  • Un abonnement Azure - En créer un gratuitement
  • Une fois que vous avez votre abonnement Azure, créez une ressource Content Safety dans le portail Azure pour obtenir votre clé et votre point de terminaison. Entrez un nom unique pour votre ressource, sélectionnez votre abonnement, puis sélectionnez un groupe de ressources, une région prise en charge (voir disponibilité région) et le niveau tarifaire pris en charge. Sélectionnez ensuite Créer.
    • Le déploiement de la ressource prend quelques minutes. Une fois qu’il est terminé, sélectionnez Accéder à la ressource. Dans le volet gauche, sous Gestion des ressources, sélectionnez Clé et point de terminaison de l’abonnement. Le point de terminaison et l’une des clés sont utilisés pour appeler les API.
  • Installation de cURL

Analyser le contenu d’une image

La section suivante décrit en détail un exemple de requête de modération d’image avec cURL.

Préparez un exemple d’image

Choisissez un exemple d’image à analyser et téléchargez-le sur votre appareil.

Consultez les Exigences d’entrée pour les limitations de l’image. Si votre format est animé, le service extrait le premier frame pour effectuer l’analyse.

Vous pouvez entrer votre image par l’une des deux méthodes suivantes : flux de fichiers local ou URL de stockage d’objets blob.

  • Flux de fichiers local (recommandé) : encodezvotre image en base64. Vous pouvez utiliser un site web comme codebeautify pour effectuer l’encodage. Enregistrez ensuite la chaîne encodée dans un emplacement temporaire.

  • URL de stockage d’objets blob : chargez votre image sur un compte Stockage Blob Azure. Suivez le démarrage rapide stockage d’objets blob pour savoir comment procéder. Ouvrez ensuite Explorateur Stockage Azure et obtenez l’URL de votre image. Enregistrez-la dans un emplacement temporaire.

    Ensuite, vous devez accorder à votre ressource Content Safety l’accès à la lecture à partir de la ressource Stockage Azure. Activez l’identité managée affectée par le système pour l’instance Azure AI Sécurité du Contenu et attribuez le rôle de contributeur/propriétaire des données Blob du stockage à l’identité :

    Important

    Les rôles Contributeur des données Blob du stockage et Propriétaire des données Blob du stockage sont les seuls rôles valides pour continuer.

    1. Activez une identité managée pour l’instance Azure AI Content Safety.

      Capture d’écran montrant l’activation d’une identité managée.

    2. Attribuez le rôle Contributeur/Propriétaire de données Blob de stockage à l’identité managée. Tous les rôles mis en évidence ci-dessous doivent fonctionner.

      Capture d’écran de la page Ajouter une attribution de rôle sur le portail Azure.

      Capture d’écran des rôles assignés dans le portail Azure.

      Capture d’écran montrant le rôle de l’identité managée.

Analyser le contenu d’une image

Collez la commande ci-dessous dans un éditeur de texte et apportez les modifications suivantes.

  1. Remplacez <endpoint> par l’URL de votre point de terminaison de ressource.
  2. Remplacez <your_subscription_key> par votre clé.
  3. Renseignez le champ "image" dans le corps avec un champ "content" ou un champ "blobUrl". Par exemple, {"image": {"content": "<base_64_string>"} ou {"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"
}'

Remarque

Si vous utilisez une URL de stockage blob, le corps de la demande se présente comme suit:

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

Les champs ci-dessous doivent être inclus dans l’URL :

Nom Requis ? Description Type
API Version Obligatoire Il s’agit de la version de l’API à vérifier. La version actuelle est : api-version=2024-09-01. Exemple : <endpoint>/contentsafety/image:analyze?api-version=2024-09-01 String

Les paramètres dans le corps de la requête sont définis dans ce tableau :

Nom Requis ? Description Type
content Requis URL du contenu ou de l’objet blob de l’image. Je peux être des octets encodés en base64 ou une URL d’objet blob. Si les deux sont donnés, la requête est refusée. La taille maximale autorisée de l’image est de 7 200 x 7 200 pixels, et la taille maximale du fichier est de 4 Mo. La taille minimale de l’image est de 50 x 50 pixels. String
categories Facultatif C’est supposé être un tableau de noms de catégorie. Consultez le guide des catégories préjudiciables pour obtenir la liste des noms de catégorie disponibles. Si aucune catégorie n’est spécifiée, les quatre catégories sont utilisées. Nous utilisons plusieurs catégories pour obtenir des scores dans une seule requête. String
outputType Facultatif L’API de modération d’image prend uniquement en charge "FourSeverityLevels". Gravités de sortie dans quatre niveaux. La valeur peut être 0,2,4,6 Chaîne

Ouvrez une fenêtre d’invite de commandes et exécutez la commande cURL.

Sortie

Les résultats de la modération des images doivent s’afficher sous la forme de données JSON dans la console. Par exemple :

{
  "categoriesAnalysis": [
    {
      "category": "Hate",
      "severity": 2
    },
    {
      "category": "SelfHarm",
      "severity": 0
    },
    {
      "category": "Sexual",
      "severity": 0
    },
    {
      "category": "Violence",
      "severity": 0
    }
  ]
}

Les champs JSON dans la sortie sont définis ici :

Nom Description Type
categoriesAnalysis Chaque classe de sortie prédite par l’API. La classification peut avoir plusieurs intitulés. Par exemple, lorsqu’une image est chargée dans le modèle de modération de l’image, elle peut être classifiée à la fois comme contenu sexuel et comme violence. Catégories préjudiciables String
Niveau de gravité Niveau de gravité de l’indicateur dans chaque catégorie de préjudice. Catégories préjudiciables Entier

Documentation de référence | Code source de la bibliothèque | Package (NuGet) | Exemples

Prérequis

  • Un abonnement Azure - En créer un gratuitement
  • L’IDE Visual Studio avec la charge de travail Développement de bureau .NET activée. Ou, si vous n’envisagez pas d’utiliser l’IDE Visual Studio, vous avez besoin de la version actuelle de .NET Core.
  • .NET Runtime installé.
  • Une fois que vous avez votre abonnement Azure, créez une ressource Content Safety dans le portail Azure pour obtenir votre clé et votre point de terminaison. Entrez un nom unique pour votre ressource, sélectionnez votre abonnement, puis sélectionnez un groupe de ressources, une région prise en charge (voir disponibilité région) et le niveau tarifaire pris en charge. Sélectionnez ensuite Créer.
    • Le déploiement de la ressource prend quelques minutes. Une fois qu’il est terminé, sélectionnez Accéder à la ressource. Dans le volet gauche, sous Gestion des ressources, sélectionnez Clé et point de terminaison de l’abonnement. Le point de terminaison et l’une des clés sont utilisés pour appeler les API.

Configurer l’application

Créez une application C#.

Ouvrez Visual Studio et, dans Démarrage, sélectionnez Créer un projet. Définissez les filtres de modèle sur C#/Toutes les plateformes/console. Sélectionnez Application console (application en ligne de commande qui peut s’exécuter sur .NET sur Windows, Linux et macOS), puis choisissez Suivant. Mettez à jour le nom du projet sur ContentSafetyQuickstart et choisissez Suivant. Sélectionnez .NET 6.0 ou version ultérieure, puis choisissez Créer pour créer le projet.

Installer le client du Kit de développement logiciel (SDK)

Une fois que vous avez créé un projet, installez le SDK de client en cliquant avec le bouton droit sur la solution de projet dans l’Explorateur de solutions et en sélectionnant Gérer les packages NuGet. Dans le gestionnaire de package qui s’ouvre, sélectionnez Parcourir et recherchez Azure.AI.ContentSafety. Sélectionnez Installer.

Créer des variables d’environnement

Dans cet exemple, vous allez écrire vos informations d’identification dans des variables d’environnement sur l’ordinateur local exécutant l’application.

Pour définir la variable d’environnement de votre clé et point de terminaison, ouvrez une fenêtre de console et suivez les instructions relatives à votre système d’exploitation et à votre environnement de développement.

  • Pour définir la variable d’environnement CONTENT_SAFETY_KEY, remplacez YOUR_CONTENT_SAFETY_KEY par l’une des clés de votre ressource.
  • Pour définir la CONTENT_SAFETY_ENDPOINTvariable d’environnement, remplacez YOUR_CONTENT_SAFETY_ENDPOINT par le point de terminaison de votre ressource.

Important

Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.

Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les demandes auprès d’Azure AI services.

setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'

Après avoir ajouté les variables d'environnement, il se put que vous deviez redémarrer tous les programmes en cours d'exécution qui liront les variables d'environnement, y compris la fenêtre de console.

Analyser le contenu d’une image

Dans le répertoire du projet, ouvrez le fichier Program.cs créé précédemment. Collez le code suivant.

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();
    }
  }
}

Créez un dossier sample_data dans votre répertoire de projet et ajoutez-y un fichier image.png.

Générez et exécutez l’application en sélectionnant Démarrer le débogage dans le menu Déboguer en haut de la fenêtre IDE (ou appuyez sur F5).

Documentation de référence | Code source de la bibliothèque | Package (PyPI) | Exemples |

Prérequis

  • Un abonnement Azure - En créer un gratuitement
  • Une fois que vous avez votre abonnement Azure, créez une ressource Content Safety dans le portail Azure pour obtenir votre clé et votre point de terminaison. Entrez un nom unique pour votre ressource, sélectionnez votre abonnement, puis sélectionnez un groupe de ressources, une région prise en charge (voir disponibilité région) et le niveau tarifaire pris en charge. Sélectionnez ensuite Créer.
    • Le déploiement de la ressource prend quelques minutes. Une fois qu’il est terminé, sélectionnez Accéder à la ressource. Dans le volet gauche, sous Gestion des ressources, sélectionnez Clé et point de terminaison de l’abonnement. Le point de terminaison et l’une des clés sont utilisés pour appeler les API.
  • Python 3.8 ou version ultérieure
    • Votre installation Python doit inclure pip. Vous pouvez vérifier si pip est installé en exécutant pip --version sur la ligne de commande. Procurez-vous pip en installant la dernière version de Python.

Créer des variables d’environnement

Dans cet exemple, vous allez écrire vos informations d’identification dans des variables d’environnement sur l’ordinateur local exécutant l’application.

Pour définir la variable d’environnement de votre clé et point de terminaison, ouvrez une fenêtre de console et suivez les instructions relatives à votre système d’exploitation et à votre environnement de développement.

  • Pour définir la variable d’environnement CONTENT_SAFETY_KEY, remplacez YOUR_CONTENT_SAFETY_KEY par l’une des clés de votre ressource.
  • Pour définir la CONTENT_SAFETY_ENDPOINTvariable d’environnement, remplacez YOUR_CONTENT_SAFETY_ENDPOINT par le point de terminaison de votre ressource.

Important

Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.

Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les demandes auprès d’Azure AI services.

setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'

Après avoir ajouté les variables d'environnement, il se put que vous deviez redémarrer tous les programmes en cours d'exécution qui liront les variables d'environnement, y compris la fenêtre de console.

Analyser le contenu d’une image

La section suivante décrit en détail un exemple de requête avec le SDK Python.

  1. Ouvrez une invite de commandes, accédez à votre dossier de projet et créez un fichier nommé quickstart.py.

  2. Exécutez cette commande pour installer la bibliothèque de client Azure AI Content Safety :

    python -m pip install azure-ai-contentsafety
    
  3. Copiez le code ci-après dans quickstart.py :

    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. Remplacez "sample_data" et "image.jpg" par le chemin d’accès et le nom du fichier local que vous souhaitez utiliser.

  5. Exécutez ensuite l’application avec la commande python de votre fichier de démarrage rapide.

    python quickstart.py
    

Documentation de référence | Code source de la bibliothèque | Artefact (Maven) | Exemples

Prérequis

  • Un abonnement Azure - En créer un gratuitement
  • La version actuelle du JDK (Java Development Kit)
  • L’outil de génération Gradle ou un autre gestionnaire de dépendances.
  • Une fois que vous avez votre abonnement Azure, créez une ressource Content Safety dans le portail Azure pour obtenir votre clé et votre point de terminaison. Entrez un nom unique pour votre ressource, sélectionnez votre abonnement, puis sélectionnez un groupe de ressources, une région prise en charge (voir disponibilité région) et le niveau tarifaire pris en charge. Sélectionnez ensuite Créer.
    • Le déploiement de la ressource prend quelques minutes. Une fois qu’il est terminé, sélectionnez Accéder à la ressource. Dans le volet gauche, sous Gestion des ressources, sélectionnez Clé et point de terminaison de l’abonnement. Le point de terminaison et l’une des clés sont utilisés pour appeler les API.

Configurer l’application

Créez un projet Gradle.

Dans une fenêtre de console (telle que cmd, PowerShell ou bash), créez un répertoire pour votre application et accédez-y.

mkdir myapp && cd myapp

Exécutez la commande gradle init à partir de votre répertoire de travail. Cette commande crée des fichiers de build essentiels pour Gradle, notamment build.gradle.kts, qui est utilisé au moment de l’exécution pour créer et configurer votre application.

gradle init --type basic

Quand vous êtes invité à choisir un DSL, sélectionnez Kotlin.

Dans votre répertoire de travail, exécutez la commande suivante pour créer un dossier de projet source :

mkdir -p src/main/java

Accédez au nouveau dossier et créez un fichier nommé ContentSafetyQuickstart.java.

Créez également un dossier src/resources à la racine de votre projet et ajoutez-y un exemple d’image.

Installer le client du Kit de développement logiciel (SDK)

Ce guide de démarrage rapide utilise le gestionnaire de dépendances Gradle. Vous trouverez la bibliothèque de client et des informations concernant d’autres gestionnaires de dépendances sur le référentiel central Maven.

Recherchez build.gradle.kts et ouvrez-le avec votre IDE ou votre éditeur de texte habituel. Copiez-y ensuite la configuration de build suivante. Cette configuration définit le projet en tant qu’application Java dont le point d’entrée est la classe ContentSafetyQuickstart. Cela importe la bibliothèque Azure AI Vision.

plugins {
    java
    application
}
application { 
    mainClass.set("ContentSafetyQuickstart")
}
repositories {
    mavenCentral()
}
dependencies {
    implementation(group = "com.azure", name = "azure-ai-contentsafety", version = "1.0.0")
}

Créer des variables d’environnement

Dans cet exemple, vous allez écrire vos informations d’identification dans des variables d’environnement sur l’ordinateur local exécutant l’application.

Pour définir la variable d’environnement de votre clé et point de terminaison, ouvrez une fenêtre de console et suivez les instructions relatives à votre système d’exploitation et à votre environnement de développement.

  • Pour définir la variable d’environnement CONTENT_SAFETY_KEY, remplacez YOUR_CONTENT_SAFETY_KEY par l’une des clés de votre ressource.
  • Pour définir la CONTENT_SAFETY_ENDPOINTvariable d’environnement, remplacez YOUR_CONTENT_SAFETY_ENDPOINT par le point de terminaison de votre ressource.

Important

Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.

Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les demandes auprès d’Azure AI services.

setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'

Après avoir ajouté les variables d'environnement, il se put que vous deviez redémarrer tous les programmes en cours d'exécution qui liront les variables d'environnement, y compris la fenêtre de console.

Analyser le contenu d’une image

Ouvrez OpenSafetyQuickstart.java dans votre éditeur ou IDE préféré, puis collez le code suivant. Remplacez la variable source par le chemin d’accès à votre exemple d’image.

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());
        }
    }
}

Revenez au dossier racine du projet et générez l’application avec :

gradle build

Ensuite, exécutez-la avec la commande gradle run :

gradle run

Sortie

Hate severity: 0
SelfHarm severity: 0
Sexual severity: 0
Violence severity: 0

Documentation de référence | Code source de la bibliothèque | Package (npm) | Exemples |

Prérequis

  • Un abonnement Azure - En créer un gratuitement
  • Version actuelle de Node.js
  • Une fois que vous avez votre abonnement Azure, créez une ressource Content Safety dans le portail Azure pour obtenir votre clé et votre point de terminaison. Entrez un nom unique pour votre ressource, sélectionnez votre abonnement, puis sélectionnez un groupe de ressources, une région prise en charge (voir disponibilité région) et le niveau tarifaire pris en charge. Sélectionnez ensuite Créer.
    • Le déploiement de la ressource prend quelques minutes. Une fois qu’il est terminé, sélectionnez Accéder à la ressource. Dans le volet gauche, sous Gestion des ressources, sélectionnez Clé et point de terminaison de l’abonnement. Le point de terminaison et l’une des clés sont utilisés pour appeler les API.

Configurer l’application

Créez une application Node.js. Dans une fenêtre de console (telle que cmd, PowerShell ou bash), créez un répertoire pour votre application et accédez-y.

mkdir myapp && cd myapp

Exécutez la commande npm init pour créer une application de nœud avec un fichier package.json.

npm init

Créez également un dossier /resources à la racine de votre projet et ajoutez-y un exemple d’image.

Installer le client du Kit de développement logiciel (SDK)

Installez le package NPM @azure-rest/ai-content-safety :

npm install @azure-rest/ai-content-safety

Installez également le module dotenv pour utiliser des variables d’environnement :

npm install dotenv

Le fichier package.json de votre application sera mis à jour avec les dépendances.

Créer des variables d’environnement

Dans cet exemple, vous allez écrire vos informations d’identification dans des variables d’environnement sur l’ordinateur local exécutant l’application.

Pour définir la variable d’environnement de votre clé et point de terminaison, ouvrez une fenêtre de console et suivez les instructions relatives à votre système d’exploitation et à votre environnement de développement.

  • Pour définir la variable d’environnement CONTENT_SAFETY_KEY, remplacez YOUR_CONTENT_SAFETY_KEY par l’une des clés de votre ressource.
  • Pour définir la CONTENT_SAFETY_ENDPOINTvariable d’environnement, remplacez YOUR_CONTENT_SAFETY_ENDPOINT par le point de terminaison de votre ressource.

Important

Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.

Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les demandes auprès d’Azure AI services.

setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'

Après avoir ajouté les variables d'environnement, il se put que vous deviez redémarrer tous les programmes en cours d'exécution qui liront les variables d'environnement, y compris la fenêtre de console.

Analyser le contenu d’une image

Créez un fichier dans votre répertoire, index.js. Ouvrez-le dans votre éditeur ou IDE préféré et collez dans le code suivant. Remplacez la variable image_path par le chemin d’accès à votre exemple d’image.

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);
});

Exécutez l’application avec la commande node de votre fichier de démarrage rapide.

node index.js

Output

Hate severity:  0
SelfHarm severity:  0
Sexual severity:  0
Violence severity:  0

Nettoyer les ressources

Si vous souhaitez nettoyer et supprimer un abonnement Azure AI services, vous pouvez supprimer la ressource ou le groupe de ressources. La suppression du groupe de ressources efface également les autres ressources qui y sont associées.