Snabbstart: Använda Content Moderator-klientbiblioteket

Viktigt!

Azure Content Moderator är inaktuell i februari 2024 och kommer att dras tillbaka i februari 2027. Den ersätts av Azure AI Content Valv ty, som erbjuder avancerade AI-funktioner och bättre prestanda.

Azure AI Content Valv ty är en omfattande lösning som är utformad för att identifiera skadligt användargenererat och AI-genererat innehåll i program och tjänster. Azure AI Content Valv ty lämpar sig för många scenarier, till exempel online-marknadsplatser, spelföretag, sociala meddelandeplattformar, företagsmedieföretag och leverantörer av K-12-utbildningslösningar. Här är en översikt över dess funktioner:

  • API:er för text- och bildidentifiering: Skanna text och bilder efter sexuellt innehåll, våld, hat och självskadebeteende med flera allvarlighetsnivåer.
  • Content Valv ty Studio: Ett onlineverktyg som är utformat för att hantera potentiellt stötande, riskfyllt eller oönskat innehåll med hjälp av våra senaste ML-modeller för con tältläge ration. Den innehåller mallar och anpassade arbetsflöden som gör det möjligt för användare att skapa egna con tältläge rationssystem.
  • Språkstöd: Azure AI Content Valv ty stöder mer än 100 språk och är specifikt tränat på engelska, tyska, japanska, spanska, franska, italienska, portugisiska och kinesiska.

Azure AI Content Valv ty tillhandahåller en robust och flexibel lösning för dina behov av kon tältläge ration. Genom att växla från Content Moderator till Azure AI Content Valv ty kan du dra nytta av de senaste verktygen och teknikerna för att säkerställa att ditt innehåll alltid modereras enligt dina exakta specifikationer.

Läs mer om Azure AI Content Valv ty och utforska hur det kan höja din strategi för con tältläge ration.

Kom igång med Azure Content Moderator-klientbiblioteket för .NET. Följ de här stegen för att installera NuGet-paketet och prova exempelkoden för grundläggande uppgifter.

Content Moderator är en AI-tjänst som låter dig hantera innehåll som kan vara stötande, riskabelt eller på annat sätt oönskat. Använd den AI-baserade con tältläge ration-tjänsten för att skanna text, bild och videor och tillämpa innehållsflaggor automatiskt. Skapa programvara för innehållsfiltrering i din app för att följa regler eller underhålla den avsedda miljön för dina användare.

Använd Content Moderator-klientbiblioteket för .NET för att:

  • Måttlig text
  • Måttliga bilder

Referensdokumentation NuGet-exempel (Library Source Code | Package) | |

Förutsättningar

  • Azure-prenumeration – Skapa en kostnadsfritt
  • Visual Studio IDE eller den aktuella versionen av .NET Core.
  • När du har din Azure-prenumeration skapar du en Content Moderator-resurs i Azure-portalen för att hämta din nyckel och slutpunkt. Vänta tills den har distribuerats och klicka på knappen Gå till resurs .
    • Du behöver nyckeln och slutpunkten från den resurs som du skapar för att ansluta ditt program till Content Moderator. Du klistrar in nyckeln och slutpunkten i koden nedan senare i snabbstarten.
    • Du kan använda den kostnadsfria prisnivån (F0) för att prova tjänsten och uppgradera senare till en betald nivå för produktion.

Konfigurera

Skapa ett nytt C#-program

Skapa ett nytt .NET Core-program med Hjälp av Visual Studio.

Installera klientbiblioteket

När du har skapat ett nytt projekt installerar du klientbiblioteket genom att högerklicka på projektlösningen i Solution Explorer och välja Hantera NuGet-paket. I pakethanteraren som öppnas väljer du Browse (Bläddra), markera Include prerelease (Inkludera förhandsversion) och söker efter Microsoft.Azure.CognitiveServices.ContentModerator. Välj version 2.0.0 och sedan Installera.

Dricks

Vill du visa hela snabbstartskodfilen på en gång? Du hittar den på GitHub, som innehåller kodexemplen i den här snabbstarten.

Öppna filen Program.cs i önskad redigerare eller IDE från projektkatalogen. Lägg till följande using-uttryck:

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;

I klassen Program skapar du variabler för resursens nyckel och slutpunkt.

Viktigt!

Gå till Azure-portalen. Om Content Moderator-resursen som du skapade i avsnittet Förutsättningar har distribuerats klickar du på knappen Gå till resurs under Nästa steg. Du hittar din nyckel och slutpunkt på resursens nyckel- och slutpunktssida under resurshantering.

// 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";

Viktigt!

Kom ihåg att ta bort nyckeln från koden när du är klar och publicera den aldrig offentligt. För produktion använder du ett säkert sätt att lagra och komma åt dina autentiseringsuppgifter som Azure Key Vault. Mer information finns i säkerhetsartikeln för Azure AI-tjänster.

I programmets main() -metod lägger du till anrop för de metoder som används i den här snabbstarten. Du kommer att skapa dessa senare.

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

Objektmodell

Följande klasser hanterar några av de viktigaste funktionerna i Content Moderator .NET-klientbiblioteket.

Name beskrivning
ContentModeratorClient Den här klassen behövs för alla Content Moderator-funktioner. Du instansierar den med din prenumerationsinformation och använder den för att skapa instanser av andra klasser.
ImageModeration Den här klassen innehåller funktioner för att analysera bilder för innehåll för vuxna, personlig information eller mänskliga ansikten.
TextModeration Den här klassen innehåller funktioner för att analysera text för språk, svordomar, fel och personlig information.

Kodexempel

De här kodfragmenten visar hur du utför följande uppgifter med Content Moderator-klientbiblioteket för .NET:

Autentisera klienten

I en ny metod instansierar du klientobjekt med slutpunkten och nyckeln.

public static ContentModeratorClient Authenticate(string key, string endpoint)
{
    ContentModeratorClient client = new ContentModeratorClient(new ApiKeyServiceClientCredentials(key));
    client.Endpoint = endpoint;

    return client;
}

Måttlig text

Följande kod använder en Content Moderator-klient för att analysera en texttext och skriva ut resultatet till konsolen. I roten för klassen Program definierar du indata- och utdatafiler:

// 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";

Lägg sedan till en TextFile.txt fil i roten i projektet. Lägg till din egen text i den här filen eller använd följande exempeltext:

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

Definiera sedan textmodereringsmetoden någonstans i klassen 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();
}

Måttliga bilder

Följande kod använder en Content Moderator-klient, tillsammans med ett ImageModeration-objekt , för att analysera fjärrbilder för vuxet och olämpligt innehåll.

Kommentar

Du kan också analysera innehållet i en lokal bild. Se referensdokumentationen för metoder och åtgärder som fungerar med lokala avbildningar.

Hämta exempelbilder

Definiera dina indata- och utdatafiler i roten för klassen 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";

Skapa sedan indatafilen, ImageFiles.txt, i projektets rot. I den här filen lägger du till URL:er för bilder som ska analyseras – en URL på varje rad. Du kan använda följande exempelbilder:

https://moderatorsampleimages.blob.core.windows.net/samples/sample2.jpg
https://moderatorsampleimages.blob.core.windows.net/samples/sample5.png

Definiera hjälpklass

Lägg till följande klassdefinition i klassen Program . Den här inre klassen hanterar bildmodereringsresultat.

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

Definiera metoden för bildmoderering

Följande metod itererar genom bild-URL:er i en textfil, skapar en EvaluationData-instans och analyserar bilden för olämpligt innehåll, text och mänskliga ansikten. Sedan läggs den slutliga EvaluationData-instansen till i en lista och den fullständiga listan över returnerade data skrivs till konsolen.

Iterera genom bilder

/*
 * 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());

Analysera innehåll

Mer information om de bildattribut som Content Moderator skärmar för finns i guiden För bildmodereringsbegrepp .

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

Skriva modereringsresultat till filen

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

Kör appen

Kör programmet genom att klicka på felsökningsknappen överst i IDE-fönstret.

Rensa resurser

Om du vill rensa och ta bort en Azure AI-tjänstprenumeration kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.

Nästa steg

I den här snabbstarten har du lärt dig hur du använder Content Moderator .NET-biblioteket för att utföra modereringsuppgifter. Läs sedan mer om moderering av bilder eller andra medier genom att läsa en konceptuell guide.

Kom igång med Azure Content Moderator-klientbiblioteket för Java. Följ de här stegen för att installera Maven-paketet och prova exempelkoden för grundläggande uppgifter.

Content Moderator är en AI-tjänst som låter dig hantera innehåll som kan vara stötande, riskabelt eller på annat sätt oönskat. Använd den AI-baserade con tältläge ration-tjänsten för att skanna text, bild och videor och tillämpa innehållsflaggor automatiskt. Skapa programvara för innehållsfiltrering i din app för att följa regler eller underhålla den avsedda miljön för dina användare.

Använd Content Moderator-klientbiblioteket för Java för att:

  • Måttlig text
  • Måttliga bilder

Referensdokumentation Exempel på källkod för biblioteksdokumentation |(Maven) | |

Förutsättningar

  • En Azure-prenumeration – Skapa en kostnadsfritt
  • Den aktuella versionen av Java Development Kit (JDK)
  • Build-verktyget Gradle eller en annan beroendehanterare.
  • När du har din Azure-prenumeration skapar du en Content Moderator-resurs i Azure-portalen för att hämta din nyckel och slutpunkt. Vänta tills den har distribuerats och klicka på knappen Gå till resurs .
    • Du behöver nyckeln och slutpunkten från den resurs som du skapar för att ansluta ditt program till Content Moderator. Du klistrar in nyckeln och slutpunkten i koden nedan senare i snabbstarten.
    • Du kan använda den kostnadsfria prisnivån (F0) för att prova tjänsten och uppgradera senare till en betald nivå för produktion.

Konfigurera

Skapa ett nytt Gradle-projekt

Skapa en ny katalog för din app i ett konsolfönster (till exempel cmd, PowerShell eller bash) och navigera till den.

mkdir myapp && cd myapp

Kör kommandot från arbetskatalogen gradle init . Det här kommandot skapar viktiga byggfiler för Gradle, inklusive build.gradle.kts, som används vid körning för att skapa och konfigurera ditt program.

gradle init --type basic

Välj en DSL när du uppmanas till det och välj Kotlin.

Installera klientbiblioteket

Leta upp build.gradle.kts och öppna det med önskad IDE eller textredigerare . Kopiera sedan i följande byggkonfiguration. Den här konfigurationen definierar projektet som ett Java-program vars startpunkt är klassen ContentModeratorQuickstart. Den importerar Content Moderator-klientbiblioteket och GSON-sdk:n för JSON-serialisering.

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

Skapa en Java-fil

Från arbetskatalogen kör du följande kommando för att skapa en projektkällmapp:

mkdir -p src/main/java

Gå till den nya mappen och skapa en fil med namnet ContentModeratorQuickstart.java. Öppna den i önskad redigerare eller IDE och lägg till följande import instruktioner:

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.*;

Dricks

Vill du visa hela snabbstartskodfilen på en gång? Du hittar den på GitHub, som innehåller kodexemplen i den här snabbstarten.

I programmets ContentModeratorQuickstart-klass skapar du variabler för resursens nyckel och slutpunkt.

Viktigt!

Gå till Azure-portalen. Om Content Moderator-resursen som du skapade i avsnittet Förutsättningar har distribuerats klickar du på knappen Gå till resurs under Nästa steg. Du hittar din nyckel och slutpunkt på resursens nyckel- och slutpunktssida under resurshantering.

private static final String subscriptionKey = "<your-subscription-key>";
private static final String endpoint = "<your-api-endpoint>";

Viktigt!

Kom ihåg att ta bort nyckeln från koden när du är klar och publicera den aldrig offentligt. För produktion använder du ett säkert sätt att lagra och komma åt dina autentiseringsuppgifter som Azure Key Vault. Mer information finns i säkerhetsartikeln för Azure AI-tjänster.

I programmets huvudmetod lägger du till anrop för de metoder som används i den här snabbstarten. Du definierar dessa metoder senare.

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

Objektmodell

Följande klasser hanterar några av de viktigaste funktionerna i Content Moderator Java-klientbiblioteket.

Name beskrivning
ContentModeratorClient Den här klassen behövs för alla Content Moderator-funktioner. Du instansierar den med din prenumerationsinformation och använder den för att skapa instanser av andra klasser.
ImageModeration Den här klassen innehåller funktioner för att analysera bilder för innehåll för vuxna, personlig information eller mänskliga ansikten.
TextModerationer Den här klassen innehåller funktioner för att analysera text för språk, svordomar, fel och personlig information.

Kodexempel

De här kodfragmenten visar hur du utför följande uppgifter med Content Moderator-klientbiblioteket för Java:

Autentisera klienten

I programmets metod skapar du ett ContentModeratorClient-objekt med hjälp av prenumerationens slutpunktsvärde och prenumerationsnyckelmain.

// 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");

Måttlig text

Konfigurera exempeltext

Överst i klassen ContentModeratorQuickstart definierar du en referens till en lokal textfil. Lägg till en .txt fil i projektkatalogen och ange den text som du vill analysera.

// TEXT MODERATION variable
private static File textFile = new File("src\\main\\resources\\TextModeration.txt");

Analysera text

Skapa en ny metod som läser .txt-filen och anropar metoden screenText på varje rad.

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

Lägg till följande kod för att skriva ut modereringsresultatet till en .json fil i projektkatalogen.

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

Stäng instruktionen try och catch för att slutföra metoden.

    } catch (Exception e) {
        System.out.println(e.getMessage());
        e.printStackTrace();
    }
}

Måttliga bilder

Konfigurera exempelbild

I en ny metod skapar du ett BodyModelModel-objekt med en angiven URL-sträng som pekar på en bild.

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

Definiera hjälpklass

Lägg sedan till följande klassdefinition i klassen ContentModeratorQuickstart i filen ContentModeratorQuickstart.java. Den här inre klassen används i bildmodereringsprocessen.

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

Analysera innehåll

Den här kodraden kontrollerar bilden på den angivna URL:en för vuxet eller olämpligt innehåll. Mer information om dessa termer finns i konceptguiden för bildmoderering.

// Evaluate for adult and racy content.
imageData.ImageModeration = client.imageModerations().evaluateUrlInput("application/json", url,
        new EvaluateUrlInputOptionalParameter().withCacheImage(true));
Thread.sleep(1000);

Sök efter text

Den här kodraden kontrollerar bilden efter synlig text.

// Detect and extract text from image.
imageData.TextDetection = client.imageModerations().oCRUrlInput("eng", "application/json", url,
        new OCRUrlInputOptionalParameter().withCacheImage(true));
Thread.sleep(1000);

Sök efter ansikten

Den här kodraden kontrollerar bilden efter mänskliga ansikten.

// Detect faces.
imageData.FaceDetection = client.imageModerations().findFacesUrlInput("application/json", url,
        new FindFacesUrlInputOptionalParameter().withCacheImage(true));
Thread.sleep(1000);

Lagra slutligen den returnerade informationen i EvaluationData listan.

resultsList.add(imageData);

Efter loopen while lägger du till följande kod, som skriver ut resultatet till konsolen och till en utdatafil, 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();

Stäng instruktionen try och lägg till en catch -instruktion för att slutföra metoden.

} catch (Exception e) {
    System.out.println(e.getMessage());
    e.printStackTrace();
}

Kör appen

Du kan skapa appen med:

gradle build

Kör programmet med gradle run kommandot :

gradle run

Navigera sedan till filen src/main/resources/ModerationOutput.json och visa resultatet av din con tältläge ration.

Rensa resurser

Om du vill rensa och ta bort en Azure AI-tjänstprenumeration kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.

Nästa steg

I den här snabbstarten har du lärt dig hur du använder Content Moderator Java-biblioteket för att utföra modereringsuppgifter. Läs sedan mer om moderering av bilder eller andra medier genom att läsa en konceptuell guide.

Kom igång med Azure Content Moderator-klientbiblioteket för Python. Följ de här stegen för att installera PiPy-paketet och prova exempelkoden för grundläggande uppgifter.

Content Moderator är en AI-tjänst som låter dig hantera innehåll som kan vara stötande, riskabelt eller på annat sätt oönskat. Använd den AI-baserade con tältläge ration-tjänsten för att skanna text, bild och videor och tillämpa innehållsflaggor automatiskt. Skapa programvara för innehållsfiltrering i din app för att följa regler eller underhålla den avsedda miljön för dina användare.

Använd Content Moderator-klientbiblioteket för Python för att:

  • Måttlig text
  • Använda en lista med anpassade termer
  • Måttliga bilder
  • Använda en anpassad avbildningslista

Exempel på källkodspaket (PiPy) | för referensdokumentation | |

Förutsättningar

  • Azure-prenumeration – Skapa en kostnadsfritt
  • Python 3.x
    • Python-installationen bör innehålla pip. Du kan kontrollera om du har pip installerat genom att köra pip --version på kommandoraden. Hämta pip genom att installera den senaste versionen av Python.
  • När du har din Azure-prenumeration skapar du en Content Moderator-resurs i Azure-portalen för att hämta din nyckel och slutpunkt. Vänta tills den har distribuerats och klicka på knappen Gå till resurs .
    • Du behöver nyckeln och slutpunkten från den resurs som du skapar för att ansluta ditt program till Content Moderator. Du klistrar in nyckeln och slutpunkten i koden nedan senare i snabbstarten.
    • Du kan använda den kostnadsfria prisnivån (F0) för att prova tjänsten och uppgradera senare till en betald nivå för produktion.

Konfigurera

Installera klientbiblioteket

När du har installerat Python kan du installera Content Moderator-klientbiblioteket med följande kommando:

pip install --upgrade azure-cognitiveservices-vision-contentmoderator

Skapa ett nytt Python-program

Skapa ett nytt Python-skript och öppna det i önskad redigerare eller IDE. Lägg sedan till följande import instruktioner överst i filen.

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

Dricks

Vill du visa hela snabbstartskodfilen på en gång? Du hittar den på GitHub, som innehåller kodexemplen i den här snabbstarten.

Skapa sedan variabler för resursens slutpunktsplats och nyckel.

Viktigt!

Gå till Azure-portalen. Om Content Moderator-resursen som du skapade i avsnittet Förutsättningar har distribuerats klickar du på knappen Gå till resurs under Nästa steg. Du hittar din nyckel och slutpunkt på resursens nyckel- och slutpunktssida under resurshantering.

CONTENT_MODERATOR_ENDPOINT = "PASTE_YOUR_CONTENT_MODERATOR_ENDPOINT_HERE"
subscription_key = "PASTE_YOUR_CONTENT_MODERATOR_SUBSCRIPTION_KEY_HERE"

Viktigt!

Kom ihåg att ta bort nyckeln från koden när du är klar och publicera den aldrig offentligt. För produktion använder du ett säkert sätt att lagra och komma åt dina autentiseringsuppgifter som Azure Key Vault. Mer information finns i säkerhetsartikeln för Azure AI-tjänster.

Objektmodell

Följande klasser hanterar några av de viktigaste funktionerna i Content Moderator Python-klientbiblioteket.

Name beskrivning
ContentModeratorClient Den här klassen behövs för alla Content Moderator-funktioner. Du instansierar den med din prenumerationsinformation och använder den för att skapa instanser av andra klasser.
ImageModerationOperations Den här klassen innehåller funktioner för att analysera bilder för innehåll för vuxna, personlig information eller mänskliga ansikten.
TextModerationOperations Den här klassen innehåller funktioner för att analysera text för språk, svordomar, fel och personlig information.

Kodexempel

De här kodfragmenten visar hur du utför följande uppgifter med Content Moderator-klientbiblioteket för Python:

Autentisera klienten

Instansiera en klient med slutpunkten och nyckeln. Skapa ett CognitiveServicesCredentials](/python/api/msrest/msrest.authentication.cognitiveservicescredentials-objekt med nyckeln och använd det med slutpunkten för att skapa ett ContentModeratorClient-objekt .

client = ContentModeratorClient(
    endpoint=CONTENT_MODERATOR_ENDPOINT,
    credentials=CognitiveServicesCredentials(subscription_key)
)

Måttlig text

Följande kod använder en Content Moderator-klient för att analysera en texttext och skriva ut resultatet till konsolen. Skapa först en text_files/ mapp i roten av projektet och lägg till en content_moderator_text_moderation.txt fil. Lägg till din egen text i den här filen eller använd följande exempeltext:

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

Lägg till en referens till den nya mappen.

TEXT_FOLDER = os.path.join(os.path.dirname(
    os.path.realpath(__file__)), "text_files")

Lägg sedan till följande kod i Python-skriptet.

# 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())

Använda en lista med anpassade termer

Följande kod visar hur du hanterar en lista med anpassade termer för textmoderering. Du kan använda klassen ListManagementTermListsOperations för att skapa en termlista, hantera de enskilda termerna och visa andra texttexttexter mot den.

Hämta exempeltext

Om du vill använda det här exemplet måste du skapa en text_files/ mapp i roten för projektet och lägga till en content_moderator_term_list.txt fil. Den här filen ska innehålla organisk text som ska kontrolleras mot listan med villkor. Du kan använda följande exempeltext:

This text contains the terms "term1" and "term2".

Lägg till en referens till mappen om du inte redan har definierat en.

TEXT_FOLDER = os.path.join(os.path.dirname(
    os.path.realpath(__file__)), "text_files")

Skapa en lista

Lägg till följande kod i Python-skriptet för att skapa en lista med anpassade termer och spara dess ID-värde.

#
# 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

Definiera listinformation

Du kan använda en listas ID för att redigera dess namn och beskrivning.

#
# 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())

Lägg till en term i listan

Följande kod lägger till villkoren "term1" och "term2" i listan.

#
# 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"
)

Hämta alla termer i listan

Du kan använda list-ID:t för att returnera alla termer i listan.

#
# 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())

Uppdatera listindexet

När du lägger till eller tar bort termer från listan måste du uppdatera indexet innan du kan använda den uppdaterade listan.

#
# 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)

Skärmtext mot listan

Huvudfunktionerna i listan med anpassade termer är att jämföra en texttext med listan och ta reda på om det finns några matchande termer.

#
# 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())

Ta bort en term från en lista

Följande kod tar bort termen "term1" från listan.

#
# 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"
)

Ta bort alla termer från en lista

Använd följande kod för att rensa en lista över alla dess villkor.

#
# 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")

Ta bort en lista

Använd följande kod för att ta bort en lista med anpassade termer.

#
# Delete list
#
print("\nDelete the term list {}".format(list_id))
client.list_management_term_lists.delete(list_id=list_id)

Måttliga bilder

Följande kod använder en Content Moderator-klient, tillsammans med ett ImageModerationOperations-objekt , för att analysera bilder för olämpligt innehåll och olämpligt innehåll.

Hämta exempelbilder

Definiera en referens till vissa bilder som ska analyseras.

IMAGE_LIST = [
    "https://moderatorsampleimages.blob.core.windows.net/samples/sample2.jpg",
    "https://moderatorsampleimages.blob.core.windows.net/samples/sample5.png"
]

Lägg sedan till följande kod för att iterera via dina bilder. Resten av koden i det här avsnittet kommer att gå in i den här loopen.

for image_url in IMAGE_LIST:
    print("\nEvaluate image {}".format(image_url))

Sök efter vuxet/olämpligt innehåll

Följande kod kontrollerar bilden på den angivna URL:en för vuxet eller olämpligt innehåll och skriver ut resultat till konsolen. Mer information om vad de här termerna betyder finns i guiden för bildmodereringsbegrepp .

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

Sök efter synlig text

Följande kod kontrollerar bilden efter synligt textinnehåll och skriver ut resultat till konsolen.

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

Sök efter ansikten

Följande kod kontrollerar bilden efter ansikten och skriver ut resultat till konsolen.

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

Använda en anpassad avbildningslista

Följande kod visar hur du hanterar en anpassad lista över bilder för bildmoderering. Den här funktionen är användbar om din plattform ofta tar emot instanser av samma uppsättning bilder som du vill skärma ut. Genom att underhålla en lista över dessa specifika bilder kan du förbättra prestandan. Med klassen ListManagementImageListsOperations kan du skapa en bildlista, hantera enskilda bilder i listan och jämföra andra bilder mot den.

Skapa följande textvariabler för att lagra de avbildnings-URL:er som du ska använda i det här scenariot.

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"
]

Kommentar

Det här är inte själva listan, utan en informell lista över bilder som läggs till i avsnittet i add images koden.

Skapa en avbildningslista

Lägg till följande kod för att skapa en avbildningslista och spara en referens till dess 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

Lägga till bilder i en lista

Följande kod lägger till alla dina bilder i listan.

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

Definiera hjälpfunktionen add_images någon annanstans i skriptet.

#
# 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

Hämta bilder i listan

Följande kod skriver ut namnen på alla bilder i listan.

#
# 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())

Uppdatera listinformation

Du kan använda list-ID:t för att uppdatera namnet och beskrivningen av listan.

#
# 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())

Hämta listinformation

Använd följande kod för att skriva ut den aktuella informationen i listan.

#
# 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())

Uppdatera listindexet

När du har lagt till eller ta bort bilder måste du uppdatera listindexet innan du kan använda det för att visa andra bilder.

#
# 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)

Matcha bilder mot listan

Huvudfunktionen i bildlistor är att jämföra nya bilder och se om det finns några matchningar.

#
# 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())

Ta bort en bild från listan

Följande kod tar bort ett objekt från listan. I det här fallet är det en bild som inte matchar listkategorin.

#
# 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]
)

Ta bort alla bilder från en lista

Använd följande kod för att rensa en bildlista.

#
# 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)

Ta bort bildlistan

Använd följande kod för att ta bort en viss bildlista.

#
# Delete list
#
print("\nDelete the image list {}".format(list_id))
client.list_management_image_lists.delete(list_id=list_id)

Kör appen

Kör programmet med kommandot python på din snabbstartsfil.

python quickstart-file.py

Rensa resurser

Om du vill rensa och ta bort en Azure AI-tjänstprenumeration kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.

Nästa steg

I den här snabbstarten har du lärt dig hur du använder Content Moderator Python-biblioteket för att utföra modereringsuppgifter. Läs sedan mer om moderering av bilder eller andra medier genom att läsa en konceptuell guide.

Kom igång med REST-API:et för Azure Content Moderator.

Content Moderator är en AI-tjänst som låter dig hantera innehåll som kan vara stötande, riskabelt eller på annat sätt oönskat. Använd den AI-baserade con tältläge ration-tjänsten för att skanna text, bild och videor och tillämpa innehållsflaggor automatiskt. Skapa programvara för innehållsfiltrering i din app för att följa regler eller underhålla den avsedda miljön för dina användare.

Använd Content Moderator REST API för att:

  • Måttlig text
  • Måttliga bilder

Förutsättningar

  • Azure-prenumeration – Skapa en kostnadsfritt
  • När du har din Azure-prenumeration skapar du en Content Moderator-resurs i Azure-portalen för att hämta din nyckel och slutpunkt. Vänta tills den har distribuerats och klicka på knappen Gå till resurs .
    • Du behöver nyckeln och slutpunkten från den resurs som du skapar för att ansluta ditt program till Content Moderator. Du klistrar in nyckeln och slutpunkten i koden nedan senare i snabbstarten.
    • Du kan använda den kostnadsfria prisnivån (F0) för att prova tjänsten och uppgradera senare till en betald nivå för produktion.
  • PowerShell version 6.0+ eller ett liknande kommandoradsprogram.

Måttlig text

Du använder ett kommando som följande för att anropa Content Moderator-API:et för att analysera en texttext och skriva ut resultatet till konsolen.

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"

Kopiera kommandot till en textredigerare och gör följande ändringar:

  1. Tilldela Ocp-Apim-Subscription-Key till din giltiga ansiktsprenumerationsnyckel.

    Viktigt!

    Kom ihåg att ta bort nyckeln från koden när du är klar och publicera den aldrig offentligt. För produktion använder du ett säkert sätt att lagra och komma åt dina autentiseringsuppgifter som Azure Key Vault. Mer information finns i säkerhetsartikeln för Azure AI-tjänster.

  2. Ändra den första delen av fråge-URL:en så att den matchar den slutpunkt som motsvarar din prenumerationsnyckel.

    Kommentar

    Nya resurser som skapats efter den 1 juli 2019 använder anpassade underdomännamn. Mer information och en fullständig lista över regionala slutpunkter finns i Anpassade underdomännamn för Azure AI-tjänster.

  3. Du kan också ändra brödtexten i begäran till den textsträng som du vill analysera.

När du har gjort dina ändringar öppnar du en kommandotolk och anger det nya kommandot.

Granska resultaten

Du bör se textmodereringsresultatet som visas som JSON-data i konsolfönstret. Till exempel:

{
  "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"
}

Mer information om textattributen som Content Moderator visar finns i konceptguiden textmoderering .

Måttliga bilder

Du använder ett kommando som följande för att anropa Content Moderator-API:et för att moderera en fjärrbild och skriva ut resultatet till konsolen.

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\"}"

Kopiera kommandot till en textredigerare och gör följande ändringar:

  1. Tilldela Ocp-Apim-Subscription-Key till din giltiga ansiktsprenumerationsnyckel.
  2. Ändra den första delen av fråge-URL:en så att den matchar den slutpunkt som motsvarar din prenumerationsnyckel.
  3. Du kan också ändra "Value" URL:en i begärandetexten till vilken fjärrbild du vill moderera.

Dricks

Du kan också moderera lokala bilder genom att skicka bytedata till begärandetexten. Se referensdokumentationen för att lära dig hur du gör detta.

När du har gjort dina ändringar öppnar du en kommandotolk och anger det nya kommandot.

Granska resultaten

Du bör se resultatet av bildmoderering som visas som JSON-data i konsolfönstret.

{
  "AdultClassificationScore": x.xxx,
  "IsImageAdultClassified": <Bool>,
  "RacyClassificationScore": x.xxx,
  "IsImageRacyClassified": <Bool>,
  "AdvancedInfo": [],
  "Result": false,
  "Status": {
    "Code": 3000,
    "Description": "OK",
    "Exception": null
  },
  "TrackingId": "<Request Tracking Id>"
}

Mer information om de bildattribut som Content Moderator skärmar för finns i guiden För bildmodereringsbegrepp .

Rensa resurser

Om du vill rensa och ta bort en Azure AI-tjänstprenumeration kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.

Nästa steg

I den här snabbstarten har du lärt dig hur du använder Content Moderator REST API för att utföra modereringsuppgifter. Läs sedan mer om moderering av bilder eller andra medier genom att läsa en konceptuell guide.