Bagikan melalui


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:

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:

  1. 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.
  2. Gunakan editor teks untuk memformat data Anda dalam file .jsonl . Di bawah ini adalah contoh format yang sesuai. Contoh kategori harus diatur isPositive ke true. 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}
    
  3. 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.

  1. Aktifkan identitas terkelola untuk instans Azure AI Content Safety.

    Cuplikan layar portal Azure mengaktifkan identitas terkelola.

  2. Tetapkan peran Kontributor/Pemilik Data Blob Penyimpanan ke identitas Terkelola. Peran apa pun yang disorot di bawah ini harus berfungsi.

    Cuplikan layar Tambahkan penetapan peran di portal Azure.

    Cuplikan layar peran yang ditetapkan dalam portal Azure.

    Cuplikan layar peran identitas terkelola.

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"