Menggunakan API kategori kustom (standar) (pratinjau)
API kategori kustom (standar) memungkinkan Anda membuat kategori konten Anda sendiri untuk kasus penggunaan Anda dan melatih Azure AI Content Safety untuk mendeteksinya dalam konten baru.
Penting
Fitur ini hanya tersedia di wilayah Azure tertentu. Lihat Ketersediaan wilayah.
Perhatian
Data sampel dalam panduan ini mungkin berisi konten yang menyinggung. Kebijaksanaan pengguna disarankan.
Prasyarat
- Langganan Azure - buat langganan gratis
- Setelah Anda memiliki langganan Azure, buat sumber daya Content Safety di portal Azure untuk mendapatkan kunci dan titik akhir Anda. Masukkan nama unik untuk sumber daya Anda, pilih langganan Anda, dan pilih grup sumber daya, wilayah yang didukung, dan tingkat harga yang didukung. Lalu pilih Buat.
- Sumber daya membutuhkan waktu beberapa menit untuk disebarkan. Setelah selesai, Pilih buka sumber daya. Di panel kiri, di bawah Manajemen Sumber Daya, pilih Kunci Langganan dan Titik Akhir. Salin titik akhir dan salah satu nilai kunci ke lokasi sementara untuk digunakan nanti.
- Buat juga kontainer penyimpanan blob Azure tempat Anda akan menyimpan file anotasi pelatihan.
- Salah satu hal berikut ini terinstal:
- cURL untuk panggilan REST API.
- Python 3.x terinstal
Menyiapkan data pelatihan Anda
Untuk melatih kategori kustom, Anda memerlukan contoh data teks yang mewakili kategori yang ingin Anda deteksi. Ikuti langkah-langkah berikut untuk menyiapkan data sampel Anda:
Kumpulkan atau tulis data sampel Anda:
- Kualitas data sampel Anda penting untuk melatih model yang efektif. Bertujuan untuk mengumpulkan setidaknya 50 sampel positif yang secara akurat mewakili konten yang ingin Anda identifikasi. Sampel ini harus jelas, bervariasi, dan terkait langsung dengan definisi kategori.
- Sampel negatif tidak diperlukan, tetapi dapat meningkatkan kemampuan model untuk membedakan konten yang relevan dari konten yang tidak relevan. Untuk meningkatkan performa, arahkan untuk 50 sampel yang tidak terkait dengan definisi kasus positif. Ini harus bervariasi tetapi masih dalam konteks konten yang akan ditemui model Anda. Pilih sampel negatif dengan hati-hati untuk memastikan tidak tumpang tindih secara tidak sengaja dengan kategori positif.
- Berusahalah untuk keseimbangan antara jumlah sampel positif dan negatif. Himpunan data yang tidak merata dapat membuat model bias, menyebabkannya mendukung satu jenis klasifikasi daripada yang lain, yang dapat menyebabkan tingkat positif palsu atau negatif yang lebih tinggi.
Gunakan editor teks untuk memformat data Anda dalam file .jsonl . Di bawah ini adalah contoh format yang sesuai. Contoh kategori harus diatur
isPositive
ketrue
. Contoh negatif bersifat opsional tetapi dapat meningkatkan performa:{"text": "This is the 1st sample.", "isPositive": true} {"text": "This is the 2nd sample.", "isPositive": true} {"text": "This is the 3rd sample (negative).", "isPositive": false}
Unggah file .jsonl ke kontainer blob akun Azure Storage. Salin URL blob ke lokasi sementara untuk digunakan nanti.
Memberikan akses penyimpanan
Selanjutnya, Anda perlu memberikan akses sumber daya Content Safety anda untuk membaca dari sumber daya Azure Storage. Aktifkan identitas Terkelola yang ditetapkan sistem untuk instans Azure AI Content Safety dan tetapkan peran Kontributor/Pemilik Data Blob Penyimpanan ke identitas:
Penting
Hanya Kontributor Data Blob Penyimpanan atau Pemilik Data Blob Penyimpanan yang merupakan peran yang valid untuk melanjutkan.
Aktifkan identitas terkelola untuk instans Azure AI Content Safety.
Tetapkan peran Kontributor/Pemilik Data Blob Penyimpanan ke identitas Terkelola. Peran apa pun yang disorot di bawah ini harus berfungsi.
Membuat dan melatih kategori kustom
Penting
Izinkan cukup waktu untuk pelatihan model
Eksekusi menyeluruh pelatihan kategori kustom dapat memakan waktu sekitar lima jam hingga sepuluh jam. Rencanakan alur moderasi Anda sesuai dan alokasikan waktu untuk:
- Mengumpulkan dan menyiapkan data sampel Anda
- Proses pelatihan
- Evaluasi dan penyesuaian model
Dalam perintah di bawah ini, ganti <your_api_key>
, <your_endpoint>
, dan parameter lain yang diperlukan dengan nilai Anda sendiri. Kemudian masukkan setiap perintah di jendela terminal dan jalankan.
Membuat versi kategori baru
curl -X PUT "<your_endpoint>/contentsafety/text/categories/<your_category_name>?api-version=2024-02-15-preview" \
-H "Ocp-Apim-Subscription-Key: <your_api_key>" \
-H "Content-Type: application/json" \
-d "{
\"categoryName\": \"<your_category_name>\",
\"definition\": \"<your_category_definition>\",
\"sampleBlobUrl\": \"https://example.blob.core.windows.net/example-container/sample.jsonl\"
}"
Mulai proses build kategori:
Setelah Anda menerima respons, simpan ID operasi (disebut sebagai id
) dalam sementara. Anda memerlukan ID ini untuk mengambil status build menggunakan GET status API.
curl -X POST "<your_endpoint>/contentsafety/text/categories/<your_category_name>:build?api-version=2024-02-15-preview&version={version}" \
-H "Ocp-Apim-Subscription-Key: <your_api_key>" \
-H "Content-Type: application/json"
Dapatkan status build kategori:
Untuk mengambil status, gunakan yang id
diperoleh dari respons API sebelumnya dan letakkan di jalur API di bawah ini.
curl -X GET "<your_endpoint>/contentsafety/text/categories/operations/<id>?api-version=2024-02-15-preview" \
-H "Ocp-Apim-Subscription-Key: <your_api_key>" \
-H "Content-Type: application/json"
Menganalisis teks dengan kategori yang dikustomisasi
Jalankan perintah berikut untuk menganalisis teks dengan kategori yang dikustomisasi. Ganti <your_category_name>
dengan nilai Anda sendiri:
curl -X POST "<your_endpoint>/contentsafety/text:analyzeCustomCategory?api-version=2024-02-15-preview" \
-H "Ocp-Apim-Subscription-Key: <your_api_key>" \
-H "Content-Type: application/json" \
-d "{
\"text\": \"Example text to analyze\",
\"categoryName\": \"<your_category_name>\",
\"version\": 1
}"
Operasi kategori kustom lainnya
Ingatlah untuk mengganti tempat penampung di bawah ini dengan nilai aktual Anda untuk kunci API, titik akhir, dan konten tertentu (nama kategori, definisi, dan sebagainya). Contoh-contoh ini membantu Anda mengelola kategori yang disesuaikan di akun Anda.
Mendapatkan kategori yang dikustomisasi atau versi tertentu dari kategori tersebut
Ganti tempat penampung dengan nilai Anda sendiri dan jalankan perintah berikut di jendela terminal:
curl -X GET "<endpoint>/contentsafety/text/categories/<your_category_name>?api-version=2024-02-15-preview&version=1" \
-H "Ocp-Apim-Subscription-Key: <your_api_key>" \
-H "Content-Type: application/json"
Mencantumkan kategori versi terbarunya
Ganti tempat penampung dengan nilai Anda sendiri dan jalankan perintah berikut di jendela terminal:
curl -X GET "<endpoint>/contentsafety/text/categories?api-version=2024-02-15-preview" \
-H "Ocp-Apim-Subscription-Key: <your_api_key>" \
-H "Content-Type: application/json"
Menghapus kategori yang dikustomisasi atau versi tertentu dari kategori tersebut
Ganti tempat penampung dengan nilai Anda sendiri dan jalankan perintah berikut di jendela terminal:
curl -X DELETE "<endpoint>/contentsafety/text/categories/<your_category_name>?api-version=2024-02-15-preview&version=1" \
-H "Ocp-Apim-Subscription-Key: <your_api_key>" \
-H "Content-Type: application/json"