Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Important
Azure Content Moderator est déconseillé depuis février 2024 et sera mis hors service le 15 mars 2027. Elle est remplacée par Azure AI Sécurité du Contenu, qui offre des fonctionnalités d’IA avancées et des performances améliorées.
Azure AI Sécurité du Contenu est une solution complète conçue pour détecter le contenu généré par l’utilisateur et généré par l’IA dangereux dans les applications et les services. Azure AI Sécurité du Contenu convient à de nombreux scénarios tels que les places de marché en ligne, les sociétés de jeux, les plateformes de messagerie sociale, les entreprises de médias d’entreprise et les fournisseurs de solutions éducation K-12. Voici une vue d'ensemble de ses fonctionnalités et capacités :
- APIs de Détection de texte et d’image : analysez du texte et des images pour le contenu sexuel, la violence, la haine et l'automutilation avec différents niveaux de gravité.
- Content Safety Studio : outil en ligne conçu pour gérer du contenu potentiellement offensant, risqué ou indésirable à l’aide de nos derniers modèles ML de modération de contenu. Il fournit des modèles et des flux de travail personnalisés qui permettent aux utilisateurs de créer leurs propres systèmes de modération de contenu.
- Prise en charge linguistique : Azure AI Sécurité du Contenu prend en charge plus de 100 langues et est spécifiquement entraînée pour l’anglais, l’allemand, le japonais, l’espagnol, le français, l’italien, le portugais et le chinois.
Azure AI Sécurité du Contenu fournit une solution robuste et flexible pour vos besoins de modération de contenu. En passant de Content Moderator à Azure AI Sécurité du Contenu, vous pouvez tirer parti des derniers outils et technologies pour vous assurer que votre contenu est toujours modéré à vos spécifications exactes.
Learn plus sur Azure AI Sécurité du Contenu et explorer comment il peut élever votre stratégie de modération de contenu.
Prise en main de la bibliothèque cliente Azure Content Moderator pour .NET. Suivez ces étapes pour installer le package NuGet et essayer l’exemple de code pour les tâches de base.
Content Moderator est un service IA qui vous permet de gérer le contenu potentiellement offensant, risqué ou indésirable. Utilisez le service de modération de contenu alimenté par l’IA pour analyser automatiquement le texte, l’image et les vidéos et appliquer automatiquement des indicateurs de contenu. Créez un logiciel de filtrage de contenu dans votre application pour respecter les réglementations ou gérer l’environnement prévu pour vos utilisateurs.
Utilisez la bibliothèque de client Content Moderator pour .NET pour :
- Modérer le texte
- Modérer des images
documentation de référence | Code source de la bibliothèque | Package (NuGet) | Exemples
Conditions préalables
- Abonnement Azure - Créez-en un gratuitement
- La version IDE Visual Studio ou actuelle de .NET Core.
- Une fois que vous avez votre abonnement Azure, créer une ressource Content Moderator dans le portail Azure pour obtenir votre clé et votre point de terminaison. Attendez qu’elle soit déployée et cliquez sur le bouton Accéder à la ressource .
- Vous aurez besoin de la clé et du point de terminaison à partir de la ressource que vous créez pour connecter votre application à Content Moderator. Vous allez coller votre clé et votre point de terminaison dans le code ci-dessous lors des étapes suivantes du guide de démarrage rapide.
- Vous pouvez utiliser le niveau tarifaire gratuit (
F0) pour essayer le service et effectuer une mise à niveau ultérieure vers un niveau payant pour la production.
Mise en place
Créer une application C#
À l’aide de Visual Studio, créez une application .NET Core.
Installer la bibliothèque cliente
Une fois que vous avez créé un projet, installez la bibliothèque cliente en cliquant avec le bouton droit sur la solution de projet dans le Explorateur de solutions et en sélectionnant Manage nuGet Packages. Dans le gestionnaire de package qui s’ouvre, sélectionnez Browse, vérifiez Include prerelease et recherchez Microsoft.Azure.CognitiveServices.ContentModerator. Sélectionnez la version 2.0.0, puis installez.
Conseil
Vous souhaitez afficher l’ensemble du fichier de code de démarrage rapide à la fois ? Vous pouvez le trouver sur GitHub qui contient les exemples de code de ce guide de démarrage rapide.
Dans le répertoire du projet, ouvrez le fichier Program.cs dans votre éditeur ou IDE préféré. Ajoutez les déclarations suivantes using :
using Microsoft.Azure.CognitiveServices.ContentModerator;
using Microsoft.Azure.CognitiveServices.ContentModerator.Models;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Threading;
Dans la classe Program , créez des variables pour la clé et le point de terminaison de votre ressource.
Important
Accédez au portail Azure. Si la ressource Content Moderator que vous avez créée dans la section Conditions préalables a été déployée avec succès, cliquez sur le bouton Accéder à la ressource sous Étapes suivantes. Vous pouvez trouver votre clé et votre point de terminaison dans la page clé et point de terminaison de la ressource, sous gestion des ressources.
// Your Content Moderator subscription key is found in your Azure portal resource on the 'Keys' page.
private static readonly string SubscriptionKey = "PASTE_YOUR_CONTENT_MODERATOR_SUBSCRIPTION_KEY_HERE";
// Base endpoint URL. Found on 'Overview' page in Azure resource. For example: https://westus.api.cognitive.microsoft.com
private static readonly string Endpoint = "PASTE_YOUR_CONTENT_MODERATOR_ENDPOINT_HERE";
Important
N’oubliez pas de supprimer la clé de votre code lorsque vous avez terminé, et ne la publiez jamais publiquement. Pour la production, utilisez un moyen sécurisé de stocker et d’accéder à vos informations d’identification comme Azure Key Vault. Pour plus d’informations, consultez l’article Azure AI services security.
Dans la méthode main() de l'application, ajoutez des appels aux méthodes utilisées dans ce quickstart. Vous allez les créer ultérieurement.
// Create an image review client
ContentModeratorClient clientImage = Authenticate(SubscriptionKey, Endpoint);
// Create a text review client
ContentModeratorClient clientText = Authenticate(SubscriptionKey, Endpoint);
// Create a human reviews client
ContentModeratorClient clientReviews = Authenticate(SubscriptionKey, Endpoint);
// Moderate text from text in a file
ModerateText(clientText, TextFile, TextOutputFile);
// Moderate images from list of image URLs
ModerateImages(clientImage, ImageUrlFile, ImageOutputFile);
Modèle objet
Les classes suivantes gèrent certaines des principales fonctionnalités de la bibliothèque cliente Content Moderator .NET.
| Nom | Description |
|---|---|
| ContentModeratorClient | Cette classe est nécessaire pour toutes les fonctionnalités Content Moderator. Vous l’instanciez avec vos informations d’abonnement et vous l’utilisez pour produire des instances d’autres classes. |
| ImageModeration | Cette classe fournit les fonctionnalités d’analyse des images pour le contenu adulte, les informations personnelles ou les visages humains. |
| TextModeration | Cette classe fournit les fonctionnalités d’analyse du texte pour la langue, la profanité, les erreurs et les informations personnelles. |
Exemples de code
Ces extraits de code vous montrent comment effectuer les tâches suivantes avec la bibliothèque de client Content Moderator pour .NET :
Authentifier le client
Dans une nouvelle méthode, instanciez les objets clients avec votre point de terminaison et votre clé.
public static ContentModeratorClient Authenticate(string key, string endpoint)
{
ContentModeratorClient client = new ContentModeratorClient(new ApiKeyServiceClientCredentials(key));
client.Endpoint = endpoint;
return client;
}
Modérer le texte
Le code suivant utilise un client Content Moderator pour analyser un corps de texte et imprimer les résultats dans la console. À la racine de votre classe Program , définissez les fichiers d’entrée et de sortie :
// TEXT MODERATION
// Name of the file that contains text
private static readonly string TextFile = "TextFile.txt";
// The name of the file to contain the output from the evaluation.
private static string TextOutputFile = "TextModerationOutput.txt";
Ensuite, à la racine de votre projet, ajoutez un fichier TextFile.txt . Ajoutez votre propre texte à ce fichier ou utilisez l’exemple de texte suivant :
Is this a grabage email abcdef@abcd.com, phone: 4255550111, IP: 255.255.255.255, 1234 Main Boulevard, Panapolis WA 96555.
<offensive word> is the profanity here. Is this information PII? phone 4255550111
Définissez ensuite la méthode de modération de texte quelque part dans votre classe Program :
/*
* TEXT MODERATION
* This example moderates text from file.
*/
public static void ModerateText(ContentModeratorClient client, string inputFile, string outputFile)
{
Console.WriteLine("--------------------------------------------------------------");
Console.WriteLine();
Console.WriteLine("TEXT MODERATION");
Console.WriteLine();
// Load the input text.
string text = File.ReadAllText(inputFile);
// Remove carriage returns
text = text.Replace(Environment.NewLine, " ");
// Convert string to a byte[], then into a stream (for parameter in ScreenText()).
byte[] textBytes = Encoding.UTF8.GetBytes(text);
MemoryStream stream = new MemoryStream(textBytes);
Console.WriteLine("Screening {0}...", inputFile);
// Format text
// Save the moderation results to a file.
using (StreamWriter outputWriter = new StreamWriter(outputFile, false))
{
using (client)
{
// Screen the input text: check for profanity, classify the text into three categories,
// do autocorrect text, and check for personally identifying information (PII)
outputWriter.WriteLine("Autocorrect typos, check for matching terms, PII, and classify.");
// Moderate the text
var screenResult = client.TextModeration.ScreenText("text/plain", stream, "eng", true, true, null, true);
outputWriter.WriteLine(JsonConvert.SerializeObject(screenResult, Formatting.Indented));
}
outputWriter.Flush();
outputWriter.Close();
}
Console.WriteLine("Results written to {0}", outputFile);
Console.WriteLine();
}
Modérer des images
Le code suivant utilise un client Content Moderator, ainsi qu’un objet ImageModeration , pour analyser des images distantes à la recherche de contenu adulte et osé.
Note
Vous pouvez également analyser le contenu d’une image locale. Consultez la documentation de référence sur les méthodes et les opérations qui fonctionnent avec des images locales.
Obtenir des exemples d’images
Définissez vos fichiers d’entrée et de sortie à la racine de votre classe Program :
// IMAGE MODERATION
//The name of the file that contains the image URLs to evaluate.
private static readonly string ImageUrlFile = "ImageFiles.txt";
// The name of the file to contain the output from the evaluation.
private static string ImageOutputFile = "ImageModerationOutput.json";
Créez ensuite le fichier d’entrée, ImageFiles.txt, à la racine de votre projet. Dans ce fichier, vous ajoutez les URL d’images à analyser : une URL sur chaque ligne. Vous pouvez utiliser les exemples d’images suivants :
https://moderatorsampleimages.blob.core.windows.net/samples/sample2.jpg
https://moderatorsampleimages.blob.core.windows.net/samples/sample5.png
Définir la classe d’assistance
Ajoutez la définition de classe suivante dans la classe Program . Cette classe interne gère les résultats de modération d’image.
// Contains the image moderation results for an image,
// including text and face detection results.
public class EvaluationData
{
// The URL of the evaluated image.
public string ImageUrl;
// The image moderation results.
public Evaluate ImageModeration;
// The text detection results.
public OCR TextDetection;
// The face detection results;
public FoundFaces FaceDetection;
}
Définir la méthode de modération d’image
La méthode suivante itère dans les URL d’image dans un fichier texte, crée une instance EvaluationData et analyse l’image pour les contenus adulte/suggestif, le texte et les visages humains. Ensuite, il ajoute l’instance EvaluationData finale à une liste et écrit la liste complète des données retournées dans la console.
Itérer à travers des images
/*
* IMAGE MODERATION
* This example moderates images from URLs.
*/
public static void ModerateImages(ContentModeratorClient client, string urlFile, string outputFile)
{
Console.WriteLine("--------------------------------------------------------------");
Console.WriteLine();
Console.WriteLine("IMAGE MODERATION");
Console.WriteLine();
// Create an object to store the image moderation results.
List<EvaluationData> evaluationData = new List<EvaluationData>();
using (client)
{
// Read image URLs from the input file and evaluate each one.
using (StreamReader inputReader = new StreamReader(urlFile))
{
while (!inputReader.EndOfStream)
{
string line = inputReader.ReadLine().Trim();
if (line != String.Empty)
{
Console.WriteLine("Evaluating {0}...", Path.GetFileName(line));
var imageUrl = new BodyModel("URL", line.Trim());
Analyser le contenu
Pour plus d’informations sur les attributs d’image que Content Moderator analyse, consultez le guide des concepts de modération des images.
var imageData = new EvaluationData
{
ImageUrl = imageUrl.Value,
// Evaluate for adult and racy content.
ImageModeration =
client.ImageModeration.EvaluateUrlInput("application/json", imageUrl, true)
};
Thread.Sleep(1000);
// Detect and extract text.
imageData.TextDetection =
client.ImageModeration.OCRUrlInput("eng", "application/json", imageUrl, true);
Thread.Sleep(1000);
// Detect faces.
imageData.FaceDetection =
client.ImageModeration.FindFacesUrlInput("application/json", imageUrl, true);
Thread.Sleep(1000);
// Add results to Evaluation object
evaluationData.Add(imageData);
}
}
}
Écrire des résultats de modération dans un fichier
// Save the moderation results to a file.
using (StreamWriter outputWriter = new StreamWriter(outputFile, false))
{
outputWriter.WriteLine(JsonConvert.SerializeObject(
evaluationData, Formatting.Indented));
outputWriter.Flush();
outputWriter.Close();
}
Console.WriteLine();
Console.WriteLine("Image moderation results written to output file: " + outputFile);
Console.WriteLine();
}
}
Exécuter l’application
Exécutez l’application en cliquant sur le bouton Déboguer en haut de la fenêtre IDE.
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 supprime également toutes les autres ressources associées.
Étapes suivantes
Dans ce guide de démarrage rapide, vous avez appris à utiliser la bibliothèque content Moderator .NET pour effectuer des tâches de modération. Ensuite, apprenez-en davantage sur la modération des images ou d’autres médias en lisant un guide conceptuel.
Prise en main de la bibliothèque cliente Azure Content Moderator pour Java. Suivez ces étapes pour installer le package Maven et essayer l’exemple de code pour les tâches de base.
Content Moderator est un service IA qui vous permet de gérer le contenu potentiellement offensant, risqué ou indésirable. Utilisez le service de modération de contenu alimenté par l’IA pour analyser automatiquement le texte, l’image et les vidéos et appliquer automatiquement des indicateurs de contenu. Créez un logiciel de filtrage de contenu dans votre application pour respecter les réglementations ou gérer l’environnement prévu pour vos utilisateurs.
Utilisez la bibliothèque de client Content Moderator pour Java pour :
- Modérer le texte
- Modérer des images
Documentation de référence | Code source de la bibliothèque |Artifact (Maven) | Exemples
Conditions préalables
- Un abonnement Azure - Create one gratuitement
- Version actuelle du kit de développement Java (JDK)
- L’outil de génération Gradle ou un autre gestionnaire de dépendances.
- Une fois que vous avez votre abonnement Azure, créer une ressource Content Moderator dans le portail Azure pour obtenir votre clé et votre point de terminaison. Attendez qu’elle soit déployée et cliquez sur le bouton Accéder à la ressource .
- Vous aurez besoin de la clé et du point de terminaison à partir de la ressource que vous créez pour connecter votre application à Content Moderator. Vous allez coller votre clé et votre point de terminaison dans le code ci-dessous lors des étapes suivantes du guide de démarrage rapide.
- Vous pouvez utiliser le niveau tarifaire gratuit (
F0) pour essayer le service et effectuer une mise à niveau ultérieure vers un niveau payant pour la production.
Mise en place
Créer un projet Gradle
Dans une fenêtre de console (par exemple, cmd, PowerShell ou Bash), créez un répertoire pour votre application et accédez-y.
mkdir myapp && cd myapp
Exécutez la gradle init commande à 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é lors de l’exécution pour créer et configurer votre application.
gradle init --type basic
Lorsque vous êtes invité à choisir une DSL, sélectionnez Kotlin.
Installer la bibliothèque cliente
Recherchez build.gradle.kts et ouvrez-le avec votre IDE ou éditeur de texte préféré. Copiez ensuite dans la configuration de build suivante. Cette configuration définit le projet comme une application Java dont le point d’entrée est la classe ContentModeratorQuickstart. Il importe la bibliothèque cliente Content Moderator et le sdk GSON pour la sérialisation JSON.
plugins {
java
application
}
application{
mainClassName = "ContentModeratorQuickstart"
}
repositories{
mavenCentral()
}
dependencies{
compile(group = "com.microsoft.azure.cognitiveservices", name = "azure-cognitiveservices-contentmoderator", version = "1.0.2-beta")
compile(group = "com.google.code.gson", name = "gson", version = "2.8.5")
}
Créer un fichier Java
À partir de votre répertoire de travail, exécutez la commande suivante pour créer un dossier source de projet :
mkdir -p src/main/java
Accédez au nouveau dossier et créez un fichier appelé ContentModeratorQuickstart.java. Ouvrez-le dans votre éditeur ou IDE préféré et ajoutez les instructions suivantes import :
import com.google.gson.*;
import com.microsoft.azure.cognitiveservices.vision.contentmoderator.*;
import com.microsoft.azure.cognitiveservices.vision.contentmoderator.models.*;
import java.io.*;
import java.util.*;
import java.util.concurrent.*;
Conseil
Vous souhaitez afficher l’ensemble du fichier de code de démarrage rapide à la fois ? Vous pouvez le trouver sur GitHub qui contient les exemples de code de ce guide de démarrage rapide.
Dans la classe ContentModeratorQuickstart de l’application, créez des variables pour la clé et le point de terminaison de votre ressource.
Important
Accédez au portail Azure. Si la ressource Content Moderator que vous avez créée dans la section Conditions préalables a été déployée avec succès, cliquez sur le bouton Accéder à la ressource sous Étapes suivantes. Vous pouvez trouver votre clé et votre point de terminaison dans la page clé et point de terminaison de la ressource, sous gestion des ressources.
private static final String subscriptionKey = "<your-subscription-key>";
private static final String endpoint = "<your-api-endpoint>";
Important
N’oubliez pas de supprimer la clé de votre code lorsque vous avez terminé, et ne la publiez jamais publiquement. Pour la production, utilisez un moyen sécurisé de stocker et d’accéder à vos informations d’identification comme Azure Key Vault. Pour plus d’informations, consultez l’article Azure AI services security.
Dans la méthode principale de l’application, ajoutez des appels pour les méthodes utilisées dans ce guide de démarrage rapide. Vous allez définir ces méthodes ultérieurement.
// Create a List in which to store the image moderation results.
List<EvaluationData> evaluationData = new ArrayList<EvaluationData>();
// Moderate URL images
moderateImages(client, evaluationData);
// Moderate text from file
moderateText(client);
// Create a human review
humanReviews(client);
Modèle objet
Les classes suivantes gèrent certaines des principales fonctionnalités de la bibliothèque cliente Content Moderator Java.
| Nom | Description |
|---|---|
| ContentModeratorClient | Cette classe est nécessaire pour toutes les fonctionnalités Content Moderator. Vous l’instanciez avec vos informations d’abonnement et vous l’utilisez pour produire des instances d’autres classes. |
| ImageModeration | Cette classe fournit les fonctionnalités d’analyse des images pour le contenu adulte, les informations personnelles ou les visages humains. |
| TextModerations | Cette classe fournit les fonctionnalités d’analyse du texte pour la langue, la profanité, les erreurs et les informations personnelles. |
Exemples de code
Ces extraits de code vous montrent comment effectuer les tâches suivantes avec la bibliothèque cliente Content Moderator pour Java :
Authentifier le client
Dans la méthode main de l’application, créez un objet ContentModeratorClient en utilisant la valeur du point de terminaison d’abonnement et la clé d’abonnement.
// Set CONTENT_MODERATOR_SUBSCRIPTION_KEY in your environment settings, with
// your key as its value.
// Set COMPUTER_MODERATOR_ENDPOINT in your environment variables with your Azure
// endpoint.
ContentModeratorClient client = ContentModeratorManager.authenticate(AzureRegionBaseUrl.fromString(endpoint),
"CONTENT_MODERATOR_SUBSCRIPTION_KEY");
Modérer le texte
Configurer un exemple de texte
En haut de votre classe ContentModeratorQuickstart , définissez une référence à un fichier texte local. Ajoutez un fichier .txt à votre répertoire de projet et entrez le texte que vous souhaitez analyser.
// TEXT MODERATION variable
private static File textFile = new File("src\\main\\resources\\TextModeration.txt");
Analyser du texte
Créez une méthode qui lit le fichier .txt et appelle la méthode screenText sur chaque ligne.
public static void moderateText(ContentModeratorClient client) {
System.out.println("---------------------------------------");
System.out.println("MODERATE TEXT");
System.out.println();
try (BufferedReader inputStream = new BufferedReader(new FileReader(textFile))) {
String line;
Screen textResults = null;
// For formatting the printed results
Gson gson = new GsonBuilder().setPrettyPrinting().create();
while ((line = inputStream.readLine()) != null) {
if (line.length() > 0) {
textResults = client.textModerations().screenText("text/plain", line.getBytes(), null);
// Uncomment below line to print in console
// System.out.println(gson.toJson(textResults).toString());
}
}
Imprimer les résultats de la modération du texte
Ajoutez le code suivant pour imprimer les résultats de modération dans un fichier .json dans le répertoire de votre projet.
System.out.println("Text moderation status: " + textResults.status().description());
System.out.println();
// Create output results file to TextModerationOutput.json
BufferedWriter writer = new BufferedWriter(
new FileWriter(new File("src\\main\\resources\\TextModerationOutput.json")));
writer.write(gson.toJson(textResults).toString());
System.out.println("Check TextModerationOutput.json to see printed results.");
System.out.println();
writer.close();
Fermez l'instruction try et la méthode catch pour terminer la méthode.
} catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
}
Modérer des images
Configurer un exemple d’image
Dans une nouvelle méthode, construisez un objet BodyModelModel avec une chaîne d’URL donnée qui pointe vers une image.
public static void moderateImages(ContentModeratorClient client, List<EvaluationData> resultsList) {
System.out.println();
System.out.println("---------------------------------------");
System.out.println("MODERATE IMAGES");
System.out.println();
try {
String urlString = "https://moderatorsampleimages.blob.core.windows.net/samples/sample2.jpg";
// Evaluate each line of text
BodyModelModel url = new BodyModelModel();
url.withDataRepresentation("URL");
url.withValue(urlString);
// Save to EvaluationData class for later
EvaluationData imageData = new EvaluationData();
imageData.ImageUrl = url.value();
Définir la classe d’assistance
Ensuite, dans votre fichier ContentModeratorQuickstart.java , ajoutez la définition de classe suivante dans la classe ContentModeratorQuickstart . Cette classe interne est utilisée dans le processus de modération d’image.
// Contains the image moderation results for an image, including text and face
// detection from the image.
public static class EvaluationData {
// The URL of the evaluated image.
public String ImageUrl;
// The image moderation results.
public Evaluate ImageModeration;
// The text detection results.
public OCR TextDetection;
// The face detection results;
public FoundFaces FaceDetection;
}
Analyser le contenu
Cette ligne de code vérifie l’image à l’URL donnée pour le contenu adulte ou racé. Consultez le guide conceptuel de modération d’image pour plus d’informations sur ces termes.
// Evaluate for adult and racy content.
imageData.ImageModeration = client.imageModerations().evaluateUrlInput("application/json", url,
new EvaluateUrlInputOptionalParameter().withCacheImage(true));
Thread.sleep(1000);
Rechercher du texte
Cette ligne de code vérifie l’image pour le texte visible.
// Detect and extract text from image.
imageData.TextDetection = client.imageModerations().oCRUrlInput("eng", "application/json", url,
new OCRUrlInputOptionalParameter().withCacheImage(true));
Thread.sleep(1000);
Détecter des visages
Cette ligne de code vérifie l’image des visages humains.
// Detect faces.
imageData.FaceDetection = client.imageModerations().findFacesUrlInput("application/json", url,
new FindFacesUrlInputOptionalParameter().withCacheImage(true));
Thread.sleep(1000);
Enfin, stockez les informations retournées dans la EvaluationData liste.
resultsList.add(imageData);
Imprimer les résultats
Après la while boucle, ajoutez le code suivant, qui imprime les résultats dans la console et dans un fichier de sortie, src/main/resources/ModerationOutput.json.
// Save the moderation results to a file.
// ModerationOutput.json contains the output from the evaluation.
// Relative paths are relative to the execution directory (where pom.xml is
// located).
BufferedWriter writer = new BufferedWriter(
new FileWriter(new File("src\\main\\resources\\ImageModerationOutput.json")));
// For formatting the printed results
Gson gson = new GsonBuilder().setPrettyPrinting().create();
writer.write(gson.toJson(resultsList).toString());
System.out.println("Check ImageModerationOutput.json to see printed results.");
writer.close();
Fermez l’instruction try et ajoutez une catch instruction pour terminer la méthode.
} catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
Exécuter l’application
Vous pouvez créer l’application avec :
gradle build
Exécutez l’application avec la gradle run commande :
gradle run
Accédez ensuite au fichier src/main/resources/ModerationOutput.json et affichez les résultats de votre modération de contenu.
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 supprime également toutes les autres ressources associées.
Étapes suivantes
Dans ce guide de démarrage rapide, vous avez appris à utiliser la bibliothèque content Moderator Java pour effectuer des tâches de modération. Ensuite, apprenez-en davantage sur la modération des images ou d’autres médias en lisant un guide conceptuel.
Prise en main de la bibliothèque de client Azure Content Moderator pour Python. Suivez ces étapes pour installer le package PiPy et essayer l’exemple de code pour les tâches de base.
Content Moderator est un service IA qui vous permet de gérer le contenu potentiellement offensant, risqué ou indésirable. Utilisez le service de modération de contenu alimenté par l’IA pour analyser automatiquement le texte, l’image et les vidéos et appliquer automatiquement des indicateurs de contenu. Créez un logiciel de filtrage de contenu dans votre application pour respecter les réglementations ou gérer l’environnement prévu pour vos utilisateurs.
Utilisez la bibliothèque de client Content Moderator pour Python pour :
- Modérer le texte
- Utiliser une liste de termes personnalisés
- Modérer des images
- Utiliser une liste d’images personnalisée
Documentation de référence | Code source de la bibliothèque | Package (PiPy) | Exemples
Conditions préalables
- Abonnement Azure - Créez-en un gratuitement
-
Python 3.x
- Votre installation de Python doit inclure pip. Vous pouvez vérifier si pip est installé en exécutant
pip --versionla ligne de commande. Obtenez pip en installant la dernière version de Python.
- Votre installation de Python doit inclure pip. Vous pouvez vérifier si pip est installé en exécutant
- Une fois que vous avez votre abonnement Azure, créer une ressource Content Moderator dans le portail Azure pour obtenir votre clé et votre point de terminaison. Attendez qu’elle soit déployée et cliquez sur le bouton Accéder à la ressource .
- Vous aurez besoin de la clé et du point de terminaison à partir de la ressource que vous créez pour connecter votre application à Content Moderator. Vous allez coller votre clé et votre point de terminaison dans le code ci-dessous lors des étapes suivantes du guide de démarrage rapide.
- Vous pouvez utiliser le niveau tarifaire gratuit (
F0) pour essayer le service et effectuer une mise à niveau ultérieure vers un niveau payant pour la production.
Mise en place
Installer la bibliothèque cliente
Après avoir installé Python, vous pouvez installer la bibliothèque cliente Content Moderator avec la commande suivante :
pip install --upgrade azure-cognitiveservices-vision-contentmoderator
Créer une application Python
Créez un script Python et ouvrez-le dans votre éditeur ou IDE préféré. Ajoutez ensuite les instructions suivantes import en haut du fichier.
import os.path
from pprint import pprint
import time
from io import BytesIO
from random import random
import uuid
from azure.cognitiveservices.vision.contentmoderator import ContentModeratorClient
import azure.cognitiveservices.vision.contentmoderator.models
from msrest.authentication import CognitiveServicesCredentials
Conseil
Vous souhaitez afficher l’ensemble du fichier de code de démarrage rapide à la fois ? Vous pouvez le trouver sur GitHub qui contient les exemples de code de ce guide de démarrage rapide.
Ensuite, créez des variables pour l’emplacement et la clé du point de terminaison de votre ressource.
Important
Accédez au portail Azure. Si la ressource Content Moderator que vous avez créée dans la section Conditions préalables a été déployée avec succès, cliquez sur le bouton Accéder à la ressource sous Étapes suivantes. Vous pouvez trouver votre clé et votre point de terminaison dans la page clé et point de terminaison de la ressource, sous gestion des ressources.
CONTENT_MODERATOR_ENDPOINT = "PASTE_YOUR_CONTENT_MODERATOR_ENDPOINT_HERE"
subscription_key = "PASTE_YOUR_CONTENT_MODERATOR_SUBSCRIPTION_KEY_HERE"
Important
N’oubliez pas de supprimer la clé de votre code lorsque vous avez terminé, et ne la publiez jamais publiquement. Pour la production, utilisez un moyen sécurisé de stocker et d’accéder à vos informations d’identification comme Azure Key Vault. Pour plus d’informations, consultez l’article Azure AI services security.
Modèle objet
Les classes suivantes gèrent certaines des principales fonctionnalités de la bibliothèque cliente Content Moderator Python.
| Nom | Description |
|---|---|
| ContentModeratorClient | Cette classe est nécessaire pour toutes les fonctionnalités Content Moderator. Vous l’instanciez avec vos informations d’abonnement et vous l’utilisez pour produire des instances d’autres classes. |
| ImageModerationOperations | Cette classe fournit les fonctionnalités d’analyse des images pour le contenu adulte, les informations personnelles ou les visages humains. |
| TextModerationOperations | Cette classe fournit les fonctionnalités d’analyse du texte pour la langue, la profanité, les erreurs et les informations personnelles. |
Exemples de code
Ces extraits de code vous montrent comment effectuer les tâches suivantes avec la bibliothèque cliente Content Moderator pour Python :
- Authentifier le client
- Modérer le texte
- Utiliser une liste de termes personnalisés
- Modérer des images
- Utiliser une liste d’images personnalisée
Authentifier le client
Instanciez un client avec votre point de terminaison et votre clé. Créez un objet CognitiveServicesCredentials](/python/api/msrest/msrest.authentication.cognitiveservicescredentials avec votre clé et utilisez-le avec votre point de terminaison pour créer un objet ContentModeratorClient .
client = ContentModeratorClient(
endpoint=CONTENT_MODERATOR_ENDPOINT,
credentials=CognitiveServicesCredentials(subscription_key)
)
Modérer le texte
Le code suivant utilise un client Content Moderator pour analyser un corps de texte et imprimer les résultats dans la console. Tout d’abord, créez un dossier text_files/ à la racine de votre projet et ajoutez un fichier content_moderator_text_moderation.txt . Ajoutez votre propre texte à ce fichier ou utilisez l’exemple de texte suivant :
Is this a grabage email abcdef@abcd.com, phone: 4255550111, IP: 255.255.255.255, 1234 Main Boulevard, Panapolis WA 96555.
<offensive word> is the profanity here. Is this information PII? phone 2065550111
Ajoutez une référence au nouveau dossier.
TEXT_FOLDER = os.path.join(os.path.dirname(
os.path.realpath(__file__)), "text_files")
Ensuite, ajoutez le code suivant à votre script Python.
# Screen the input text: check for profanity,
# do autocorrect text, and check for personally identifying
# information (PII)
with open(os.path.join(TEXT_FOLDER, 'content_moderator_text_moderation.txt'), "rb") as text_fd:
screen = client.text_moderation.screen_text(
text_content_type="text/plain",
text_content=text_fd,
language="eng",
autocorrect=True,
pii=True
)
assert isinstance(screen, Screen)
pprint(screen.as_dict())
Utiliser une liste de termes personnalisés
Le code suivant montre comment gérer une liste de termes personnalisés pour la modération du texte. Vous pouvez utiliser la classe ListManagementTermListsOperations pour créer une liste de termes, gérer les termes individuels et afficher d’autres corps de texte sur celui-ci.
Obtenir un exemple de texte
Pour utiliser cet exemple, vous devez créer un dossier text_files/ à la racine de votre projet et ajouter un fichier content_moderator_term_list.txt . Ce fichier doit contenir du texte organique qui sera vérifié par rapport à la liste des termes. Vous pouvez utiliser l’exemple de texte suivant :
This text contains the terms "term1" and "term2".
Ajoutez une référence au dossier si vous n’en avez pas déjà défini un.
TEXT_FOLDER = os.path.join(os.path.dirname(
os.path.realpath(__file__)), "text_files")
Créer une liste
Ajoutez le code suivant à votre script Python pour créer une liste de termes personnalisés et enregistrer sa valeur d’ID.
#
# Create list
#
print("\nCreating list")
custom_list = client.list_management_term_lists.create(
content_type="application/json",
body={
"name": "Term list name",
"description": "Term list description",
}
)
print("List created:")
assert isinstance(custom_list, TermList)
pprint(custom_list.as_dict())
list_id = custom_list.id
Définir les détails de la liste
Vous pouvez utiliser l’ID d’une liste pour modifier son nom et sa description.
#
# Update list details
#
print("\nUpdating details for list {}".format(list_id))
updated_list = client.list_management_term_lists.update(
list_id=list_id,
content_type="application/json",
body={
"name": "New name",
"description": "New description"
}
)
assert isinstance(updated_list, TermList)
pprint(updated_list.as_dict())
Ajouter un terme à la liste
Le code suivant ajoute les termes "term1" et "term2" à la liste.
#
# Add terms
#
print("\nAdding terms to list {}".format(list_id))
client.list_management_term.add_term(
list_id=list_id,
term="term1",
language="eng"
)
client.list_management_term.add_term(
list_id=list_id,
term="term2",
language="eng"
)
Obtenir tous les termes de la liste
Vous pouvez utiliser l’ID de liste pour renvoyer tous les termes de la liste.
#
# Get all terms ids
#
print("\nGetting all term IDs for list {}".format(list_id))
terms = client.list_management_term.get_all_terms(
list_id=list_id, language="eng")
assert isinstance(terms, Terms)
terms_data = terms.data
assert isinstance(terms_data, TermsData)
pprint(terms_data.as_dict())
Actualiser l’index de liste
Chaque fois que vous ajoutez ou supprimez des termes de la liste, vous devez actualiser l’index avant de pouvoir utiliser la liste mise à jour.
#
# Refresh the index
#
print("\nRefreshing the search index for list {}".format(list_id))
refresh_index = client.list_management_term_lists.refresh_index_method(
list_id=list_id, language="eng")
assert isinstance(refresh_index, RefreshIndex)
pprint(refresh_index.as_dict())
print("\nWaiting {} minutes to allow the server time to propagate the index changes.".format(
LATENCY_DELAY))
time.sleep(LATENCY_DELAY * 60)
Comparer le texte à la liste
La principale fonctionnalité de la liste de termes personnalisés consiste à comparer un corps de texte à la liste et à déterminer s’il existe des termes correspondants.
#
# Screen text
#
with open(os.path.join(TEXT_FOLDER, 'content_moderator_term_list.txt'), "rb") as text_fd:
screen = client.text_moderation.screen_text(
text_content_type="text/plain",
text_content=text_fd,
language="eng",
autocorrect=False,
pii=False,
list_id=list_id
)
assert isinstance(screen, Screen)
pprint(screen.as_dict())
Supprimer un terme d’une liste
Le code suivant supprime le terme "term1" de la liste.
#
# Remove terms
#
term_to_remove = "term1"
print("\nRemove term {} from list {}".format(term_to_remove, list_id))
client.list_management_term.delete_term(
list_id=list_id,
term=term_to_remove,
language="eng"
)
Supprimer tous les termes d’une liste
Utilisez le code suivant pour effacer la liste de tous ses termes.
#
# Delete all terms
#
print("\nDelete all terms in the image list {}".format(list_id))
client.list_management_term.delete_all_terms(
list_id=list_id, language="eng")
Supprimer une liste
Utilisez le code suivant pour supprimer une liste de termes personnalisés.
#
# Delete list
#
print("\nDelete the term list {}".format(list_id))
client.list_management_term_lists.delete(list_id=list_id)
Modérer des images
Le code suivant utilise un client Content Moderator, ainsi qu’un objet ImageModerationOperations , pour analyser des images pour le contenu adulte et racy.
Obtenir des exemples d’images
Définissez une référence à certaines images à analyser.
IMAGE_LIST = [
"https://moderatorsampleimages.blob.core.windows.net/samples/sample2.jpg",
"https://moderatorsampleimages.blob.core.windows.net/samples/sample5.png"
]
Ajoutez ensuite le code suivant pour itérer au sein de vos images. Le reste du code de cette section va se trouver à l’intérieur de cette boucle.
for image_url in IMAGE_LIST:
print("\nEvaluate image {}".format(image_url))
Rechercher le contenu adulte/racé
Le code suivant vérifie l’image à l’URL donnée pour le contenu adulte ou racé et imprime les résultats dans la console. Consultez le guide des concepts de modération d’image pour plus d’informations sur ce que signifient ces termes.
print("\nEvaluate for adult and racy content.")
evaluation = client.image_moderation.evaluate_url_input(
content_type="application/json",
cache_image=True,
data_representation="URL",
value=image_url
)
assert isinstance(evaluation, Evaluate)
pprint(evaluation.as_dict())
Rechercher le texte visible
Le code suivant vérifie l’image pour le contenu du texte visible et imprime les résultats dans la console.
print("\nDetect and extract text.")
evaluation = client.image_moderation.ocr_url_input(
language="eng",
content_type="application/json",
data_representation="URL",
value=image_url,
cache_image=True,
)
assert isinstance(evaluation, OCR)
pprint(evaluation.as_dict())
Détecter des visages
Le code suivant vérifie l’image des visages humains et imprime les résultats dans la console.
print("\nDetect faces.")
evaluation = client.image_moderation.find_faces_url_input(
content_type="application/json",
cache_image=True,
data_representation="URL",
value=image_url
)
assert isinstance(evaluation, FoundFaces)
pprint(evaluation.as_dict())
Utiliser une liste d’images personnalisée
Le code suivant montre comment gérer une liste personnalisée d’images pour la modération d’image. Cette fonctionnalité est utile si votre plateforme reçoit fréquemment des instances du même ensemble d’images que celles que vous souhaitez extraire. En conservant une liste de ces images spécifiques, vous pouvez améliorer les performances. La classe ListManagementImageListsOperations vous permet de créer une liste d’images, de gérer les images individuelles de la liste et de comparer d’autres images.
Créez les variables de texte suivantes pour stocker les URL d’image que vous utiliserez dans ce scénario.
IMAGE_LIST = {
"Sports": [
"https://moderatorsampleimages.blob.core.windows.net/samples/sample4.png",
"https://moderatorsampleimages.blob.core.windows.net/samples/sample6.png",
"https://moderatorsampleimages.blob.core.windows.net/samples/sample9.png"
],
"Swimsuit": [
"https://moderatorsampleimages.blob.core.windows.net/samples/sample1.jpg",
"https://moderatorsampleimages.blob.core.windows.net/samples/sample3.png",
"https://moderatorsampleimages.blob.core.windows.net/samples/sample4.png",
"https://moderatorsampleimages.blob.core.windows.net/samples/sample16.png"
]
}
IMAGES_TO_MATCH = [
"https://moderatorsampleimages.blob.core.windows.net/samples/sample1.jpg",
"https://moderatorsampleimages.blob.core.windows.net/samples/sample4.png",
"https://moderatorsampleimages.blob.core.windows.net/samples/sample5.png",
"https://moderatorsampleimages.blob.core.windows.net/samples/sample16.png"
]
Note
Ce n’est pas la liste appropriée elle-même, mais une liste informelle d’images qui seront ajoutées dans la add images section du code.
Créer une liste d’images
Ajoutez le code suivant pour créer une liste d’images et enregistrer une référence à son ID.
#
# Create list
#
print("Creating list MyList\n")
custom_list = client.list_management_image_lists.create(
content_type="application/json",
body={
"name": "MyList",
"description": "A sample list",
"metadata": {
"key_one": "Acceptable",
"key_two": "Potentially racy"
}
}
)
print("List created:")
assert isinstance(custom_list, ImageList)
pprint(custom_list.as_dict())
list_id = custom_list.id
Ajouter des images à une liste
Le code suivant ajoute toutes vos images à la liste.
print("\nAdding images to list {}".format(list_id))
index = {} # Keep an index url to id for later removal
for label, urls in IMAGE_LIST.items():
for url in urls:
image = add_images(list_id, url, label)
if image:
index[url] = image.content_id
Définissez la fonction d’assistance add_images ailleurs dans votre script.
#
# Add images
#
def add_images(list_id, image_url, label):
"""Generic add_images from url and label."""
print("\nAdding image {} to list {} with label {}.".format(
image_url, list_id, label))
try:
added_image = client.list_management_image.add_image_url_input(
list_id=list_id,
content_type="application/json",
data_representation="URL",
value=image_url,
label=label
)
except APIErrorException as err:
# sample4 will fail
print("Unable to add image to list: {}".format(err))
else:
assert isinstance(added_image, Image)
pprint(added_image.as_dict())
return added_image
Obtenir des images dans la liste
Le code suivant imprime les noms de toutes les images de votre liste.
#
# Get all images ids
#
print("\nGetting all image IDs for list {}".format(list_id))
image_ids = client.list_management_image.get_all_image_ids(list_id=list_id)
assert isinstance(image_ids, ImageIds)
pprint(image_ids.as_dict())
Mettre à jour les détails de la liste
Vous pouvez utiliser l’ID de liste pour mettre à jour le nom et la description de la liste.
#
# Update list details
#
print("\nUpdating details for list {}".format(list_id))
updated_list = client.list_management_image_lists.update(
list_id=list_id,
content_type="application/json",
body={
"name": "Swimsuits and sports"
}
)
assert isinstance(updated_list, ImageList)
pprint(updated_list.as_dict())
Obtenir les détails de la liste
Utilisez le code suivant pour imprimer les détails actuels de votre liste.
#
# Get list details
#
print("\nGetting details for list {}".format(list_id))
list_details = client.list_management_image_lists.get_details(
list_id=list_id)
assert isinstance(list_details, ImageList)
pprint(list_details.as_dict())
Actualiser l’index de liste
Après avoir ajouté ou supprimé des images, vous devez actualiser l’index de liste avant de pouvoir l’utiliser pour afficher d’autres images.
#
# Refresh the index
#
print("\nRefreshing the search index for list {}".format(list_id))
refresh_index = client.list_management_image_lists.refresh_index_method(
list_id=list_id)
assert isinstance(refresh_index, RefreshIndex)
pprint(refresh_index.as_dict())
print("\nWaiting {} minutes to allow the server time to propagate the index changes.".format(
LATENCY_DELAY))
time.sleep(LATENCY_DELAY * 60)
Mettre en correspondance les images par rapport à la liste
La fonction principale des listes d’images consiste à comparer de nouvelles images et à voir s’il existe des correspondances.
#
# Match images against the image list.
#
for image_url in IMAGES_TO_MATCH:
print("\nMatching image {} against list {}".format(image_url, list_id))
match_result = client.image_moderation.match_url_input(
content_type="application/json",
list_id=list_id,
data_representation="URL",
value=image_url,
)
assert isinstance(match_result, MatchResponse)
print("Is match? {}".format(match_result.is_match))
print("Complete match details:")
pprint(match_result.as_dict())
Supprimer une image de la liste
Le code suivant supprime un élément de la liste. Dans ce cas, il s’agit d’une image qui ne correspond pas à la catégorie de liste.
#
# Remove images
#
correction = "https://moderatorsampleimages.blob.core.windows.net/samples/sample16.png"
print("\nRemove image {} from list {}".format(correction, list_id))
client.list_management_image.delete_image(
list_id=list_id,
image_id=index[correction]
)
Supprimer toutes les images d’une liste
Utilisez le code suivant pour effacer une liste d’images.
#
# Delete all images
#
print("\nDelete all images in the image list {}".format(list_id))
client.list_management_image.delete_all_images(list_id=list_id)
Supprimer la liste d’images
Utilisez le code suivant pour supprimer une liste d’images donnée.
#
# Delete list
#
print("\nDelete the image list {}".format(list_id))
client.list_management_image_lists.delete(list_id=list_id)
Exécuter l’application
Exécutez l’application avec la python commande dans votre fichier de démarrage rapide.
python quickstart-file.py
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 supprime également toutes les autres ressources associées.
Étapes suivantes
Dans ce guide de démarrage rapide, vous avez appris à utiliser la bibliothèque content Moderator Python pour effectuer des tâches de modération. Ensuite, apprenez-en davantage sur la modération des images ou d’autres médias en lisant un guide conceptuel.
Mise en route avec l’API REST Azure Content Moderator.
Content Moderator est un service IA qui vous permet de gérer le contenu potentiellement offensant, risqué ou indésirable. Utilisez le service de modération de contenu alimenté par l’IA pour analyser automatiquement le texte, l’image et les vidéos et appliquer automatiquement des indicateurs de contenu. Créez un logiciel de filtrage de contenu dans votre application pour respecter les réglementations ou gérer l’environnement prévu pour vos utilisateurs.
Utilisez l’API REST Content Moderator pour :
- Modérer le texte
- Modérer des images
Conditions préalables
- Abonnement Azure - Créez-en un gratuitement
- Une fois que vous avez votre abonnement Azure, créer une ressource Content Moderator dans le portail Azure pour obtenir votre clé et votre point de terminaison. Attendez qu’elle soit déployée et cliquez sur le bouton Accéder à la ressource .
- Vous aurez besoin de la clé et du point de terminaison à partir de la ressource que vous créez pour connecter votre application à Content Moderator. Vous allez coller votre clé et votre point de terminaison dans le code ci-dessous lors des étapes suivantes du guide de démarrage rapide.
- Vous pouvez utiliser le niveau tarifaire gratuit (
F0) pour essayer le service et effectuer une mise à niveau ultérieure vers un niveau payant pour la production.
- PowerShell version 6.0+, ou une application de ligne de commande similaire.
Modérer le texte
Vous allez utiliser une commande comme celle-ci pour appeler l’API Content Moderator pour analyser un corps de texte et imprimer les résultats dans la console.
curl -v -X POST "https://westus.api.cognitive.microsoft.com/contentmoderator/moderate/v1.0/ProcessText/Screen?autocorrect=True&PII=True&classify=True&language={string}"
-H "Content-Type: text/plain"
-H "Ocp-Apim-Subscription-Key: {subscription key}"
--data-ascii "Is this a crap email abcdef@abcd.com, phone: 6657789887, IP: 255.255.255.255, 1 Microsoft Way, Redmond, WA 98052"
Copiez la commande dans un éditeur de texte et apportez les modifications suivantes :
- Affectez
Ocp-Apim-Subscription-Keyà votre clé d’abonnement Face valide.Important
N’oubliez pas de supprimer la clé de votre code lorsque vous avez terminé, et ne la publiez jamais publiquement. Pour la production, utilisez un moyen sécurisé de stocker et d’accéder à vos informations d’identification comme Azure Key Vault. Pour plus d’informations, consultez l’article Azure AI services security.
- Modifiez la première partie de l’URL de requête pour qu’elle corresponde au point de terminaison correspondant à votre clé d’abonnement.
Note
Les nouvelles ressources créées après le 1er juillet 2019 utilisent des noms de sous-domaines personnalisés. Pour plus d’informations et une liste complète des points de terminaison régionaux, consultez les noms de sous-domaines personnalisés pour Foundry Tools.
- Modifiez éventuellement le corps de la requête en une chaîne de texte que vous souhaitez analyser.
Une fois que vous avez apporté vos modifications, ouvrez une invite de commandes et entrez la nouvelle commande.
Examiner les résultats
Vous devez voir les résultats de modération du texte affichés sous forme de données JSON dans la fenêtre de console. Par exemple :
{
"OriginalText": "Is this a <offensive word> email abcdef@abcd.com, phone: 6657789887, IP: 255.255.255.255,\n1 Microsoft Way, Redmond, WA 98052\n",
"NormalizedText": "Is this a <offensive word> email abide@ abed. com, phone: 6657789887, IP: 255. 255. 255. 255, \n1 Microsoft Way, Redmond, WA 98052",
"AutoCorrectedText": "Is this a <offensive word> email abide@ abed. com, phone: 6657789887, IP: 255. 255. 255. 255, \n1 Microsoft Way, Redmond, WA 98052",
"Misrepresentation": null,
"PII": {
"Email": [
{
"Detected": "abcdef@abcd.com",
"SubType": "Regular",
"Text": "abcdef@abcd.com",
"Index": 21
}
],
"IPA": [
{
"SubType": "IPV4",
"Text": "255.255.255.255",
"Index": 61
}
],
"Phone": [
{
"CountryCode": "US",
"Text": "6657789887",
"Index": 45
}
],
"Address": [
{
"Text": "1 Microsoft Way, Redmond, WA 98052",
"Index": 78
}
]
},
"Classification": {
"Category1":
{
"Score": 0.5
},
"Category2":
{
"Score": 0.6
},
"Category3":
{
"Score": 0.5
},
"ReviewRecommended": true
},
"Language": "eng",
"Terms": [
{
"Index": 10,
"OriginalIndex": 10,
"ListId": 0,
"Term": "<offensive word>"
}
],
"Status": {
"Code": 3000,
"Description": "OK",
"Exception": null
},
"TrackingId": "1717c837-cfb5-4fc0-9adc-24859bfd7fac"
}
Pour plus d'information sur les attributs de texte que Content Moderator analyse, consultez le guide des concepts de modération de texte.
Modérer des images
Vous utiliserez une commande comme celle-ci pour appeler l’API Content Moderator pour modérer une image distante et imprimer les résultats dans la console.
curl -v -X POST "https://westus.api.cognitive.microsoft.com/contentmoderator/moderate/v1.0/ProcessImage/Evaluate?CacheImage={boolean}"
-H "Content-Type: application/json"
-H "Ocp-Apim-Subscription-Key: {subscription key}"
--data-ascii "{\"DataRepresentation\":\"URL\", \"Value\":\"https://moderatorsampleimages.blob.core.windows.net/samples/sample.jpg\"}"
Copiez la commande dans un éditeur de texte et apportez les modifications suivantes :
- Affectez
Ocp-Apim-Subscription-Keyà votre clé d’abonnement Face valide. - Modifiez la première partie de l’URL de requête pour qu’elle corresponde au point de terminaison correspondant à votre clé d’abonnement.
- Modifiez éventuellement l’URL
"Value"dans le corps de la requête en une image distante que vous souhaitez modérer.
Conseil
Vous pouvez également modérer les images locales en transmettant leurs données d’octet dans le corps de la requête. Consultez la documentation de référence pour savoir comment procéder.
Une fois que vous avez apporté vos modifications, ouvrez une invite de commandes et entrez la nouvelle commande.
Examiner les résultats
Vous devez voir les résultats de modération d’image affichés sous forme de données JSON dans la fenêtre de console.
{
"AdultClassificationScore": x.xxx,
"IsImageAdultClassified": <Bool>,
"RacyClassificationScore": x.xxx,
"IsImageRacyClassified": <Bool>,
"AdvancedInfo": [],
"Result": false,
"Status": {
"Code": 3000,
"Description": "OK",
"Exception": null
},
"TrackingId": "<Request Tracking Id>"
}
Pour plus d’informations sur les attributs d’image que Content Moderator analyse, consultez le guide des concepts de modération des images.
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 supprime également toutes les autres ressources associées.
Étapes suivantes
Dans ce guide de démarrage rapide, vous avez appris à utiliser l’API REST Content Moderator pour effectuer des tâches de modération. Ensuite, apprenez-en davantage sur la modération des images ou d’autres médias en lisant un guide conceptuel.