Bagikan melalui


Mulai Cepat: Menganalisis konten gambar

Mulai menggunakan Content Studio, REST API, atau SDK klien untuk melakukan moderasi gambar dasar. Layanan Azure AI Content Safety memberi Anda algoritma AI untuk menandai konten yang tidak menyenangkan. Ikuti langkah-langkah ini untuk mencobanya.

Untuk informasi selengkapnya tentang moderasi gambar, lihat halaman konsep Kategori bahaya. Untuk batas input API, lihat bagian Persyaratan input dari Gambaran Umum.

Catatan

Data sampel dan kode 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 (lihat Ketersediaan wilayah), 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. Titik akhir dan salah satu kunci digunakan untuk memanggil API.
  • cURL terpasang

Analisa konten gambar

Bagian berikut menjelaskan contoh permintaan moderasi gambar dengan cURL.

Menyiapkan gambar sampel

Pilih gambar sampel untuk dianalisis, dan unduh ke perangkat Anda.

Lihat Persyaratan input untuk batasan gambar. Jika format Anda dianimasikan, layanan akan mengekstrak bingkai pertama untuk melakukan analisis.

Anda dapat memasukkan gambar Anda dengan salah satu dari dua metode: aliran file lokal atau URL penyimpanan blob.

  • Aliran file lokal (disarankan): Mengodekan gambar Anda ke base64. Anda dapat menggunakan situs web seperti codebeautify untuk melakukan pengodean. Kemudian simpan string yang dikodekan ke lokasi sementara.

  • URL penyimpanan blob: Unggah gambar Anda ke akun Azure Blob Storage. Ikuti mulai cepat penyimpanan blob untuk mempelajari cara melakukannya. Kemudian buka Azure Storage Explorer dan dapatkan URL ke gambar Anda. Simpan ke lokasi sementara.

    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.

Analisa konten gambar

Tempelkan perintah di bawah ini ke editor teks, dan buat perubahan berikut.

  1. Ganti <endpoint> dengan URL titik akhir sumber daya Anda.
  2. Ganti <your_subscription_key> dengan kunci Anda.
  3. Isi "image" bidang dalam isi dengan "content" bidang atau "blobUrl" bidang. Sebagai contoh: {"image": {"content": "<base_64_string>"} atau {"image": {"blobUrl": "<your_storage_url>"}.
curl --location --request POST '<endpoint>/contentsafety/image:analyze?api-version=2024-09-01' \
--header 'Ocp-Apim-Subscription-Key: <your_subscription_key>' \
--header 'Content-Type: application/json' \
--data-raw '{
  "image": {
    "content": "<base_64_string>"
  },
  "categories": ["Hate", "SelfHarm", "Sexual", "Violence"],
  "outputType": "FourSeverityLevels"
}'

Catatan

Jika Anda menggunakan URL penyimpanan blob, isi permintaan akan terlihat seperti ini:

{
  "image": {
    "blobUrl": "<your_storage_url>"
  }
}

Bidang di bawah ini harus disertakan dalam URL:

Nama Wajib diisi? Deskripsi Jenis
Versi API Wajib Ini adalah versi API yang akan diperiksa. Versi saat ini adalah: api-version=2024-09-01. Contoh: <endpoint>/contentsafety/image:analyze?api-version=2024-09-01 String

Parameter dalam isi permintaan ditentukan dalam tabel ini:

Nama Wajib diisi? Deskripsi Jenis
puas Wajib Konten atau URL blob gambar. Saya dapat berupa byte yang dikodekan base64 atau URL blob. Jika keduanya diberikan, permintaan ditolak. Ukuran maksimum gambar yang diizinkan adalah 7.200 x 7.200 piksel, dan ukuran file maksimum adalah 4 MB. Ukuran minimum gambar adalah 50 piksel x 50 piksel. String
Kategori Opsional Ini diasumsikan sebagai array nama kategori. Lihat panduan Kategori bahaya untuk daftar nama kategori yang tersedia. Jika tidak ada kategori yang ditentukan, keempat kategori akan digunakan. Kami menggunakan beberapa kategori untuk mendapatkan skor dalam satu permintaan. String
outputType Opsional API moderasi gambar hanya mendukung "FourSeverityLevels". Tingkat keparahan output dalam empat tingkat. Nilainya bisa 0,2,4,6 String

Buka jendela prompt perintah dan jalankan perintah cURL.

Output

Anda akan melihat hasil moderasi gambar ditampilkan sebagai data JSON di konsol. Contohnya:

{
  "categoriesAnalysis": [
    {
      "category": "Hate",
      "severity": 2
    },
    {
      "category": "SelfHarm",
      "severity": 0
    },
    {
      "category": "Sexual",
      "severity": 0
    },
    {
      "category": "Violence",
      "severity": 0
    }
  ]
}

Bidang JSON dalam output ditentukan di sini:

Nama Deskripsi Jenis
categoriesAnalysis Setiap kelas output yang diprediksi API. Klasifikasi dapat dilabeli secara multi-label. Misalnya, ketika gambar diunggah ke model moderasi gambar, gambar dapat diklasifikasikan sebagai konten seksual dan kekerasan. Kategori bahaya String
Keparahan Tingkat keparahan bendera di setiap kategori bahaya. Kategori bahaya Bilangan bulat

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

Prasyarat

  • Langganan Azure - buat langganan gratis
  • Visual Studio IDE dengan pengembangan desktop .NET beban kerja diaktifkan. Atau jika Anda tidak berencana menggunakan Visual Studio IDE, Anda memerlukan versi .NET Core saat ini.
  • .NET Runtime terinstal.
  • 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 (lihat Ketersediaan wilayah), 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. Titik akhir dan salah satu kunci digunakan untuk memanggil API.

Menyiapkan aplikasi

Buat aplikasi C# baru.

Buka Visual Studio, dan di bawah Mulai pilih Buat proyek baru. Atur filter templat ke C#/Semua Platform/Konsol. Pilih Aplikasi Konsol (aplikasi baris perintah yang dapat berjalan di .NET di Windows, Linux, dan macOS) dan pilih Berikutnya. Perbarui nama proyek ke ContentSafetyQuickstart dan pilih Berikutnya. Pilih .NET 6.0 atau lebih tinggi, dan pilih Buat untuk membuat proyek.

Menginstal SDK klien

Setelah Anda membuat proyek baru, instal SDK klien dengan mengklik kanan solusi proyek di Penjelajah Solusi dan memilih Kelola Paket NuGet. Di manajer paket yang terbuka pilih Telusuri dan cari Azure.AI.ContentSafety. Pilih Instal.

Membuat variabel lingkungan

Dalam contoh ini, Anda akan menulis kredensial Anda ke variabel lingkungan pada komputer lokal yang menjalankan aplikasi.

Untuk mengatur variabel lingkungan untuk kunci dan titik akhir Anda, buka jendela konsol dan ikuti instruksi untuk sistem operasi dan lingkungan pengembangan Anda.

  • Untuk mengatur CONTENT_SAFETY_KEY variabel lingkungan, ganti YOUR_CONTENT_SAFETY_KEY dengan salah satu kunci untuk sumber daya Anda.
  • Untuk mengatur CONTENT_SAFETY_ENDPOINT variabel lingkungan, ganti YOUR_CONTENT_SAFETY_ENDPOINT dengan titik akhir untuk sumber daya Anda.

Penting

Jika Anda menggunakan kunci API, simpan dengan aman di tempat lain, seperti di Azure Key Vault. Jangan sertakan kunci API langsung dalam kode Anda, dan jangan pernah mempostingnya secara publik.

Untuk informasi selengkapnya tentang keamanan layanan AI, lihat Mengautentikasi permintaan ke layanan Azure AI.

setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'

Setelah menambahkan variabel lingkungan, Anda mungkin perlu memulai ulang program yang sedang berjalan yang akan membaca variabel lingkungan, termasuk jendela konsol.

Analisa konten gambar

Dari direktori proyek, buka file Program.cs yang dibuat sebelumnya. Tempelkan dalam kode berikut.

using System;
using Azure.AI.ContentSafety;

namespace Azure.AI.ContentSafety.Dotnet.Sample
{
  class ContentSafetySampleAnalyzeImage
  {
    public static void AnalyzeImage()
    {
      // retrieve the endpoint and key from the environment variables created earlier
      string endpoint = Environment.GetEnvironmentVariable("CONTENT_SAFETY_ENDPOINT");
      string key = Environment.GetEnvironmentVariable("CONTENT_SAFETY_KEY");

      ContentSafetyClient client = new ContentSafetyClient(new Uri(endpoint), new AzureKeyCredential(key));

      // Example: analyze image

      string imagePath = @"sample_data\image.png";
      ContentSafetyImageData image = new ContentSafetyImageData(BinaryData.FromBytes(File.ReadAllBytes(imagePath)));

      var request = new AnalyzeImageOptions(image);

      Response<AnalyzeImageResult> response;
      try
      {
          response = client.AnalyzeImage(request);
      }
      catch (RequestFailedException ex)
      {
          Console.WriteLine("Analyze image failed.\nStatus code: {0}, Error code: {1}, Error message: {2}", ex.Status, ex.ErrorCode, ex.Message);
          throw;
      }

      Console.WriteLine("Hate severity: {0}", response.Value.CategoriesAnalysis.FirstOrDefault(a => a.Category == ImageCategory.Hate)?.Severity ?? 0);
      Console.WriteLine("SelfHarm severity: {0}", response.Value.CategoriesAnalysis.FirstOrDefault(a => a.Category == ImageCategory.SelfHarm)?.Severity ?? 0);
      Console.WriteLine("Sexual severity: {0}", response.Value.CategoriesAnalysis.FirstOrDefault(a => a.Category == ImageCategory.Sexual)?.Severity ?? 0);
      Console.WriteLine("Violence severity: {0}", response.Value.CategoriesAnalysis.FirstOrDefault(a => a.Category == ImageCategory.Violence)?.Severity ?? 0);
    }
    static void Main()
    {
      AnalyzeImage();
    }
  }
}

Buat folder sample_data di direktori proyek Anda, dan tambahkan file image.png ke dalamnya.

Buat dan jalankan aplikasi dengan memilih Mulai Debugging dari menu Debug di bagian atas jendela IDE (atau tekan F5).

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

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 (lihat Ketersediaan wilayah), 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. Titik akhir dan salah satu kunci digunakan untuk memanggil API.
  • Python 3.8 atau yang lebih baru
    • 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.

Membuat variabel lingkungan

Dalam contoh ini, Anda akan menulis kredensial Anda ke variabel lingkungan pada komputer lokal yang menjalankan aplikasi.

Untuk mengatur variabel lingkungan untuk kunci dan titik akhir Anda, buka jendela konsol dan ikuti instruksi untuk sistem operasi dan lingkungan pengembangan Anda.

  • Untuk mengatur CONTENT_SAFETY_KEY variabel lingkungan, ganti YOUR_CONTENT_SAFETY_KEY dengan salah satu kunci untuk sumber daya Anda.
  • Untuk mengatur CONTENT_SAFETY_ENDPOINT variabel lingkungan, ganti YOUR_CONTENT_SAFETY_ENDPOINT dengan titik akhir untuk sumber daya Anda.

Penting

Jika Anda menggunakan kunci API, simpan dengan aman di tempat lain, seperti di Azure Key Vault. Jangan sertakan kunci API langsung dalam kode Anda, dan jangan pernah mempostingnya secara publik.

Untuk informasi selengkapnya tentang keamanan layanan AI, lihat Mengautentikasi permintaan ke layanan Azure AI.

setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'

Setelah menambahkan variabel lingkungan, Anda mungkin perlu memulai ulang program yang sedang berjalan yang akan membaca variabel lingkungan, termasuk jendela konsol.

Analisa konten gambar

Bagian berikut memandu permintaan sampel dengan Python SDK.

  1. Buka perintah, navigasikan ke folder proyek Anda, dan buat file baru bernama quickstart.py.

  2. Jalankan perintah ini untuk menginstal pustaka klien Azure AI Content Safety:

    python -m pip install azure-ai-contentsafety
    
  3. Salin kode berikut ke quickstart.py:

    import os
    
    from azure.ai.contentsafety import ContentSafetyClient
    from azure.ai.contentsafety.models import AnalyzeImageOptions, ImageData, ImageCategory
    from azure.core.credentials import AzureKeyCredential
    from azure.core.exceptions import HttpResponseError
    
    def analyze_image():
        endpoint = os.environ.get('CONTENT_SAFETY_ENDPOINT')
        key = os.environ.get('CONTENT_SAFETY_KEY')
        image_path = os.path.join("sample_data", "image.jpg")
    
        # Create an Azure AI Content Safety client
        client = ContentSafetyClient(endpoint, AzureKeyCredential(key))
    
    
        # Build request
        with open(image_path, "rb") as file:
            request = AnalyzeImageOptions(image=ImageData(content=file.read()))
    
        # Analyze image
        try:
            response = client.analyze_image(request)
        except HttpResponseError as e:
            print("Analyze image failed.")
            if e.error:
                print(f"Error code: {e.error.code}")
                print(f"Error message: {e.error.message}")
                raise
            print(e)
            raise
    
        hate_result = next(item for item in response.categories_analysis if item.category == ImageCategory.HATE)
        self_harm_result = next(item for item in response.categories_analysis if item.category == ImageCategory.SELF_HARM)
        sexual_result = next(item for item in response.categories_analysis if item.category == ImageCategory.SEXUAL)
        violence_result = next(item for item in response.categories_analysis if item.category == ImageCategory.VIOLENCE)
    
        if hate_result:
            print(f"Hate severity: {hate_result.severity}")
        if self_harm_result:
            print(f"SelfHarm severity: {self_harm_result.severity}")
        if sexual_result:
            print(f"Sexual severity: {sexual_result.severity}")
        if violence_result:
            print(f"Violence severity: {violence_result.severity}")
    
    if __name__ == "__main__":
        analyze_image()
    
  4. Ganti "sample_data" dan "image.jpg" dengan jalur dan nama file lokal yang ingin Anda gunakan.

  5. Kemudian jalankan aplikasi dengan python perintah pada file mulai cepat Anda.

    python quickstart.py
    

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 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 (lihat Ketersediaan wilayah), 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. Titik akhir dan salah satu kunci digunakan untuk memanggil API.

Menyiapkan aplikasi

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.

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

mkdir -p src/main/java

Navigasi ke folder baru dan buat file yang disebut ContentSafetyQuickstart.java.

src/resources Buat juga folder di akar proyek Anda, dan tambahkan gambar sampel ke dalamnya.

Menginstal SDK klien

Mulai cepat ini menggunakan pengelola dependensi Gradle. Anda dapat menemukan pustaka klien dan informasi untuk pengelola dependensi lain di Repositori Pusat Maven.

Temukan build.gradle.kts lalu 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 ContentSafetyQuickstart. Ini mengimpor pustaka Azure AI Vision.

plugins {
    java
    application
}
application { 
    mainClass.set("ContentSafetyQuickstart")
}
repositories {
    mavenCentral()
}
dependencies {
    implementation(group = "com.azure", name = "azure-ai-contentsafety", version = "1.0.0")
}

Membuat variabel lingkungan

Dalam contoh ini, Anda akan menulis kredensial Anda ke variabel lingkungan pada komputer lokal yang menjalankan aplikasi.

Untuk mengatur variabel lingkungan untuk kunci dan titik akhir Anda, buka jendela konsol dan ikuti instruksi untuk sistem operasi dan lingkungan pengembangan Anda.

  • Untuk mengatur CONTENT_SAFETY_KEY variabel lingkungan, ganti YOUR_CONTENT_SAFETY_KEY dengan salah satu kunci untuk sumber daya Anda.
  • Untuk mengatur CONTENT_SAFETY_ENDPOINT variabel lingkungan, ganti YOUR_CONTENT_SAFETY_ENDPOINT dengan titik akhir untuk sumber daya Anda.

Penting

Jika Anda menggunakan kunci API, simpan dengan aman di tempat lain, seperti di Azure Key Vault. Jangan sertakan kunci API langsung dalam kode Anda, dan jangan pernah mempostingnya secara publik.

Untuk informasi selengkapnya tentang keamanan layanan AI, lihat Mengautentikasi permintaan ke layanan Azure AI.

setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'

Setelah menambahkan variabel lingkungan, Anda mungkin perlu memulai ulang program yang sedang berjalan yang akan membaca variabel lingkungan, termasuk jendela konsol.

Analisa konten gambar

Buka ContentSafetyQuickstart.java di editor atau IDE pilihan Anda dan tempelkan kode berikut. source Ganti variabel dengan jalur ke gambar sampel Anda.

import com.azure.ai.contentsafety.ContentSafetyClient;
import com.azure.ai.contentsafety.ContentSafetyClientBuilder;
import com.azure.ai.contentsafety.models.AnalyzeImageOptions;
import com.azure.ai.contentsafety.models.AnalyzeImageResult;
import com.azure.ai.contentsafety.models.ContentSafetyImageData;
import com.azure.ai.contentsafety.models.ImageCategoriesAnalysis;
import com.azure.core.credential.KeyCredential;
import com.azure.core.util.BinaryData;
import com.azure.core.util.Configuration;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;


public class ContentSafetyQuickstart {
    public static void main(String[] args) throws IOException {

        // get endpoint and key from environment variables
        String endpoint = System.getenv("CONTENT_SAFETY_ENDPOINT");
        String key = System.getenv("CONTENT_SAFETY_KEY");

        ContentSafetyClient contentSafetyClient = new ContentSafetyClientBuilder()
            .credential(new KeyCredential(key))
            .endpoint(endpoint).buildClient();

        ContentSafetyImageData image = new ContentSafetyImageData();
        String cwd = System.getProperty("user.dir");
        String source = "/src/samples/resources/image.png";

        image.setContent(BinaryData.fromBytes(Files.readAllBytes(Paths.get(cwd, source))));

        AnalyzeImageResult response =
                contentSafetyClient.analyzeImage(new AnalyzeImageOptions(image));

        for (ImageCategoriesAnalysis result : response.getCategoriesAnalysis()) {
            System.out.println(result.getCategory() + " severity: " + result.getSeverity());
        }
    }
}

Kembali ke folder akar proyek, dan bangun aplikasi tersebut dengan:

gradle build

Kemudian, jalankan dengan perintah gradle run:

gradle run

Output

Hate severity: 0
SelfHarm severity: 0
Sexual severity: 0
Violence severity: 0

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

Prasyarat

  • Langganan Azure - buat langganan gratis
  • Versi terbaru Node.js
  • 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 (lihat Ketersediaan wilayah), 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. Titik akhir dan salah satu kunci digunakan untuk memanggil API.

Menyiapkan aplikasi

Buat aplikasi Node.js 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 npm init untuk membuat aplikasi node dengan file package.json.

npm init

/resources Buat juga folder di akar proyek Anda, dan tambahkan gambar sampel ke dalamnya.

Menginstal SDK klien

Instal paket npm @azure-rest/ai-content-safety:

npm install @azure-rest/ai-content-safety

dotenv Instal juga modul untuk menggunakan variabel lingkungan:

npm install dotenv

File package.json aplikasi Anda akan diperbarui dengan dependensi.

Membuat variabel lingkungan

Dalam contoh ini, Anda akan menulis kredensial Anda ke variabel lingkungan pada komputer lokal yang menjalankan aplikasi.

Untuk mengatur variabel lingkungan untuk kunci dan titik akhir Anda, buka jendela konsol dan ikuti instruksi untuk sistem operasi dan lingkungan pengembangan Anda.

  • Untuk mengatur CONTENT_SAFETY_KEY variabel lingkungan, ganti YOUR_CONTENT_SAFETY_KEY dengan salah satu kunci untuk sumber daya Anda.
  • Untuk mengatur CONTENT_SAFETY_ENDPOINT variabel lingkungan, ganti YOUR_CONTENT_SAFETY_ENDPOINT dengan titik akhir untuk sumber daya Anda.

Penting

Jika Anda menggunakan kunci API, simpan dengan aman di tempat lain, seperti di Azure Key Vault. Jangan sertakan kunci API langsung dalam kode Anda, dan jangan pernah mempostingnya secara publik.

Untuk informasi selengkapnya tentang keamanan layanan AI, lihat Mengautentikasi permintaan ke layanan Azure AI.

setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'

Setelah menambahkan variabel lingkungan, Anda mungkin perlu memulai ulang program yang sedang berjalan yang akan membaca variabel lingkungan, termasuk jendela konsol.

Analisa konten gambar

Buat file baru di direktori Anda, index.js. Buka di editor atau IDE pilihan Anda dan tempelkan kode berikut. image_path Ganti variabel dengan jalur ke gambar sampel Anda.

const ContentSafetyClient = require("@azure-rest/ai-content-safety").default,
  { isUnexpected } = require("@azure-rest/ai-content-safety");
const { AzureKeyCredential } = require("@azure/core-auth");
const fs = require("fs");
const path = require("path");

// Load the .env file if it exists
require("dotenv").config();

async function main() {
    // get endpoint and key from environment variables
    const endpoint = process.env["CONTENT_SAFETY_ENDPOINT"];
    const key = process.env["CONTENT_SAFETY_KEY"];
    
    const credential = new AzureKeyCredential(key);
    const client = ContentSafetyClient(endpoint, credential);
    
    // replace with your own sample image file path 
    const image_path = path.resolve(__dirname, "./resources/image.jpg");
    
    const imageBuffer = fs.readFileSync(image_path);
    const base64Image = imageBuffer.toString("base64");
    const analyzeImageOption = { image: { content: base64Image } };
    const analyzeImageParameters = { body: analyzeImageOption };
    
    const result = await client.path("/image:analyze").post(analyzeImageParameters);
    
    if (isUnexpected(result)) {
        throw result;
    }
    for (let i = 0; i < result.body.categoriesAnalysis.length; i++) {
    const imageCategoriesAnalysisOutput = result.body.categoriesAnalysis[i];
    console.log(
      imageCategoriesAnalysisOutput.category,
      " severity: ",
      imageCategoriesAnalysisOutput.severity
    );
  }
}

main().catch((err) => {
    console.error("The sample encountered an error:", err);
});

Jalankan aplikasi dengan perintah node pada file mulai cepat Anda.

node index.js

Output

Hate severity:  0
SelfHarm severity:  0
Sexual severity:  0
Violence severity:  0

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.