Rövid útmutató: A Content Moderator ügyfélkódtár használata

Fontos

Az Azure Content Moderator 2024 februárjában megszűnik, és 2027 februárjáig megszűnik. Ezt az Azure AI Content Széf ty váltja fel, amely fejlett AI-funkciókat és továbbfejlesztett teljesítményt kínál.

Az Azure AI Content Széf ty egy átfogó megoldás, amely a felhasználók által létrehozott és AI által létrehozott tartalmak észlelésére szolgál az alkalmazásokban és szolgáltatásokban. Az Azure AI Content Széf ty számos forgatókönyvhöz alkalmas, például online piacterekhez, játékvállalatokhoz, közösségi üzenetkezelési platformokhoz, nagyvállalati médiavállalatokhoz és K-12 oktatási megoldásszolgáltatókhoz. Az alábbiakban áttekintjük a funkcióit és képességeit:

  • Szöveg- és képészlelési API-k: Több súlyossági szinttel vizsgálhat szöveget és képeket szexuális tartalmak, erőszak, gyűlölet és önkárosítás esetén.
  • Content Széf ty Studio: Egy online eszköz, amely a legújabb con sátormód ration ML-modellek használatával potenciálisan sértő, kockázatos vagy nemkívánatos tartalmak kezelésére lett kialakítva. Sablonokat és testreszabott munkafolyamatokat biztosít, amelyek lehetővé teszik a felhasználók számára, hogy saját con sátormód ration rendszereket építsenek.
  • Nyelvi támogatás: Az Azure AI Content Széf ty több mint 100 nyelvet támogat, és kifejezetten angol, német, japán, spanyol, francia, olasz, portugál és kínai nyelven tanítják be.

Az Azure AI Content Széf ty robusztus és rugalmas megoldást kínál a con sátormód ration igényeihez. A Content Moderatorról az Azure AI Content Széf ty-ra való váltással kihasználhatja a legújabb eszközöket és technológiákat, hogy a tartalmak mindig a pontos specifikációknak megfelelően legyenek moderálva.

Tudjon meg többet az Azure AI Content Széf ty-ról, és ismerje meg, hogyan emelheti a con sátormód ration stratégiát.

Ismerkedés a .NET-hez készült Azure Content Moderator ügyfélkódtárral. Az alábbi lépéseket követve telepítse a NuGet-csomagot, és próbálja ki az alapműveletek példakódját.

A Content Moderator egy AI-szolgáltatás, amely lehetővé teszi a potenciálisan sértő, kockázatos vagy más módon nemkívánatos tartalmak kezelését. Az AI-alapú con sátormód ration szolgáltatással szövegeket, képeket és videókat vizsgálhat, és automatikusan alkalmazhat tartalomjelzőket. Tartalomszűrési szoftvereket hozhat létre az alkalmazásba a szabályzatoknak való megfelelés vagy a felhasználók számára megfelelő környezet fenntartása érdekében.

Használja a Content Moderator ügyfélkódtárat a .NET-hez a következő célokra:

  • Közepes szöveg
  • Képek moderálása

Referenciadokumentáció Kódtár forráskódcsomagja | (NuGet) | -minták |

Előfeltételek

  • Azure-előfizetés – Ingyenes létrehozás
  • A Visual Studio IDE vagy a .NET Core aktuális verziója.
  • Miután megkapta az Azure-előfizetését, hozzon létre egy Content Moderator-erőforrást az Azure Portalon a kulcs és a végpont lekéréséhez. Várja meg, amíg üzembe helyezi, és kattintson az Erőforrás megnyitása gombra.
    • Az alkalmazás Content Moderatorhoz való csatlakoztatásához szüksége lesz a létrehozott erőforrás kulcsára és végpontjára. A rövid útmutató későbbi részében illessze be a kulcsot és a végpontot az alábbi kódba.
    • Az ingyenes tarifacsomag (F0) használatával kipróbálhatja a szolgáltatást, és később frissíthet egy fizetős szintre az éles környezetben.

Beállítás

Új C#-alkalmazás létrehozása

A Visual Studio használatával hozzon létre egy új .NET Core-alkalmazást.

Telepítse az ügyfélkódtárat

Miután létrehozott egy új projektet, telepítse az ügyfélkódtárat a jobb gombbal a projektmegoldásra kattintva a Megoldáskezelő, és válassza a NuGet-csomagok kezelése lehetőséget. A megnyíló csomagkezelőben válassza a Tallózás elemet, jelölje be az Előzetes verzió belefoglalása lehetőséget, és keresse meg a következőt: Microsoft.Azure.CognitiveServices.ContentModerator. Válassza ki az 2.0.0 verziót, majd a Telepítés parancsot.

Tipp.

Szeretné egyben megtekinteni a teljes gyorsútmutatós kódfájlt? Megtalálhatja a GitHubon, amely a gyorsútmutató kódmintáit is tartalmazza.

A projektkönyvtárban nyissa meg a Program.cs fájlt az előnyben részesített szerkesztőben vagy IDE-ben. Adja hozzá a következő using-utasításokat:

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;

A Program osztályban hozzon létre változókat az erőforrás kulcsához és végpontjához.

Fontos

Nyissa meg az Azure Portalt. Ha az Előfeltételek szakaszban létrehozott Content Moderator-erőforrás sikeresen üzembe lett helyezve, kattintson az Erőforrás megnyitása gombra a Következő lépések csoportban. A kulcsot és a végpontot az erőforrás kulcs- és végpontoldalán, az erőforrás-kezelés alatt találja.

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

Fontos

Ne felejtse el eltávolítani a kulcsot a kódból, amikor elkészült, és soha ne tegye közzé nyilvánosan. Éles környezetben biztonságos módon tárolhatja és érheti el a hitelesítő adatait, például az Azure Key Vaultot. További információkért tekintse meg az Azure AI-szolgáltatások biztonsági cikkét.

Az alkalmazás metódusában main() adja hozzá az ebben a rövid útmutatóban használt metódusok hívásait. Ezeket később fogja létrehozni.

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

Objektummodell

Az alábbi osztályok a Content Moderator .NET-ügyfélkódtár főbb funkcióit kezelik.

Név Leírás
ContentModeratorClient Ez az osztály minden Content Moderator-funkcióhoz szükséges. Az előfizetés adataival példányosíthatja, és más osztályok példányainak előállítására használhatja.
ImageModeration Ez az osztály a felnőtt tartalmak, személyes adatok vagy emberi arcok képeinek elemzésére szolgál.
TextModeration Ez az osztály a nyelv, a trágárság, a hibák és a személyes adatok szövegének elemzésére szolgál.

Kódpéldák

Ezek a kódrészletek bemutatják, hogyan végezheti el a következő feladatokat a .NET Content Moderator ügyfélkódtárával:

Az ügyfél hitelesítése

Egy új metódusban példányosíthatja az ügyfélobjektumokat a végponttal és a kulccsal.

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

    return client;
}

Közepes szöveg

Az alábbi kód egy Content Moderator-ügyfél használatával elemzi a szövegtörzset, és kinyomtatja az eredményeket a konzolon. A programosztály gyökerében adja meg a bemeneti és kimeneti fájlokat:

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

Ezután a projekt gyökerénél adjon hozzá egy TextFile.txt fájlt. Adjon hozzá saját szöveget a fájlhoz, vagy használja a következő mintaszöveget:

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

Ezután definiálja a szövegmoderálási módszert valahol a Program osztályban:

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

Képek moderálása

Az alábbi kód egy Content Moderator-ügyfelet és egy ImageModeration objektumot használ a távoli képek felnőtt és racy tartalmak elemzéséhez.

Feljegyzés

A helyi rendszerkép tartalmát is elemezheti. Tekintse meg a helyi rendszerképekkel működő módszerek és műveletek referenciadokumentációját .

Mintaképek lekérése

Adja meg a bemeneti és kimeneti fájlokat a programosztály gyökerénél:

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

Ezután hozza létre a bemeneti fájlt ImageFiles.txt a projekt gyökerénél. Ebben a fájlban hozzáadja az elemezni kívánt képek URL-címét – minden sorban egy URL-címet. A következő mintaképeket használhatja:

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

Segédosztály definiálása

Adja hozzá a következő osztálydefiníciót a Program osztályban. Ez a belső osztály kezeli a képmoderálási eredményeket.

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

A képmoderálási módszer definiálása

Az alábbi módszer végigvezeti a kép URL-címeit egy szövegfájlban, létrehoz egy EvaluationData-példányt , és elemzi a képet felnőtt/racy tartalmak, szövegek és emberi arcok esetében. Ezután hozzáadja a végleges EvaluationData-példányt egy listához, és megírja a visszaadott adatok teljes listáját a konzolra.

Iterálás képeken keresztül

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

Tartalom elemzése

A Content Moderator által képernyőre fogott képattribútumokról további információt a Képmoderálási fogalmak útmutatójában talál.

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

Moderálási eredmények írása fájlba

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

Az alkalmazás futtatása

Futtassa az alkalmazást az IDE ablak tetején található Hibakeresés gombra kattintva.

Az erőforrások eltávolítása

Ha törölni és eltávolítani szeretne egy Azure AI-szolgáltatási előfizetést, törölheti az erőforrást vagy az erőforráscsoportot. Az erőforráscsoport törlése a hozzá társított egyéb erőforrásokat is törli.

Következő lépések

Ebben a rövid útmutatóban megtanulta, hogyan végezhet moderálási feladatokat a Content Moderator .NET-kódtár használatával. Ezután egy fogalmi útmutató elolvasásával további információt kaphat a képek vagy más média moderálásáról.

Ismerkedés a Java Azure Content Moderator ügyfélkódtárával. Az alábbi lépéseket követve telepítse a Maven-csomagot, és próbálja ki az alapműveletek példakódját.

A Content Moderator egy AI-szolgáltatás, amely lehetővé teszi a potenciálisan sértő, kockázatos vagy más módon nemkívánatos tartalmak kezelését. Az AI-alapú con sátormód ration szolgáltatással szövegeket, képeket és videókat vizsgálhat, és automatikusan alkalmazhat tartalomjelzőket. Tartalomszűrési szoftvereket hozhat létre az alkalmazásba a szabályzatoknak való megfelelés vagy a felhasználók számára megfelelő környezet fenntartása érdekében.

Használja a Java Content Moderator ügyfélkódtárát a következő célokra:

  • Közepes szöveg
  • Képek moderálása

Referenciadokumentáció Kódtár forráskód |összetevője (Maven)Minták | |

Előfeltételek

  • Azure-előfizetés – Ingyenes létrehozás
  • A Java Development Kit (JDK) aktuális verziója
  • A Gradle buildelési eszköz vagy egy másik függőségkezelő.
  • Miután megkapta az Azure-előfizetését, hozzon létre egy Content Moderator-erőforrást az Azure Portalon a kulcs és a végpont lekéréséhez. Várja meg, amíg üzembe helyezi, és kattintson az Erőforrás megnyitása gombra.
    • Az alkalmazás Content Moderatorhoz való csatlakoztatásához szüksége lesz a létrehozott erőforrás kulcsára és végpontjára. A rövid útmutató későbbi részében illessze be a kulcsot és a végpontot az alábbi kódba.
    • Az ingyenes tarifacsomag (F0) használatával kipróbálhatja a szolgáltatást, és később frissíthet egy fizetős szintre az éles környezetben.

Beállítás

Új Gradle-projekt létrehozása

Egy konzolablakban (pl. cmd, PowerShell vagy Bash) hozzon létre egy új mappát az alkalmazásnak, majd navigáljon oda.

mkdir myapp && cd myapp

Futtassa a gradle init parancsot a munkakönyvtárból. Ez a parancs alapvető buildfájlokat hoz létre a Gradle-hez, beleértve a build.gradle.kts fájlt, amelyet futásidőben használnak az alkalmazás létrehozásához és konfigurálásához.

gradle init --type basic

Amikor a rendszer kéri, hogy válasszon egy DSL-t, válassza a Kotlin lehetőséget.

Telepítse az ügyfélkódtárat

Keresse meg a build.gradle.kts fájlt, és nyissa meg a kívánt IDE- vagy szövegszerkesztővel. Ezután másolja a következő buildkonfigurációba. Ez a konfiguráció java-alkalmazásként definiálja a projektet, amelynek belépési pontja a ContentModeratorQuickstart osztály. Importálja a Content Moderator ügyfélkódtárat és a JSON-szerializáláshoz szükséges GSON-sdk-t.

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

Java-fájl létrehozása

A munkakönyvtárban futtassa a következő parancsot a projekt forrásmappájának létrehozásához:

mkdir -p src/main/java

Lépjen az új mappára, és hozzon létre egy ContentModeratorQuickstart.java nevű fájlt. Nyissa meg a kívánt szerkesztőben vagy IDE-ben, és adja hozzá a következő import utasításokat:

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

Tipp.

Szeretné egyben megtekinteni a teljes gyorsútmutatós kódfájlt? Megtalálhatja a GitHubon, amely a gyorsútmutató kódmintáit is tartalmazza.

Az alkalmazás ContentModeratorQuickstart osztályában hozzon létre változókat az erőforrás kulcsához és végpontjához.

Fontos

Nyissa meg az Azure Portalt. Ha az Előfeltételek szakaszban létrehozott Content Moderator-erőforrás sikeresen üzembe lett helyezve, kattintson az Erőforrás megnyitása gombra a Következő lépések csoportban. A kulcsot és a végpontot az erőforrás kulcs- és végpontoldalán, az erőforrás-kezelés alatt találja.

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

Fontos

Ne felejtse el eltávolítani a kulcsot a kódból, amikor elkészült, és soha ne tegye közzé nyilvánosan. Éles környezetben biztonságos módon tárolhatja és érheti el a hitelesítő adatait, például az Azure Key Vaultot. További információkért tekintse meg az Azure AI-szolgáltatások biztonsági cikkét.

Az alkalmazás fő metódusában adja hozzá az ebben a rövid útmutatóban használt metódusok hívásait. Ezeket a metódusokat később fogja definiálni.

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

Objektummodell

Az alábbi osztályok a Content Moderator Java-ügyfélkódtár főbb funkcióit kezelik.

Név Leírás
ContentModeratorClient Ez az osztály minden Content Moderator-funkcióhoz szükséges. Az előfizetés adataival példányosíthatja, és más osztályok példányainak előállítására használhatja.
ImageModeration Ez az osztály a felnőtt tartalmak, személyes adatok vagy emberi arcok képeinek elemzésére szolgál.
TextModerations Ez az osztály a nyelv, a trágárság, a hibák és a személyes adatok szövegének elemzésére szolgál.

Kódpéldák

Ezek a kódrészletek bemutatják, hogyan végezheti el a következő feladatokat a Java Content Moderator ügyfélkódtárával:

Az ügyfél hitelesítése

Az alkalmazás metódusában main hozzon létre egy ContentModeratorClient objektumot az előfizetés végpontértékével és az előfizetési kulccsal.

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

Közepes szöveg

Mintaszöveg beállítása

A ContentModeratorQuickstart osztály tetején adjon meg egy helyi szövegfájlra mutató hivatkozást. Vegyen fel egy .txt fájlt a projektkönyvtárba, és írja be az elemezni kívánt szöveget.

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

Szöveg elemzése

Hozzon létre egy új metódust, amely beolvassa a .txt fájlt, és meghívja a screenText metódust minden sorban.

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

Adja hozzá a következő kódot a moderálási eredmények egy .json fájlba való nyomtatásához a projektkönyvtárban.

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

Zárja be az és catch az try utasítást a metódus befejezéséhez.

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

Képek moderálása

Mintakép beállítása

Egy új metódusban hozzon létre egy BodyModelModel objektumot egy adott URL-sztringgel, amely egy képre mutat.

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

Segédosztály definiálása

Ezután a ContentModeratorQuickstart.java fájlban adja hozzá a következő osztálydefiníciót a ContentModeratorQuickstart osztályban. A rendszer ezt a belső osztályt használja a képmoderálási folyamat során.

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

Tartalom elemzése

Ez a kódsor ellenőrzi a képet a megadott URL-címen felnőtt vagy racy tartalom esetén. A feltételekkel kapcsolatos információkért tekintse meg a képmoderálás fogalmi útmutatóját.

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

Szöveg keresése

Ez a kódsor ellenőrzi a kép látható szövegét.

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

Arcok keresése

Ez a kódsor ellenőrzi az emberi arcok képét.

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

Végül tárolja a visszaadott adatokat a EvaluationData listában.

resultsList.add(imageData);

while A ciklus után adja hozzá a következő kódot, amely kinyomtatja az eredményeket a konzolon és egy kimeneti fájlban, 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();

Zárja be az utasítást, try és adjon hozzá egy utasítást catch a metódus befejezéséhez.

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

Az alkalmazás futtatása

Az alkalmazást a következőkkel hozhatja létre:

gradle build

Futtassa az alkalmazást a gradle run következő paranccsal:

gradle run

Ezután lépjen az src/main/resources/ModerationOutput.json fájlra, és tekintse meg a con sátormód ration eredményét.

Az erőforrások eltávolítása

Ha törölni és eltávolítani szeretne egy Azure AI-szolgáltatási előfizetést, törölheti az erőforrást vagy az erőforráscsoportot. Az erőforráscsoport törlése a hozzá társított egyéb erőforrásokat is törli.

Következő lépések

Ebben a rövid útmutatóban megtanulta, hogyan végezhet moderálási feladatokat a Content Moderator Java-kódtár használatával. Ezután egy fogalmi útmutató elolvasásával további információt kaphat a képek vagy más média moderálásáról.

Ismerkedés a Python Azure Content Moderator ügyfélkódtárával. Az alábbi lépéseket követve telepítse a PiPy-csomagot, és próbálja ki a példakódot az alapvető feladatokhoz.

A Content Moderator egy AI-szolgáltatás, amely lehetővé teszi a potenciálisan sértő, kockázatos vagy más módon nemkívánatos tartalmak kezelését. Az AI-alapú con sátormód ration szolgáltatással szövegeket, képeket és videókat vizsgálhat, és automatikusan alkalmazhat tartalomjelzőket. Tartalomszűrési szoftvereket hozhat létre az alkalmazásba a szabályzatoknak való megfelelés vagy a felhasználók számára megfelelő környezet fenntartása érdekében.

A Python Content Moderator ügyféloldali kódtára a következő célokra használható:

  • Közepes szöveg
  • Egyéni kifejezéslista használata
  • Képek moderálása
  • Egyéni képlista használata

Referenciadokumentáció Kódtár forráskódcsomagja | (PiPy) | -minták |

Előfeltételek

  • Azure-előfizetés – Ingyenes létrehozás
  • Python 3.x
    • A Python-telepítésnek tartalmaznia kell a pipet. A parancssorban való futtatással pip --version ellenőrizheti, hogy telepítve van-e a pip. Kérje le a pipet a Python legújabb verziójának telepítésével.
  • Miután megkapta az Azure-előfizetését, hozzon létre egy Content Moderator-erőforrást az Azure Portalon a kulcs és a végpont lekéréséhez. Várja meg, amíg üzembe helyezi, és kattintson az Erőforrás megnyitása gombra.
    • Az alkalmazás Content Moderatorhoz való csatlakoztatásához szüksége lesz a létrehozott erőforrás kulcsára és végpontjára. A rövid útmutató későbbi részében illessze be a kulcsot és a végpontot az alábbi kódba.
    • Az ingyenes tarifacsomag (F0) használatával kipróbálhatja a szolgáltatást, és később frissíthet egy fizetős szintre az éles környezetben.

Beállítás

Telepítse az ügyfélkódtárat

A Python telepítése után az alábbi paranccsal telepítheti a Content Moderator ügyfélkódtárat:

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

Új Python-alkalmazás létrehozása

Hozzon létre egy új Python-szkriptet, és nyissa meg az előnyben részesített szerkesztőben vagy IDE-ben. Ezután adja hozzá a következő import utasításokat a fájl elejéhez.

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

Tipp.

Szeretné egyben megtekinteni a teljes gyorsútmutatós kódfájlt? Megtalálhatja a GitHubon, amely a gyorsútmutató kódmintáit is tartalmazza.

Ezután hozzon létre változókat az erőforrás végponthelyéhez és kulcsához.

Fontos

Nyissa meg az Azure Portalt. Ha az Előfeltételek szakaszban létrehozott Content Moderator-erőforrás sikeresen üzembe lett helyezve, kattintson az Erőforrás megnyitása gombra a Következő lépések csoportban. A kulcsot és a végpontot az erőforrás kulcs- és végpontoldalán, az erőforrás-kezelés alatt találja.

CONTENT_MODERATOR_ENDPOINT = "PASTE_YOUR_CONTENT_MODERATOR_ENDPOINT_HERE"
subscription_key = "PASTE_YOUR_CONTENT_MODERATOR_SUBSCRIPTION_KEY_HERE"

Fontos

Ne felejtse el eltávolítani a kulcsot a kódból, amikor elkészült, és soha ne tegye közzé nyilvánosan. Éles környezetben biztonságos módon tárolhatja és érheti el a hitelesítő adatait, például az Azure Key Vaultot. További információkért tekintse meg az Azure AI-szolgáltatások biztonsági cikkét.

Objektummodell

Az alábbi osztályok a Content Moderator Python-ügyfélkódtár főbb funkcióit kezelik.

Név Leírás
ContentModeratorClient Ez az osztály minden Content Moderator-funkcióhoz szükséges. Az előfizetés adataival példányosíthatja, és más osztályok példányainak előállítására használhatja.
ImageModerationOperations Ez az osztály a felnőtt tartalmak, személyes adatok vagy emberi arcok képeinek elemzésére szolgál.
TextModerationOperations Ez az osztály a nyelv, a trágárság, a hibák és a személyes adatok szövegének elemzésére szolgál.

Kódpéldák

Ezek a kódrészletek bemutatják, hogyan végezheti el a következő feladatokat a Python Content Moderator ügyfélkódtárával:

Az ügyfél hitelesítése

Ügyfél példányosítása a végponttal és a kulccsal. CognitiveServicesCredentials létrehozása](/python/api/msrest/msrest.authentication.cognitiveservicescredentials object with your key, and use it with your endpoint to create a ContentModeratorClient object.

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

Közepes szöveg

Az alábbi kód egy Content Moderator-ügyfél használatával elemzi a szövegtörzset, és kinyomtatja az eredményeket a konzolon. Először hozzon létre egy text_files/ mappát a projekt gyökerénél, és adjon hozzá egy content_moderator_text_moderation.txt fájlt. Adjon hozzá saját szöveget a fájlhoz, vagy használja a következő mintaszöveget:

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

Adjon hozzá egy hivatkozást az új mappához.

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

Ezután adja hozzá a következő kódot a Python-szkripthez.

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

Egyéni kifejezéslista használata

Az alábbi kód bemutatja, hogyan kezelheti a szövegmoderálás egyéni kifejezéseinek listáját. A ListManagementTermListsOperations osztály használatával létrehozhat egy kifejezéslistát, kezelheti az egyes kifejezéseket, és más szövegtörzseket is megjeleníthet rajta.

Mintaszöveg lekérése

A minta használatához létre kell hoznia egy text_files/ mappát a projekt gyökerénél, és hozzá kell adnia egy content_moderator_term_list.txt fájlt. Ennek a fájlnak olyan szerves szöveget kell tartalmaznia, amelyet a rendszer a kifejezések listájában ellenőriz. A következő mintaszöveget használhatja:

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

Ha még nem definiált egyet, adjon hozzá egy hivatkozást a mappához.

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

Lista létrehozása

Adja hozzá a következő kódot a Python-szkripthez egy egyéni kifejezéslista létrehozásához és az azonosító értékének mentéséhez.

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

Lista részleteinek megadása

A lista azonosítójával szerkesztheti annak nevét és leírását.

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

Kifejezés hozzáadása a listához

Az alábbi kód hozzáadja a feltételeket "term1" és "term2" a listát.

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

Az összes kifejezés lekérése a listában

A listaazonosítóval visszaadhatja a lista összes kifejezését.

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

A listaindex frissítése

Amikor kifejezéseket ad hozzá vagy távolít el a listából, frissítenie kell az indexet, mielőtt használhatja a frissített listát.

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

Képernyőszöveg a listához

Az egyéni kifejezések listájának fő funkciója, hogy összehasonlít egy szövegtörzset a listával, és megállapítja, hogy vannak-e egyező kifejezések.

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

Kifejezés eltávolítása listából

Az alábbi kód eltávolítja a kifejezést "term1" a listából.

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

Az összes kifejezés eltávolítása a listából

Az alábbi kód használatával törölheti az összes kifejezés listáját.

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

Lista törlése

Az alábbi kóddal törölhet egy egyéni kifejezéslistát.

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

Képek moderálása

Az alábbi kód egy Content Moderator-ügyfelet és egy ImageModerationOperations objektumot használ a képek felnőtt és racy tartalmak elemzéséhez.

Mintaképek lekérése

Adjon meg néhány elemezni kívánt képre mutató hivatkozást.

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

Ezután adja hozzá a következő kódot a képek iterációjához. Az ebben a szakaszban található kód többi része ebbe a hurokba kerül.

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

Felnőtt/racy tartalom keresése

Az alábbi kód ellenőrzi a képet a megadott URL-címen felnőtt vagy racy tartalom esetén, és kinyomtatja az eredményeket a konzolon. A kifejezésekkel kapcsolatos információkért tekintse meg a képmoderálási fogalmakat ismertető útmutatót.

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

Látható szöveg keresése

Az alábbi kód ellenőrzi a kép látható szöveges tartalmát, és kinyomtatja az eredményeket a konzolon.

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

Arcok keresése

Az alábbi kód ellenőrzi az emberi arcokat, és az eredményeket a konzolra nyomtatja.

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

Egyéni képlista használata

Az alábbi kód bemutatja, hogyan kezelheti a képek egyéni listáját a képmoderáláshoz. Ez a funkció akkor hasznos, ha a platform gyakran ugyanazokat a képeket fogadja, amelyeket ki szeretne képernyőzni. Ezen képek listájának fenntartásával javíthatja a teljesítményt. A ListManagementImageListsOperations osztály lehetővé teszi egy képlista létrehozását, a lista egyes lemezképeinek kezelését és más képek összehasonlítását.

Hozza létre a következő szöveges változókat az ebben a forgatókönyvben használni kívánt kép URL-címeinek tárolásához.

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

Feljegyzés

Ez nem maga a megfelelő lista, hanem a kód szakaszában add images hozzáadandó képek informális listája.

Képlista létrehozása

Adja hozzá a következő kódot egy képlista létrehozásához és az azonosítójára mutató hivatkozás mentéséhez.

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

Képek hozzáadása listához

Az alábbi kód az összes képet hozzáadja a listához.

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

Definiálja a add_images segédfüggvényt a szkript más részén.

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

Képek lekérése a listában

Az alábbi kód kinyomtatja a listában szereplő összes kép nevét.

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

Lista részleteinek frissítése

A listaazonosítóval frissítheti a lista nevét és leírását.

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

Lista részleteinek lekérése

A lista aktuális adatainak nyomtatásához használja az alábbi kódot.

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

A listaindex frissítése

A képek hozzáadása vagy eltávolítása után frissítenie kell a listaindexet, mielőtt más képeket is képernyőre állíthat.

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

Képek egyeztetése a listával

A képlisták fő funkciója az új képek összehasonlítása, és annak megtekintése, hogy vannak-e egyezések.

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

Kép eltávolítása a listáról

Az alábbi kód eltávolít egy elemet a listából. Ebben az esetben ez egy olyan kép, amely nem egyezik a listakategóriával.

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

Az összes kép eltávolítása a listából

A következő kóddal törölhet egy képlistát.

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

A képlista törlése

Az alábbi kóddal törölhet egy adott képlistát.

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

Az alkalmazás futtatása

Futtassa az alkalmazást a python paranccsal a gyorsútmutatós fájlon.

python quickstart-file.py

Az erőforrások eltávolítása

Ha törölni és eltávolítani szeretne egy Azure AI-szolgáltatási előfizetést, törölheti az erőforrást vagy az erőforráscsoportot. Az erőforráscsoport törlése a hozzá társított egyéb erőforrásokat is törli.

Következő lépések

Ebben a rövid útmutatóban megtanulta, hogyan végezhet moderálási feladatokat a Content Moderator Python-kódtár használatával. Ezután egy fogalmi útmutató elolvasásával további információt kaphat a képek vagy más média moderálásáról.

Ismerkedés az Azure Content Moderator REST API-val.

A Content Moderator egy AI-szolgáltatás, amely lehetővé teszi a potenciálisan sértő, kockázatos vagy más módon nemkívánatos tartalmak kezelését. Az AI-alapú con sátormód ration szolgáltatással szövegeket, képeket és videókat vizsgálhat, és automatikusan alkalmazhat tartalomjelzőket. Tartalomszűrési szoftvereket hozhat létre az alkalmazásba a szabályzatoknak való megfelelés vagy a felhasználók számára megfelelő környezet fenntartása érdekében.

A Content Moderator REST API használatával:

  • Közepes szöveg
  • Képek moderálása

Előfeltételek

  • Azure-előfizetés – Ingyenes létrehozás
  • Miután megkapta az Azure-előfizetését, hozzon létre egy Content Moderator-erőforrást az Azure Portalon a kulcs és a végpont lekéréséhez. Várja meg, amíg üzembe helyezi, és kattintson az Erőforrás megnyitása gombra.
    • Az alkalmazás Content Moderatorhoz való csatlakoztatásához szüksége lesz a létrehozott erőforrás kulcsára és végpontjára. A rövid útmutató későbbi részében illessze be a kulcsot és a végpontot az alábbi kódba.
    • Az ingyenes tarifacsomag (F0) használatával kipróbálhatja a szolgáltatást, és később frissíthet egy fizetős szintre az éles környezetben.
  • PowerShell 6.0-s vagy hasonló parancssori alkalmazás.

Közepes szöveg

Az alábbihoz hasonló paranccsal meghívhatja a Content Moderator API-t egy szövegtörzs elemzéséhez, és kinyomtathatja az eredményeket a konzolon.

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"

Másolja a parancsot egy szövegszerkesztőbe, és végezze el a következő módosításokat:

  1. Rendelje hozzá Ocp-Apim-Subscription-Key érvényes Face-előfizetési kulcsát.

    Fontos

    Ne felejtse el eltávolítani a kulcsot a kódból, amikor elkészült, és soha ne tegye közzé nyilvánosan. Éles környezetben biztonságos módon tárolhatja és érheti el a hitelesítő adatait, például az Azure Key Vaultot. További információkért tekintse meg az Azure AI-szolgáltatások biztonsági cikkét.

  2. Módosítsa a lekérdezési URL-cím első részét úgy, hogy az megfeleljen az előfizetési kulcsnak megfelelő végpontnak.

    Feljegyzés

    A 2019. július 1. után létrehozott új erőforrások egyéni altartományneveket fognak használni. További információkért és a regionális végpontok teljes listájáért tekintse meg az Azure AI-szolgáltatások egyéni altartományneveit.

  3. Igény szerint módosítsa a kérés törzsét tetszőleges szövegsztringre, amelyet elemezni szeretne.

Miután végrehajtotta a módosításokat, nyisson meg egy parancssort, és írja be az új parancsot.

Az eredmények vizsgálata

A szövegmoderálási eredményeknek JSON-adatokként kell megjelennie a konzolablakban. Példa:

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

A Content Moderator által képernyőre fogott szövegattribútumokról további információt a Szövegmoderálási fogalmak útmutatójában talál.

Képek moderálása

Az alábbihoz hasonló paranccsal meghívhatja a Content Moderator API-t egy távoli kép moderálására, és kinyomtathatja az eredményeket a konzolra.

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

Másolja a parancsot egy szövegszerkesztőbe, és végezze el a következő módosításokat:

  1. Rendelje hozzá Ocp-Apim-Subscription-Key érvényes Face-előfizetési kulcsát.
  2. Módosítsa a lekérdezési URL-cím első részét úgy, hogy az megfeleljen az előfizetési kulcsnak megfelelő végpontnak.
  3. Igény szerint módosítsa a "Value" kérelem törzsében lévő URL-címet a moderálandó távoli képre.

Tipp.

A helyi képeket úgy is moderálhatja, hogy a bájtadatokat a kérelem törzsébe továbbítja. Ennek módjáról a referenciadokumentációban olvashat.

Miután végrehajtotta a módosításokat, nyisson meg egy parancssort, és írja be az új parancsot.

Az eredmények vizsgálata

A képmoderálási eredményeknek JSON-adatokként kell megjelennie a konzolablakban.

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

A Content Moderator által képernyőre fogott képattribútumokról további információt a Képmoderálási fogalmak útmutatójában talál.

Az erőforrások eltávolítása

Ha törölni és eltávolítani szeretne egy Azure AI-szolgáltatási előfizetést, törölheti az erőforrást vagy az erőforráscsoportot. Az erőforráscsoport törlése a hozzá társított egyéb erőforrásokat is törli.

Következő lépések

Ebben a rövid útmutatóban megtanulta, hogyan végezhet moderálási feladatokat a Content Moderator REST API-val. Ezután egy fogalmi útmutató elolvasásával további információt kaphat a képek vagy más média moderálásáról.