Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Paket ini berisi SDK isomorfik (berjalan baik di Node.js maupun browser) untuk menganalisis konten berbahaya, mengevaluasi kebijakan Spesifikasi Kontrol Agen, mendeteksi asal-usul konten, dan mengelola daftar blokir teks.
Tautan kunci:
Paket ini belum dipublikasikan ke npm. Halaman paket npm dan referensi API hosted akan tersedia setelah rilis pertama.
Memulai Langkah Pertama
Lingkungan yang didukung saat ini
- Versi LTS dari Node.js
- Versi terbaru Safari, Chrome, Edge, dan Firefox.
Lihat kebijakan dukungan kami untuk detail selengkapnya.
Prasyarat
- Sebuah langganan Azure.
Pasang paket @azure/ai-content-safety
Setelah rilis beta pertama, instal pustaka klien Keamanan Konten Azure AI untuk JavaScript dengan npm:
npm install @azure/ai-content-safety@next
Buat dan autentikasi klien
Untuk membuat klien, Anda memerlukan endpoint sumber daya Keamanan Konten Azure AI dan kredensial. Anda dapat menemukan endpoint di portal Azure.
Anda dapat mengautentikasi dengan Microsoft Entra ID menggunakan kredensial dari pustaka @azure/identity atau token Microsoft Entra yang ada.
Untuk menggunakan penyedia
npm install @azure/identity
Anda juga perlu mendaftarkan aplikasi Microsoft Entra baru dan memberikan akses ke Keamanan Konten Azure AI dengan menetapkan peran yang sesuai kepada prinsipal layanan Anda (catatan: peran seperti tidak "Owner" akan memberikan izin yang diperlukan).
Untuk informasi lebih lanjut tentang cara membuat aplikasi Microsoft Entra, lihat panduan ini.
Dengan menggunakan lingkungan Node.js dan seperti Node, Anda dapat menggunakan kelas DefaultAzureCredential untuk mengautentikasi klien.
import { DefaultAzureCredential } from "@azure/identity";
import {
ContentSafetyClient,
ContentProvenanceClient,
BlocklistClient,
} from "@azure/ai-content-safety";
const credential = new DefaultAzureCredential();
const contentSafetyClient = new ContentSafetyClient("<endpoint>", credential);
const contentProvenanceClient = new ContentProvenanceClient("<endpoint>", credential);
const blocklistClient = new BlocklistClient("<endpoint>", credential);
Untuk lingkungan browser, gunakan InteractiveBrowserCredential dari paket @azure/identity untuk mengautentikasi.
import { InteractiveBrowserCredential } from "@azure/identity";
import { ContentSafetyClient } from "@azure/ai-content-safety";
const credential = new InteractiveBrowserCredential({
tenantId: "<YOUR_TENANT_ID>",
clientId: "<YOUR_CLIENT_ID>",
});
const client = new ContentSafetyClient("<endpoint>", credential);
Bundel JavaScript
Untuk menggunakan pustaka klien ini di browser, pertama-tama Anda perlu menggunakan bunder. Untuk detail tentang cara melakukan ini, silakan lihat dokumentasi bundling kami.
Konsep Utama
ContentSafetyClient
ContentSafetyClient menganalisis teks dan gambar, mendeteksi materi yang dilindungi dan injeksi prompt, serta mengevaluasi konten berdasarkan kebijakan Spesifikasi Kontrol Agen.
import { ContentSafetyClient } from "@azure/ai-content-safety";
import { DefaultAzureCredential } from "@azure/identity";
const client = new ContentSafetyClient("<endpoint>", new DefaultAzureCredential());
async function moderateInput(): Promise<void> {
const result = await client.unifiedModerate({
policyId: "<policy-id>",
source: "input",
content: "Text to evaluate",
});
console.log(result.verdict);
}
void moderateInput;
ContentProvenanceClient
ContentProvenanceClientmemulai dan memantau operasi deteksi yang telah berjalan lama untuk sinyal C2PA dan watermark yang dikeluarkan Microsoft.
import { ContentProvenanceClient } from "@azure/ai-content-safety";
import { DefaultAzureCredential } from "@azure/identity";
const client = new ContentProvenanceClient("<endpoint>", new DefaultAzureCredential());
async function detectProvenance(): Promise<void> {
const poller = client.detect({ content: { uri: "<media-blob-uri>" } });
const result = await poller.pollUntilDone();
console.log(result.outcome);
}
void detectProvenance;
Status poller berseri dapat dipulihkan dalam proses lain:
import { ContentProvenanceClient, restorePoller } from "@azure/ai-content-safety";
import { DefaultAzureCredential } from "@azure/identity";
const client = new ContentProvenanceClient("<endpoint>", new DefaultAzureCredential());
async function resumeDetection(serializedState: string): Promise<void> {
const poller = restorePoller(client, serializedState, client.detect.bind(client));
const result = await poller.pollUntilDone();
console.log(result.outcome);
}
void resumeDetection;
BlocklistClient
BlocklistClient membuat, memperbarui, mendaftarkan, dan menghapus daftar blokir teks beserta itemnya.
import { BlocklistClient } from "@azure/ai-content-safety";
import { DefaultAzureCredential } from "@azure/identity";
const client = new BlocklistClient("<endpoint>", new DefaultAzureCredential());
async function updateBlocklist(): Promise<void> {
const result = await client.createOrUpdateTextBlocklist("<blocklist-name>", {
description: "Blocklist description",
});
console.log(result.blocklistName);
}
void updateBlocklist;
Gunakan byPage({ maxPageSize }) untuk meminta ukuran halaman maksimum saat mencantumkan item daftar blokir:
import { BlocklistClient } from "@azure/ai-content-safety";
import { DefaultAzureCredential } from "@azure/identity";
const client = new BlocklistClient("<endpoint>", new DefaultAzureCredential());
async function listBlocklistItemPages(): Promise<void> {
const pages = client.listTextBlocklistItems("<blocklist-name>").byPage({ maxPageSize: 20 });
for await (const page of pages) {
for (const item of page) {
console.log(item.blocklistItemId, item.text);
}
}
}
void listBlocklistItemPages;
Penyelesaian Masalah
Logging
Mengaktifkan pengelogan dapat membantu menemukan informasi yang berguna tentang kegagalan. Untuk melihat log permintaan dan respons HTTP, atur variabel lingkungan AZURE_LOG_LEVEL ke info. Atau, pengelogan dapat diaktifkan saat runtime dengan memanggil setLogLevel di @azure/logger:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Untuk instruksi lebih rinci tentang cara mengaktifkan log, Anda dapat melihat dokumen paket @azure/logger.
Contributing
Jika Anda ingin berkontribusi pada pustaka ini, baca panduan berkontribusi untuk mempelajari selengkapnya tentang cara membuat dan menguji kode.
Proyek terkait
Azure SDK for JavaScript