Mulai Cepat: Menggunakan pustaka klien Moderator Konten

Penting

Azure Content Moderator tidak digunakan lagi pada Februari 2024, dan akan dihentikan pada Februari 2027. Ini digantikan oleh Azure AI Content Brankas ty, yang menawarkan fitur AI tingkat lanjut dan performa yang ditingkatkan.

Azure AI Content Brankas ty adalah solusi komprehensif yang dirancang untuk mendeteksi konten yang dihasilkan pengguna dan buatan AI yang berbahaya dalam aplikasi dan layanan. Azure AI Content Brankas ty cocok untuk banyak skenario seperti marketplace online, perusahaan game, platform pesan sosial, perusahaan media perusahaan, dan penyedia solusi pendidikan K-12. Berikut adalah gambaran umum fitur dan kemampuannya:

  • API Deteksi Teks dan Gambar: Memindai teks dan gambar untuk konten seksual, kekerasan, kebencian, dan membahayakan diri sendiri dengan beberapa tingkat keparahan.
  • Content Brankas ty Studio: Alat online yang dirancang untuk menangani konten yang berpotensi menyinggung, berisiko, atau tidak diinginkan menggunakan model ML con mode tenda ration terbaru kami. Ini menyediakan templat dan alur kerja yang disesuaikan yang memungkinkan pengguna untuk membangun sistem con mode tenda ration mereka sendiri.
  • Dukungan bahasa: Azure AI Content Brankas ty mendukung lebih dari 100 bahasa dan secara khusus dilatih dalam bahasa Inggris, Jerman, Jepang, Spanyol, Prancis, Italia, Portugis, dan Cina.

Azure AI Content Brankas ty menyediakan solusi yang kuat dan fleksibel untuk kebutuhan kon mode tenda rasi Anda. Dengan beralih dari Content Moderator ke Azure AI Content Brankas ty, Anda dapat memanfaatkan alat dan teknologi terbaru untuk memastikan bahwa konten Anda selalu dimoderasi sesuai spesifikasi anda.

Pelajari selengkapnya tentang Azure AI Content Brankas ty dan jelajahi bagaimana hal itu dapat meningkatkan strategi kon mode tenda rasi Anda.

Mulailah dengan pustaka klien Azure Content Moderator untuk .NET. Ikuti langkah-langkah berikut untuk memasang paket NuGet dan cobalah contoh kode untuk tugas-tugas dasar.

Azure Content Moderator adalah layanan AI yang memungkinkan Anda menangani konten yang berpotensi menyinggung, berisiko, atau tidak diinginkan. Gunakan layanan moderasi konten yang didukung AI untuk memindai teks, gambar, dan video dan menerapkan bendera konten secara otomatis. Anda mungkin ingin membangun perangkat lunak pemfilteran konten dalam aplikasi untuk mematuhi peraturan atau mempertahankan lingkungan yang diinginkan untuk pengguna Anda.

Gunakan pustaka klien Content Moderator untuk .NET untuk:

  • Memoderasi teks
  • Gambar sedang

Dokumentasi referensi | Kode sumber pustaka | Paket (NuGet) | Sampel

Prasyarat

  • Langganan Azure - Buat langganan secara gratis
  • IDE Visual Studio atau versi .NET Core saat ini.
  • Setelah Anda memiliki langganan Azure, buat sumber daya Content Moderator di portal Azure untuk mendapatkan kunci dan titik akhir Anda. Tunggu hingga itu menyebar dan klik tombol Buka sumber daya.
    • Anda akan memerlukan kunci dan titik akhir dari sumber daya yang Anda buat untuk menyambungkan aplikasi Anda ke Content Moderator. Anda akan menempelkan kunci dan titik akhir ke dalam kode di bawah ini di mulai cepat.
    • Anda dapat menggunakan tingkat harga gratis (F0) untuk percobaan, lalu meningkatkannya ke tingkat berbayar untuk produksi.

Menyiapkan

Membuat aplikasi C# baru

Menggunakan Visual Studio, buat aplikasi .NET Core baru.

Memasang pustaka klien

Setelah Anda membuat proyek baru, pasang pustaka klien dengan mengklik kanan solusi proyek di Penjelajah Solusi, lalu pilih Kelola Paket NuGet. Di manajer paket yang terbuka, pilih Telusuri, centang Sertakan prarilis, dan cari Microsoft.Azure.CognitiveServices.ContentModerator. Pilih versi 2.0.0, lalu Pasang.

Tip

Ingin menampilkan seluruh file kode mulai cepat sekaligus? Anda dapat menemukannya di GitHub, yang berisi contoh kode dalam mulai cepat ini.

Dari direktori proyek, buka file Program.cs di editor atau IDE pilihan Anda. Tambahkan pernyataan using berikut:

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;

Di kelas Program, buat variabel untuk kunci dan titik akhir sumber daya Anda.

Penting

Buka portal Microsoft Azure. Jika sumber daya Content Moderator yang Anda buat di bagian Prasyarat berhasil disebarkan, klik tombol Buka Sumber Daya di Langkah Berikutnya. Anda dapat menemukan kunci dan titik akhir Anda di halaman kunci dan titik akhir sumber daya, di bawah manajemen sumber daya.

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

Penting

Jangan lupa menghapus kunci dari kode setelah Anda selesai, dan jangan pernah mempostingnya secara publik. Untuk produksi, gunakan cara yang aman untuk menyimpan dan mengakses kredensial Anda seperti Azure Key Vault. Lihat artikel keamanan layanan Azure AI untuk informasi selengkapnya.

Dalam metode main() aplikasi, tambahkan panggilan untuk metode yang digunakan dalam mulai cepat ini. Anda akan membuat ini nanti.

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

Model objek

Beberapa kelas berikut menangani beberapa fitur utama pustaka klien Content Moderator .NET.

Nama Deskripsi
ContentModeratorClient Kelas ini diperlukan untuk semua fungsionalitas Content Moderator. Anda membuat instans dengan informasi langganan Anda, dan Anda menggunakannya untuk menghasilkan instans kelas lain.
ImageModeration Kelas ini menyediakan fungsionalitas untuk menganalisis gambar untuk konten dewasa, informasi pribadi, atau wajah manusia.
TeksModerasi Kelas ini menyediakan fungsionalitas untuk menganalisis teks untuk bahasa pemrogram, kata-kata kotor, kesalahan, dan informasi pribadi.

Contoh kode

Cuplikan kode ini memperlihatkan kepada Anda cara melakukan tugas berikut dengan pustaka klien Content Moderator untuk .NET:

Mengautentikasi klien

Dalam metode baru, inisiasi objek klien dengan titik akhir dan kunci Anda.

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

    return client;
}

Memoderasi teks

Kode berikut menggunakan klien Content Moderator untuk menganalisis isi teks dan mencetak hasilnya ke konsol. Di akar kelas Program Anda, tentukan file input dan output:

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

Kemudian di akar proyek Anda, tambahkan file TextFile.txt Anda. Tambahkan teks Anda ke file ini, atau gunakan contoh teks berikut:

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

Selanjutnya, tentukan metode moderasi teks di suatu tempat di kelas Program Anda:

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

Gambar sedang

Kode berikut menggunakan klien Content Moderator, bersama dengan objek ImageModeration untuk menganalisis gambar jarak jauh untuk konten dewasa dan agak cabul.

Catatan

Anda juga dapat menganalisis konten gambar lokal. Lihat dokumentasi referensi untuk metode dan operasi yang berfungsi dengan gambar lokal.

Dapatkan gambar sampel

Tentukan file input dan output Anda di root kelas Program Anda:

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

Kemudian buat file input, ImageFiles.txt, di akar proyek Anda. Dalam file ini, Anda menambahkan URL gambar untuk menganalisis—satu URL di setiap baris. Anda dapat menggunakan gambar sampel berikut:

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

Tentukan kelas pembantu

Tambahkan definisi kelas berikut dalam kelas Program. Kelas dalam ini akan menangani hasil moderasi gambar.

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

Tentukan metode moderasi gambar

Metode berikut mengulangi melalui URL gambar dalam file teks, membuat instans EvaluationData, dan menganalisis gambar untuk konten dewasa/cabul, teks, dan wajah manusia. Metode tersebut juga menambahkan instans EvaluationData akhir ke daftar dan menulis daftar lengkap data yang dikembalikan ke konsol.

Iterasi melalui gambar

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

Analisis konten

Untuk informasi selengkapnya tentang atribut gambar yang disaring Content Moderator, lihat panduan Konsep moderasi gambar.

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

Tulis hasil moderasi ke file

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

Jalankan aplikasi

Jalankan aplikasi dengan mengeklik tombol Debug di bagian atas jendela IDE.

Membersihkan sumber daya

Jika Anda ingin membersihkan dan menghapus langganan layanan Azure AI, Anda dapat menghapus sumber daya atau grup sumber daya. Menghapus grup sumber daya juga menghapus sumber daya apa pun yang terkait dengannya.

Langkah berikutnya

Dalam mulai cepat ini, Anda mempelajari cara menggunakan pustaka Content Moderator .NET untuk melakukan tugas moderasi. Selanjutnya, pelajari lebih lanjut tentang moderasi gambar atau media lain dengan membaca panduan konseptual.

Mulailah dengan pustaka klien Azure Content Moderator untuk Java. Ikuti langkah-langkah berikut untuk memasang paket dan cobalah contoh kode untuk tugas-tugas dasar.

Azure Content Moderator adalah layanan AI yang memungkinkan Anda menangani konten yang berpotensi menyinggung, berisiko, atau tidak diinginkan. Gunakan layanan moderasi konten yang didukung AI untuk memindai teks, gambar, dan video dan menerapkan bendera konten secara otomatis. Anda mungkin ingin membangun perangkat lunak pemfilteran konten dalam aplikasi untuk mematuhi peraturan atau mempertahankan lingkungan yang diinginkan untuk pengguna Anda.

Gunakan pustaka klien Content Moderator untuk Java untuk:

  • Memoderasi teks
  • Gambar sedang

Dokumentasi referensi | Kode sumber pustaka |Artefak (Maven) | Sampel

Prasyarat

  • Langganan Azure - buat langganan gratis
  • Versi terbaru Java Development Kit (JDK)
  • Alat build Gradle, atau manajer dependensi lainnya.
  • Setelah Anda memiliki langganan Azure, buat sumber daya Content Moderator di portal Azure untuk mendapatkan kunci dan titik akhir Anda. Tunggu hingga itu menyebar dan klik tombol Buka sumber daya.
    • Anda akan memerlukan kunci dan titik akhir dari sumber daya yang Anda buat untuk menyambungkan aplikasi Anda ke Content Moderator. Anda akan menempelkan kunci dan titik akhir ke dalam kode di bawah ini di mulai cepat.
    • Anda dapat menggunakan tingkat harga gratis (F0) untuk percobaan, lalu meningkatkannya ke tingkat berbayar untuk produksi.

Menyiapkan

Buat proyek Gradle baru

Di jendela konsol (seperti cmd, PowerShell, atau Bash), buat direktori baru untuk aplikasi Anda, dan buka direktori tersebut.

mkdir myapp && cd myapp

Jalankan perintah gradle init dari direktori yang berfungsi. Perintah ini akan membuat file build penting untuk Gradle, termasuk build.gradle.kts yang digunakan saat runtime bahasa umum untuk membuat dan mengonfigurasi aplikasi Anda.

gradle init --type basic

Saat diminta untuk memilih DSL, pilih Kotlin.

Memasang pustaka klien

Temukan build.gradle.kts dan buka dengan IDE atau editor teks pilihan Anda. Lalu, salin dalam konfigurasi build berikut. Konfigurasi ini mendefinisikan proyek sebagai aplikasi Java yang titik masuknya adalah kelas ComputerVisionQuickstart. Ini mengimpor pustaka klien Content Moderator dan GSON sdk untuk serialisasi JSON.

plugins {
    java
    application
}

application{ 
    mainClassName = "ContentModeratorQuickstart"
}

repositories{
    mavenCentral()
}

dependencies{
    compile(group = "com.microsoft.azure.cognitiveservices", name = "azure-cognitiveservices-contentmoderator", version = "1.0.2-beta")
    compile(group = "com.google.code.gson", name = "gson", version = "2.8.5")
}

Membuat file Java

Dari direktori kerja Anda, jalankan perintah berikut ini untuk membuat folder sumber proyek:

mkdir -p src/main/java

Buka folder baru dan buat file yang disebut ComputerVisionQuickstart.java. Buka di editor atau IDE pilihan Anda, lalu tambahkan pernyataan import berikut:

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

Tip

Ingin menampilkan seluruh file kode mulai cepat sekaligus? Anda dapat menemukannya di GitHub, yang berisi contoh kode dalam mulai cepat ini.

Di kelas CustomVisionQuickstart aplikasi, buat variabel untuk kunci dan titik akhir sumber daya Anda.

Penting

Buka portal Microsoft Azure. Jika sumber daya Content Moderator yang Anda buat di bagian Prasyarat berhasil disebarkan, klik tombol Buka Sumber Daya di Langkah Berikutnya. Anda dapat menemukan kunci dan titik akhir Anda di halaman kunci dan titik akhir sumber daya, di bawah manajemen sumber daya.

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

Penting

Jangan lupa menghapus kunci dari kode setelah Anda selesai, dan jangan pernah mempostingnya secara publik. Untuk produksi, gunakan cara yang aman untuk menyimpan dan mengakses kredensial Anda seperti Azure Key Vault. Lihat artikel keamanan layanan Azure AI untuk informasi selengkapnya.

Dalam metode utama aplikasi, tambahkan panggilan untuk metode yang digunakan dalam mulai cepat ini. Anda akan mendefinisikan metode ini nanti.

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

Model objek

Beberapa kelas berikut menangani beberapa fitur utama pustaka klien Content Moderator Java.

Nama Deskripsi
ContentModeratorClient Kelas ini diperlukan untuk semua fungsionalitas Content Moderator. Anda membuat instans dengan informasi langganan Anda, dan Anda menggunakannya untuk menghasilkan instans kelas lain.
ImageModeration Kelas ini menyediakan fungsionalitas untuk menganalisis gambar untuk konten dewasa, informasi pribadi, atau wajah manusia.
TextModerations Kelas ini menyediakan fungsionalitas untuk menganalisis teks untuk bahasa pemrogram, kata-kata kotor, kesalahan, dan informasi pribadi.

Contoh kode

Cuplikan kode ini memperlihatkan kepada Anda cara melakukan tugas berikut dengan pustaka klien Content Moderator untuk Java:

Mengautentikasi klien

Dalam metode main aplikasi, buat objek ContentModeratorClient menggunakan nilai titik akhir langganan dan kunci langganan Anda.

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

Memoderasi teks

Siapkan teks sampel

Di bagian atas kelas ContentModeratorQuickstart Anda, tentukan referensi ke file teks lokal. Tambahkan file .txt ke direktori proyek dan masukkan teks yang ingin Anda analisis.

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

Analisa teks

Buat metode baru yang membaca file .txt dan panggil metode screenText di setiap baris.

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

Tambahkan kode berikut untuk mencetak hasil moderasi ke file .json di direktori proyek Anda.

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

Tutup try dan catchpernyataan untuk menyelesaikan metode.

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

Gambar sedang

Siapkan teks sampel

Dalam metode baru, buat objek BodyModelModel dengan string URL tertentu yang menunjuk ke gambar.

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

Tentukan kelas pembantu

Kemudian, dalam file ContentModeratorQuickstart.java Anda, tambahkan definisi kelas berikut di dalam kelas ContentModeratorQuickstart. Kelas dalam ini digunakan dalam proses moderasi gambar.

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

Analisis konten

Baris kode ini memeriksa gambar di URL yang diberikan untuk konten dewasa atau cabul. Lihat panduan konsep moderasi gambar untuk informasi tentang arti istilah-istilah ini.

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

Periksa teks

Baris kode ini memeriksa gambar untuk teks yang terlihat.

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

Periksa wajah

Baris kode ini memeriksa gambar wajah manusia.

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

Terakhir, simpan informasi yang dikembalikan dalam EvaluationData daftar.

resultsList.add(imageData);

Setelah while perulangan, tambahkan kode berikut, yang mencetak hasil ke konsol dan ke file output, 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();

Tutup try pernyataan dan tambahkan catch pernyataan untuk menyelesaikan metode.

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

Jalankan aplikasi

Anda dapat membuat aplikasi dengan:

gradle build

Jalankan aplikasi dengan gradle run perintah:

gradle run

Kemudian navigasi ke src/main/resources/ModerationOutput.jspada file dan lihat hasil moderasi konten Anda.

Membersihkan sumber daya

Jika Anda ingin membersihkan dan menghapus langganan layanan Azure AI, Anda dapat menghapus sumber daya atau grup sumber daya. Menghapus grup sumber daya juga menghapus sumber daya apa pun yang terkait dengannya.

Langkah berikutnya

Dalam mulai cepat ini, Anda mempelajari cara menggunakan pustaka Content Moderator Java untuk melakukan tugas moderasi. Selanjutnya, pelajari lebih lanjut tentang moderasi gambar atau media lain dengan membaca panduan konseptual.

Mulailah dengan pustaka klien Azure Content Moderator untuk Python. Ikuti langkah-langkah berikut untuk memasang paket PiPy dan cobalah contoh kode untuk tugas-tugas dasar.

Azure Content Moderator adalah layanan AI yang memungkinkan Anda menangani konten yang berpotensi menyinggung, berisiko, atau tidak diinginkan. Gunakan layanan moderasi konten yang didukung AI untuk memindai teks, gambar, dan video dan menerapkan bendera konten secara otomatis. Anda mungkin ingin membangun perangkat lunak pemfilteran konten dalam aplikasi untuk mematuhi peraturan atau mempertahankan lingkungan yang diinginkan untuk pengguna Anda.

Gunakan pustaka klien Content Moderator untuk Phton untuk:

  • Memoderasi teks
  • Gunakan daftar istilah kustom
  • Gambar sedang
  • Gunakan daftar gambar kustom

Dokumentasi referensi | Kode sumber pustaka | Paket (PiPy) | Sampel

Prasyarat

  • Langganan Azure - Buat langganan secara gratis
  • Python 3.x
    • Penginstalan Python Anda harus menyertakan pip. Anda dapat memeriksa apakah pip terinstal dengan menjalankan pip --version pada baris perintah. Dapatkan pip dengan menginstal versi terbaru Python.
  • Setelah Anda memiliki langganan Azure, buat sumber daya Content Moderator di portal Azure untuk mendapatkan kunci dan titik akhir Anda. Tunggu hingga itu menyebar dan klik tombol Buka sumber daya.
    • Anda akan memerlukan kunci dan titik akhir dari sumber daya yang Anda buat untuk menyambungkan aplikasi Anda ke Content Moderator. Anda akan menempelkan kunci dan titik akhir ke dalam kode di bawah ini di mulai cepat.
    • Anda dapat menggunakan tingkat harga gratis (F0) untuk percobaan, lalu meningkatkannya ke tingkat berbayar untuk produksi.

Menyiapkan

Memasang pustaka klien

Setelah memasang Python, Anda dapat memasang pustaka klien Content Moderator dengan perintah berikut:

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

Membuat aplikasi Python baru

Buat skrip Python baru dan buka di editor atau IDE pilihan Anda. Tambahkan pernyataan import berikut ke atas file.

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

Tip

Ingin menampilkan seluruh file kode mulai cepat sekaligus? Anda dapat menemukannya di GitHub, yang berisi contoh kode dalam mulai cepat ini.

Selanjutnya, buat variabel untuk lokasi dan kunci titik akhir sumber daya Anda.

Penting

Buka portal Microsoft Azure. Jika sumber daya Content Moderator yang Anda buat di bagian Prasyarat berhasil disebarkan, klik tombol Buka Sumber Daya di Langkah Berikutnya. Anda dapat menemukan kunci dan titik akhir Anda di halaman kunci dan titik akhir sumber daya, di bawah manajemen sumber daya.

CONTENT_MODERATOR_ENDPOINT = "PASTE_YOUR_CONTENT_MODERATOR_ENDPOINT_HERE"
subscription_key = "PASTE_YOUR_CONTENT_MODERATOR_SUBSCRIPTION_KEY_HERE"

Penting

Jangan lupa menghapus kunci dari kode setelah Anda selesai, dan jangan pernah mempostingnya secara publik. Untuk produksi, gunakan cara yang aman untuk menyimpan dan mengakses kredensial Anda seperti Azure Key Vault. Lihat artikel keamanan layanan Azure AI untuk informasi selengkapnya.

Model objek

Beberapa kelas berikut menangani beberapa fitur utama pustaka klien Content Moderator untuk Python.

Nama Deskripsi
ContentModeratorClient Kelas ini diperlukan untuk semua fungsionalitas Content Moderator. Anda membuat instans dengan informasi langganan Anda, dan Anda menggunakannya untuk menghasilkan instans kelas lain.
ImageModerationOperations Kelas ini menyediakan fungsionalitas untuk menganalisis gambar untuk konten dewasa, informasi pribadi, atau wajah manusia.
TextModerationOperations Kelas ini menyediakan fungsionalitas untuk menganalisis teks untuk bahasa pemrogram, kata-kata kotor, kesalahan, dan informasi pribadi.

Contoh kode

Cuplikan kode ini memperlihatkan kepada Anda cara melakukan tugas berikut dengan pustaka klien Content Moderator untuk Python:

Mengautentikasi klien

Membuat instans klien dengan titik akhir dan kunci Anda. Buat objek CognitiveServicesCredentials](/python/api/msrest/msrest.authentication.cognitiveservicescredentials dengan kunci Anda, dan gunakan dengan titik akhir Anda untuk membuat objek ContentModeratorClient .

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

Memoderasi teks

Kode berikut menggunakan klien Content Moderator untuk menganalisis isi teks dan mencetak hasilnya ke konsol. Pertama, buat folder text_files/ di akar proyek Anda dan tambahkan filefilecontent_moderator_text_moderation.txt. Tambahkan teks Anda ke file ini, atau gunakan contoh teks berikut:

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

Tambahkan referensi ke folder baru.

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

Kemudian, tambahkan kode berikut ke skrip Python Anda.

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

Gunakan daftar istilah kustom

Kode berikut menunjukkan cara mengelola daftar istilah kustom untuk moderasi teks. Anda dapat menggunakan kelas ListManagementTermListsOperations untuk membuat daftar istilah, mengelola istilah individual, dan menyaring badan teks lain yang menentangnya.

Dapatkan teks sampel

Untuk menggunakan sampel ini, Anda harus membuat folder text_files/ di akar proyek Anda dan menambahkan filecontent_moderator_term_list.txt. File ini harus berisi teks organik yang akan diperiksa terhadap daftar istilah. Anda dapat menggunakan teks sampel berikut:

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

Tambahkan referensi ke folder jika Anda belum menentukan referensinya.

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

Buat daftar

Tambahkan kode berikut ke skrip Python Anda untuk membuat daftar istilah kustom dan menyimpan nilai ID-nya.

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

Tentukan detail daftar

Anda dapat menggunakan ID daftar untuk mengedit nama dan deskripsinya.

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

Tambahkan istilah ke daftar

Kode berikut menambahkan persyaratan "term1" dan "term2" ke daftar.

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

Dapatkan semua istilah dalam daftar

Anda bisa menggunakan ID daftar untuk mengembalikan semua persyaratan dalam daftar.

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

Merefresh indeks daftar

Setiap kali Anda menambahkan atau menghapus istilah dari daftar, Anda harus me-refresh indeks sebelum bisa menggunakan daftar yang diperbarui.

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

Teks layar terhadap daftar

Fungsionalitas utama daftar istilah kustom adalah membandingkan isi teks dengan daftar dan menemukan apakah ada istilah yang cocok.

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

Hapus istilah dari daftar

Kode berikut menghapus istilah "term1" dari daftar.

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

Hapus semua istilah dari daftar

Gunakan kode berikut untuk menghapus daftar semua persyaratannya.

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

Hapus daftar

Gunakan kode berikut untuk menghapus daftar istilah kustom.

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

Gambar sedang

Kode berikut menggunakan klien Content Moderator, bersama dengan objek ImageModerationOperations, untuk menganalisis gambar untuk konten dewasa dan racy.

Dapatkan gambar sampel

Tentukan referensi ke beberapa gambar untuk dianalisis.

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

Kemudian tambahkan kode berikut untuk melakukan iterasi melalui gambar Anda. Sisa kode di bagian ini akan masuk ke dalam perulangan ini.

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

Periksa konten dewasa/cabul

Kode berikut memeriksa gambar di URL yang diberikan untuk konten dewasa atau cabul dan mencetak hasilnya ke konsol. Lihat panduan Konsep moderasi gambar untuk informasi tentang apa artinya istilah-istilah ini.

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

Periksa teks yang terlihat

Kode berikut memeriksa gambar untuk konten teks yang terlihat dan mencetak hasil ke konsol.

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

Periksa wajah

Kode berikut memeriksa gambar untuk wajah manusia dan mencetak hasil ke konsol.

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

Gunakan daftar gambar kustom

Kode berikut menunjukkan cara mengelola daftar gambar kustom untuk moderasi gambar. Fitur ini berguna jika platform Anda sering menerima contoh dari kumpulan gambar yang sama yang ingin Anda saring. Dengan mempertahankan daftar gambar khusus ini, Anda dapat meningkatkan performa. Kelas ListManagementImageListsOperations memungkinkan Anda membuat daftar gambar, mengelola gambar individual dalam daftar, dan membandingkan gambar lain dengannya.

Buat variabel teks berikut untuk menyimpan URL gambar yang akan Anda gunakan dalam skenario ini.

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

Catatan

Ini bukan daftar yang tepat, tetapi daftar gambar informal yang akan ditambahkan add images di bagian kode.

Buat daftar gambar

Tambahkan kode berikut untuk membuat daftar gambar dan menyimpan referensi ke ID-nya.

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

Tambahkan gambar ke daftar

Kode berikut menambahkan semua gambar Anda ke daftar.

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

Tentukan fungsi pembantu add_images di tempat lain dalam skrip Anda.

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

Dapatkan gambar dalam daftar

Kode berikut mencetak nama semua gambar dalam daftar Anda.

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

Perbarui detail daftar

Anda bisa menggunakan ID daftar untuk memperbarui nama dan deskripsi daftar.

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

Dapatkan rincian daftar

Gunakan kode berikut untuk mencetak detail daftar Anda saat ini.

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

Merefresh indeks daftar

Setelah menambahkan atau menghapus gambar, Anda harus merefresh indeks daftar sebelum dapat menggunakannya untuk menyaring gambar lain.

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

Cocokkan gambar dengan daftar

Fungsi utama daftar gambar adalah membandingkan gambar baru dan melihat apakah ada kecocokan.

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

Hapus gambar dari daftar

Kode berikut menghapus item dari daftar. Dalam hal ini, ini adalah gambar yang tidak cocok dengan kategori daftar.

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

Hapus semua gambar dari daftar

Gunakan kode berikut untuk menghapus daftar gambar.

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

Hapus daftar gambar

Gunakan kode berikut untuk menghapus daftar gambar tertentu.

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

Jalankan aplikasi

Jalankan aplikasi dengan perintah python pada file mulai cepat Anda.

python quickstart-file.py

Membersihkan sumber daya

Jika Anda ingin membersihkan dan menghapus langganan layanan Azure AI, Anda dapat menghapus sumber daya atau grup sumber daya. Menghapus grup sumber daya juga menghapus sumber daya apa pun yang terkait dengannya.

Langkah berikutnya

Dalam mulai cepat ini, Anda mempelajari cara menggunakan pustaka Content Moderator Python untuk melakukan tugas moderasi. Selanjutnya, pelajari lebih lanjut tentang moderasi gambar atau media lain dengan membaca panduan konseptual.

Mulailah dengan REST API Azure Content Moderator.

Azure Content Moderator adalah layanan AI yang memungkinkan Anda menangani konten yang berpotensi menyinggung, berisiko, atau tidak diinginkan. Gunakan layanan moderasi konten yang didukung AI untuk memindai teks, gambar, dan video dan menerapkan bendera konten secara otomatis. Anda mungkin ingin membangun perangkat lunak pemfilteran konten dalam aplikasi untuk mematuhi peraturan atau mempertahankan lingkungan yang diinginkan untuk pengguna Anda.

Gunakan Content Moderator REST API untuk:

  • Memoderasi teks
  • Gambar sedang

Prasyarat

  • Langganan Azure - Buat langganan secara gratis
  • Setelah Anda memiliki langganan Azure, buat sumber daya Content Moderator di portal Azure untuk mendapatkan kunci dan titik akhir Anda. Tunggu hingga itu menyebar dan klik tombol Buka sumber daya.
    • Anda akan memerlukan kunci dan titik akhir dari sumber daya yang Anda buat untuk menyambungkan aplikasi Anda ke Content Moderator. Anda akan menempelkan kunci dan titik akhir ke dalam kode di bawah ini di mulai cepat.
    • Anda dapat menggunakan tingkat harga gratis (F0) untuk percobaan, lalu meningkatkannya ke tingkat berbayar untuk produksi.
  • PowerShell versi 6.0+, atau aplikasi baris perintah serupa.

Memoderasi teks

Anda akan menggunakan perintah seperti berikut ini untuk memanggil Content Moderator API untuk menganalisis isi teks dan mencetak hasilnya ke konsol.

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"

Salin perintah ke editor teks dan buat perubahan berikut:

  1. Tetapkan Ocp-Apim-Subscription-Key ke kunci langganan Face yang valid.

    Penting

    Jangan lupa menghapus kunci dari kode setelah Anda selesai, dan jangan pernah mempostingnya secara publik. Untuk produksi, gunakan cara yang aman untuk menyimpan dan mengakses kredensial Anda seperti Azure Key Vault. Lihat artikel keamanan layanan Azure AI untuk informasi selengkapnya.

  2. Ubah bagian pertama URL kueri agar sesuai dengan titik akhir yang terkait dengan kunci langganan Anda.

    Catatan

    Sumber daya baru yang dibuat setelah 1 Juli 2019, akan menggunakan nama subdomain kustom. Untuk informasi selengkapnya dan daftar lengkap titik akhir regional, lihat Nama subdomain kustom untuk layanan Azure AI.

  3. Secara opsional mengubah isi permintaan ke untai (karakter) teks apa pun yang ingin Anda analisis.

Setelah melakukan perubahan, buka perintah dan masukkan perintah baru.

Periksa hasilnya

Anda akan melihat hasil moderasi teks yang ditampilkan sebagai data JSON di jendela konsol. Misalnya:

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

Untuk informasi selengkapnya tentang atribut gambar yang disaring Content Moderator, lihat panduan Konsep moderasi gambar.

Gambar sedang

Anda akan menggunakan perintah seperti berikut ini untuk memanggil Content Moderator API untuk memoderasi gamar jarak jauh dan mencetak hasilnya ke konsol.

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

Salin perintah ke editor teks dan buat perubahan berikut:

  1. Tetapkan Ocp-Apim-Subscription-Key ke kunci langganan Face yang valid.
  2. Ubah bagian pertama URL kueri agar sesuai dengan titik akhir yang terkait dengan kunci langganan Anda.
  3. Secara opsional ubah "Value" URL dalam isi permintaan ke gambar jarak jauh apa pun yang ingin Anda moderasi.

Tip

Anda juga dapat memoderasi gambar lokal dengan meneruskan data byte mereka ke dalam isi permintaan. Lihat dokumentasi referensi untuk mempelajari cara melakukan ini.

Setelah melakukan perubahan, buka perintah dan masukkan perintah baru.

Periksa hasilnya

Anda akan melihat hasil moderasi teks yang ditampilkan sebagai data JSON di jendela konsol.

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

Untuk informasi selengkapnya tentang atribut gambar yang disaring Content Moderator, lihat panduan Konsep moderasi gambar.

Membersihkan sumber daya

Jika Anda ingin membersihkan dan menghapus langganan layanan Azure AI, Anda dapat menghapus sumber daya atau grup sumber daya. Menghapus grup sumber daya juga menghapus sumber daya apa pun yang terkait dengannya.

Langkah berikutnya

Dalam mulai cepat ini, Anda mempelajari cara menggunakan Content Moderator REST API untuk melakukan tugas moderasi. Selanjutnya, pelajari lebih lanjut tentang moderasi gambar atau media lain dengan membaca panduan konseptual.