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 Safety, yang menawarkan fitur AI tingkat lanjut dan performa yang ditingkatkan.
Azure AI Content Safety adalah solusi komprehensif yang dirancang untuk mendeteksi konten yang dihasilkan pengguna dan buatan AI yang berbahaya dalam aplikasi dan layanan. Azure AI Content Safety 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 Safety Studio: Alat online yang dirancang untuk menangani konten yang berpotensi menyinggung, berisiko, atau tidak diinginkan menggunakan model ML kon mode tenda rasi 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 Safety mendukung lebih dari 100 bahasa dan secara khusus dilatih dalam bahasa Inggris, Jerman, Jepang, Spanyol, Prancis, Italia, Portugis, dan Cina.
Azure AI Content Safety menyediakan solusi yang kuat dan fleksibel untuk kebutuhan kon mode tenda rasi Anda. Dengan beralih dari Content Moderator ke Azure AI Content Safety, Anda dapat memanfaatkan alat dan teknologi terbaru untuk memastikan bahwa konten Anda selalu dimoderasi sesuai spesifikasi Anda.
Pelajari selengkapnya tentang Keamanan Konten Azure AI dan jelajahi cara 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());
}
}
Cetak hasil moderasi teks
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 catch
pernyataan 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);
Hasil cetak
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.
- Penginstalan Python Anda harus menyertakan pip. Anda dapat memeriksa apakah pip terinstal dengan menjalankan
- 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:
- Autentikasi klien
- Memoderasi teks
- Gunakan daftar istilah kustom
- Gambar sedang
- Gunakan daftar gambar kustom
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:
- 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.
- 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.
- 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. Contohnya:
{
"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:
- Tetapkan
Ocp-Apim-Subscription-Key
ke kunci langganan Face yang valid. - Ubah bagian pertama URL kueri agar sesuai dengan titik akhir yang terkait dengan kunci langganan Anda.
- 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.