Rövid útmutató: A Content Moderator ügyfélkódtár használata
Fontos
Az Azure Content Moderator 2024 februárjától megszűnik, és 2027 februárjáig megszűnik. Ezt az Azure AI Content Safety váltja fel, amely fejlett AI-funkciókat és továbbfejlesztett teljesítményt kínál.
Az Azure AI Content Safety 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 Safety számos forgatókönyvre alkalmas, például online piacterekre, játékvállalatokra, közösségi üzenetkezelési platformokra, nagyvállalati médiavállalatokra és K-12 oktatási megoldásszolgáltatókra. 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 Safety 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 Safety több mint 100 nyelvet támogat, és kifejezetten angol, német, japán, spanyol, francia, olasz, portugál és kínai nyelven van betanítva.
Az Azure AI Content Safety robusztus és rugalmas megoldást kínál a con sátormód ration igényeihez. A Content Moderatorról az Azure AI Content Safetyre 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 Safetyről, és ismerje meg, hogyan emelheti ki 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());
}
}
Szövegmoderálási eredmények nyomtatása
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);
Eredmények nyomtatása
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
- 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
- Közepes szöveg
- Egyéni kifejezéslista használata
- Képek moderálása
- Egyéni képlista használata
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:
- 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.
- 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.
- 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:
- Rendelje hozzá
Ocp-Apim-Subscription-Key
érvényes Face-előfizetési kulcsát. - 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.
- 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.