Hızlı Başlangıç: Metin içeriğini analiz etme

Bu hızlı başlangıçta, Azure Yapay Zeka İçerik Güvenliği kullanarak metin içeriğini zararlı malzemeler için analiz edebilirsiniz. Azure Yapay Zeka İçerik Güvenliği hizmeti, uygunsuz içeriği işaretlemek için yapay zeka algoritmaları sağlar.

Metin denetimi hakkında daha fazla bilgi için bkz: Zarar kategorileri kavram sayfası. API giriş sınırları için Genel Bakış'ın Giriş gereksinimleri bölümüne bakın.

Ayrıntılı adımlar için aşağıdan tercih ettiğiniz dili seçin:

Dikkat

Örnek veriler ve kod rahatsız edici içerik içerebilir. Kullanıcının takdirine bağlı olması tavsiye edilir.

Önkoşullar

Kurulum

İçerik Güvenliği deneyin sayfasını kullanmak için bu adımları izleyin:

  1. Azure Yapay Zeka Atölyesi gidin ve projenize/hub'ınıza gidin. Ardından sol gezinti bölmesindeki Guardrails + controls sekmesini seçin ve Deneyin sekmesini seçin.
  2. Deneyin sayfasında, uygunsuz veya zararlı içeriği filtrelemek için ayarlanabilir eşikleri kullanarak metin ve görüntü içeriği gibi çeşitli Korumalar ve denetim özellikleriyle denemeler yapabilirsiniz.

Korumalar ve denetimler için deneme sayfasının ekran görüntüsü.

Metni analiz etme

  1. Orta metin içeriği panelini seçin.
  2. Giriş alanına metin ekleyin veya sayfadaki panellerden örnek metin seçin.
  3. Testi çalıştır'ı seçin. Hizmet, algılanan tüm kategorileri döndürür, her biri için ciddiyet seviyesini belirterek: 0-Güvenli, 2-Düşük, 4-Orta, 6-Yüksek. Ayrıca, yapılandırdığınız filtrelere bağlı olarak bir ikili Kabul Edildi Reddedildi/ sonucunu döndürür. Her kategori için izin verilen/yasaklanan önem düzeylerinizi ayarlamak için Filtreleri yapılandır sekmesindeki matrisi kullanın. Ardından, filtrenin nasıl çalıştığını görmek için metni yeniden çalıştırabilirsiniz.

Kodu görüntüleme ve dışarı aktarma

Önem derecesi filtreleme, blok listeleri ve moderrasyon işlevleri için yapılandırmayı içeren örnek kodu görüntülemek ve kopyalamak için Metin içeriğini çözümle veya Görüntü içeriğini analiz et sayfalarındaki Kodu Görüntüle özelliğini kullanabilirsiniz. Ardından kodu kendi tarafınızda dağıtabilirsiniz.

Kodu görüntüle düğmesinin ekran görüntüsü.

Önkoşullar

  • Azure aboneliği - Ücretsiz bir abonelik oluştur
  • Azure aboneliğinizi aldıktan sonra anahtarınızı ve uç noktanızı almak için Azure portalında İçerik Güvenliği kaynağı oluşturun. Kaynağınız için benzersiz bir ad girin, aboneliğinizi seçin ve bir kaynak grubu, desteklenen bölge (bkz. Bölge kullanılabilirliği) ve desteklenen fiyatlandırma katmanını seçin. Daha sonra, Oluştur'u seçin.
    • Kaynağın dağıtılması birkaç dakika sürer. Tamamlandıktan sonra Kaynağa git seçeneğini seçin. Sol bölmedeki Kaynak Yönetimi'nin altında Abonelik Anahtarı ve Uç Nokta'yı seçin. Uç nokta ve anahtarlardan biri API'leri çağırmak için kullanılır.
  • İçerik Güvenliği kaynağında Bilişsel Hizmetler Kullanıcı rolü veya üzeri
  • cURL yüklü

Metin içeriğini analiz etme

Aşağıdaki bölümde cURL ile örnek bir istekte yol gösterir. Aşağıdaki komutu bir metin düzenleyicisine yapıştırın ve aşağıdaki değişiklikleri yapın.

  1. <endpoint> etiketi, kaynağınızla ilişkilendirilmiş uç nokta URL'si ile değiştirin.
  2. değerini kaynağınızla birlikte gelen anahtarlardan biriyle değiştirin <your_subscription_key> .
  3. İsteğe bağlı olarak, gövdedeki "text" alanı analiz etmek istediğiniz kendi metninizle değiştirin.

    İpucu

    Metin boyutu ve ayrıntı düzeyi

    En fazla metin uzunluğu sınırlamaları için giriş gereksinimleri bölümüne bakın.

curl --location --request POST '<endpoint>/contentsafety/text:analyze?api-version=2024-09-01' \
--header 'Ocp-Apim-Subscription-Key: <your_subscription_key>' \
--header 'Content-Type: application/json' \
--data-raw '{
  "text": "I hate you",
  "categories": ["Hate", "Sexual", "SelfHarm", "Violence"],
  "blocklistNames": ["string"],
  "haltOnBlocklistHit": true,
  "outputType": "FourSeverityLevels"
}'

Url'ye aşağıdaki alanlar eklenmelidir:

Veri Akışı Adı Gerekli Açıklama Tür
API Sürümü Gerekli Bu, denetlenecek API sürümüdür. Geçerli sürüm: api-version=2024-09-01. Örnek: <endpoint>/contentsafety/text:analyze?api-version=2024-09-01 Dize

İstek gövdesindeki parametreler şu tabloda tanımlanmıştır:

Veri Akışı Adı Gerekli Açıklama Tür
Metin Gerekli Bu, denetlenecek ham metindir. Diğer ascii olmayan karakterler eklenebilir. Dize
Kategori İsteğe bağlı Bunun bir kategori adları dizisi olduğu varsayılır. Kullanılabilir kategori adlarının listesi için Bkz. Harm kategorileri kılavuzu . Hiçbir kategori belirtilmezse, dört kategori de kullanılır. Tek bir istekte puan almak için birden çok kategori kullanırız. Dize
engellemeListesiAdları İsteğe bağlı Metin engelleme listesi adı. Yalnızca şu karakterleri destekler: 0-9 A-Z a-z - . _ ~. Buraya birden çok liste adı ekleyebilirsiniz. Dizi
haltOnBlocklistHit İsteğe bağlı olarak ayarlandığında true, blok listelerinin isabet aldığı durumlarda zararlı içerikle ilgili daha fazla analiz yapılmaz. false olarak ayarlandığında, blok listeler isabet alsa da almasa da zararlı içerik analizlerinin tümü gerçekleştirilir. Boolean (Boole Mantığı)
çıktıTürü İsteğe bağlı "FourSeverityLevels" veya "EightSeverityLevels". Çıktı önem dereceleri dört veya sekiz düzeyde olabilir, değer 0,2,4,6 veya 0,1,2,3,4,5,6,7 olabilir. Dize

Aşağıdaki örnek istek gövdesine bakın:

{
  "text": "I hate you",
  "categories": ["Hate", "Sexual", "SelfHarm", "Violence"],
  "blocklistNames": ["array"],
  "haltOnBlocklistHit": false,
  "outputType": "FourSeverityLevels"
}

Bir komut istemi penceresi açın, düzenlenen cURL komutunu yapıştırın ve çalıştırın.

Çıktı

Konsol çıkışında metin denetimi sonuçlarının JSON verileri olarak görüntülendiğini görmeniz gerekir. Örneğin:

{
  "blocklistsMatch": [
    {
      "blocklistName": "string",
      "blocklistItemId": "string",
      "blocklistItemText": "string"
    }
  ],
  "categoriesAnalysis": [
    {
      "category": "Hate",
      "severity": 2
    },
    {
      "category": "SelfHarm",
      "severity": 0
    },
    {
      "category": "Sexual",
      "severity": 0
    },
    {
      "category": "Violence",
      "severity": 0
    }
  ]
}

Çıktıdaki JSON alanları burada tanımlanır:

Veri Akışı Adı Açıklama Tür
kategorilerAnaliz API'nin tahmin yaptığı her çıkış sınıfı. Sınıflandırma çok etiketli olabilir. Örneğin, bir metin örneği metin denetleme modeli üzerinden çalıştırıldığında, hem cinsel içerik hem de şiddet olarak sınıflandırılabilir. Zarar kategorileri Dize
Önem Derecesi Giriş içeriğinin önem derecesi ne kadar yüksekse, bu değer o kadar büyüktür. Tamsayı

Başvurular: İçerik Güvenliği REST API'si, Metin Analizi API'si

Referans belgeleri | Kütüphane kaynak kodu | Paket (NuGet) | Örnekler

Önkoşullar

  • Azure aboneliği - Ücretsiz bir abonelik oluştur
  • .NET masaüstü geliştirme iş yükünün etkinleştirildiği Visual Studio IDE. veya Visual Studio IDE kullanmayı planlamıyorsanız, .NET Core geçerli sürümüne ihtiyacınız vardır.
  • Azure aboneliğinizi aldıktan sonra anahtarınızı ve uç noktanızı almak için Azure portalında İçerik Güvenliği kaynağı oluşturun. Kaynağınız için benzersiz bir ad girin, aboneliğinizi seçin ve bir kaynak grubu, desteklenen bölge (bkz. Bölge kullanılabilirliği) ve desteklenen fiyatlandırma katmanını seçin. Daha sonra, Oluştur'u seçin.
    • Kaynağın dağıtılması birkaç dakika sürer. Tamamlandıktan sonra Kaynağa git seçeneğini seçin. Sol bölmedeki Kaynak Yönetimi'nin altında Abonelik Anahtarı ve Uç Nokta'yı seçin. Uç nokta ve anahtarlardan biri API'leri çağırmak için kullanılır.
  • İçerik Güvenliği kaynağında Bilişsel Hizmetler Kullanıcı rolü veya üzeri

Uygulamayı ayarlama

Yeni bir C# uygulaması oluşturun.

Visual Studio açın ve Başla altında Yeni proje oluştur öğesini seçin. Şablon filtrelerini C#/Tüm Platformlar/Konsol olarak ayarlayın. Console App (Windows, Linux ve macOS'ta .NET üzerinde çalışabilen bir komut satırı uygulaması) seçin ve İleri'yi seçin. Proje adını ContentSafetyQuickstart olarak güncelleştirin ve İleri'yi seçin. projeyi oluşturmak için .NET 6.0 veya üzerini seçin ve Oluştur seçin.

İstemci SDK'sını yükleme

Yeni bir proje oluşturduktan sonra, Çözüm Gezgini içindeki projeye sağ tıklayın ve NuGet Paketlerini Yönet seçeneğini seçerek istemci SDK'sını yükleyin. Açılan paket yöneticisinde Browse öğesini seçin ve Azure.AI.ContentSafety için arama yapın. Yükle'yi seçin.

Ortam değişkenlerini oluşturma

Bu örnekte, kimlik bilgilerinizi uygulamayı çalıştıran yerel makinedeki ortam değişkenlerine yazacaksınız.

Anahtarınızın ve uç noktanızın ortam değişkenini ayarlamak için bir konsol penceresi açın ve işletim sisteminiz ve geliştirme ortamınıza yönelik yönergeleri izleyin.

  • CONTENT_SAFETY_KEY ortam değişkenini ayarlamak için, YOUR_CONTENT_SAFETY_KEY değerini kaynağınızın anahtarlarından biriyle değiştirin.
  • Ortam değişkeni CONTENT_SAFETY_ENDPOINT'yi ayarlamak için, YOUR_CONTENT_SAFETY_ENDPOINT yerine kaynağınızın uç noktasını yazın.

Önemli

API anahtarlarını dikkatli kullanın. API anahtarını doğrudan kodunuzla eklemeyin ve hiçbir zaman herkese açık olarak göndermeyin. API anahtarı kullanıyorsanız, Azure Key Vault güvenli bir şekilde depolayın. Uygulamalarınızda API anahtarlarını güvenli bir şekilde kullanma hakkında daha fazla bilgi için bkz. Azure Key Vault ile API anahtarları.

Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz. Azure Yapay Zeka Hizmetleri istekleri doğrulama.

setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'

Ortam değişkenlerini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenlerini okuyacak tüm çalışan programları yeniden başlatmanız gerekebilir.

Metin içeriğini analiz etme

Proje dizininden, daha önce oluşturulmuş Program.cs dosyasını açın. Aşağıdaki kodu yapıştırın:

using System;
using Azure.AI.ContentSafety;

namespace Azure.AI.ContentSafety.Dotnet.Sample
{
  class ContentSafetySampleAnalyzeText
  {
    public static void AnalyzeText()
    {
      // 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));

      string text = "Your input text";

      var request = new AnalyzeTextOptions(text);

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

      Console.WriteLine("\nAnalyze text succeeded:");
      Console.WriteLine("Hate severity: {0}", response.Value.CategoriesAnalysis.FirstOrDefault(a => a.Category == TextCategory.Hate)?.Severity ?? 0);
      Console.WriteLine("SelfHarm severity: {0}", response.Value.CategoriesAnalysis.FirstOrDefault(a => a.Category == TextCategory.SelfHarm)?.Severity ?? 0);
      Console.WriteLine("Sexual severity: {0}", response.Value.CategoriesAnalysis.FirstOrDefault(a => a.Category == TextCategory.Sexual)?.Severity ?? 0);
      Console.WriteLine("Violence severity: {0}", response.Value.CategoriesAnalysis.FirstOrDefault(a => a.Category == TextCategory.Violence)?.Severity ?? 0);

    }
    static void Main()
    {
        AnalyzeText();
    }
  }
}

yerine "Your input text" kullanmak istediğiniz metin içeriğini yazın.

İpucu

Metin boyutu ve ayrıntı düzeyi

En fazla metin uzunluğu sınırlamaları için giriş gereksinimleri bölümüne bakın.

IDE penceresinin üst kısmındaki Hata Ayıkla menüsünden Hata Ayıklamayı Başlat'ı seçerek uygulamayı derleyin ve çalıştırın (veya F5 tuşuna basın).

Referans belgeleri | Kütüphane kaynak kodu | Paket (PyPI) | Örnekler |

Önkoşullar

  • Azure aboneliği - Ücretsiz bir abonelik oluştur
  • Azure aboneliğinizi aldıktan sonra anahtarınızı ve uç noktanızı almak için Azure portalında İçerik Güvenliği kaynağı oluşturun. Kaynağınız için benzersiz bir ad girin, aboneliğinizi seçin ve bir kaynak grubu, desteklenen bölge (bkz. Bölge kullanılabilirliği) ve desteklenen fiyatlandırma katmanını seçin. Daha sonra, Oluştur'u seçin.
    • Kaynağın dağıtılması birkaç dakika sürer. Tamamlandıktan sonra Kaynağa git seçeneğini seçin. Sol bölmedeki Kaynak Yönetimi'nin altında Abonelik Anahtarı ve Uç Nokta'yı seçin. Uç nokta ve anahtarlardan biri API'leri çağırmak için kullanılır.
  • İçerik Güvenliği kaynağında Bilişsel Hizmetler Kullanıcı rolü veya üzeri
  • Python 3.x
    • Python yüklemeniz pip içermelidir. Pip'in yüklü olup olmadığını denetlemek için komut satırında komutunu çalıştırabilirsiniz pip --version . en son Python sürümünü yükleyerek pip'i edinin.

Ortam değişkenlerini oluşturma

Bu örnekte, kimlik bilgilerinizi uygulamayı çalıştıran yerel makinedeki ortam değişkenlerine yazacaksınız.

Anahtarınızın ve uç noktanızın ortam değişkenini ayarlamak için bir konsol penceresi açın ve işletim sisteminiz ve geliştirme ortamınıza yönelik yönergeleri izleyin.

  • CONTENT_SAFETY_KEY ortam değişkenini ayarlamak için, YOUR_CONTENT_SAFETY_KEY değerini kaynağınızın anahtarlarından biriyle değiştirin.
  • Ortam değişkeni CONTENT_SAFETY_ENDPOINT'yi ayarlamak için, YOUR_CONTENT_SAFETY_ENDPOINT yerine kaynağınızın uç noktasını yazın.

Önemli

API anahtarlarını dikkatli kullanın. API anahtarını doğrudan kodunuzla eklemeyin ve hiçbir zaman herkese açık olarak göndermeyin. API anahtarı kullanıyorsanız, Azure Key Vault güvenli bir şekilde depolayın. Uygulamalarınızda API anahtarlarını güvenli bir şekilde kullanma hakkında daha fazla bilgi için bkz. Azure Key Vault ile API anahtarları.

Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz. Azure Yapay Zeka Hizmetleri istekleri doğrulama.

setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'

Ortam değişkenlerini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenlerini okuyacak tüm çalışan programları yeniden başlatmanız gerekebilir.

Metin içeriğini analiz etme

Python SDK'si ile örnek bir isteği adım adım inceleyen aşağıdaki bölüme göz atabilirsiniz.

  1. Bir komut istemi açın, proje klasörünüze gidin ve quickstart.py adlı yeni bir dosya oluşturun.

  2. Azure Yapay Zeka İçerik Güvenliği kitaplığını yüklemek için şu komutu çalıştırın:

    pip install azure-ai-contentsafety
    
  3. Aşağıdaki kodu quickstart.py kopyalayın:

    import os
    from azure.ai.contentsafety import ContentSafetyClient
    from azure.core.credentials import AzureKeyCredential
    from azure.core.exceptions import HttpResponseError
    from azure.ai.contentsafety.models import AnalyzeTextOptions, TextCategory
    
    def analyze_text():
        # analyze text
        key = os.environ["CONTENT_SAFETY_KEY"]
        endpoint = os.environ["CONTENT_SAFETY_ENDPOINT"]
    
        # Create an Azure AI Content Safety client
        client = ContentSafetyClient(endpoint, AzureKeyCredential(key))
    
        # Contruct request
        request = AnalyzeTextOptions(text="Your input text")
    
        # Analyze text
        try:
            response = client.analyze_text(request)
        except HttpResponseError as e:
            print("Analyze text 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 == TextCategory.HATE)
        self_harm_result = next(item for item in response.categories_analysis if item.category == TextCategory.SELF_HARM)
        sexual_result = next(item for item in response.categories_analysis if item.category == TextCategory.SEXUAL)
        violence_result = next(item for item in response.categories_analysis if item.category == TextCategory.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_text()
    
  4. yerine "Your input text" kullanmak istediğiniz metin içeriğini yazın.

    İpucu

    Metin boyutu ve ayrıntı düzeyi

    En fazla metin uzunluğu sınırlamaları için giriş gereksinimleri bölümüne bakın.

  5. Ardından hızlı başlangıç dosyanızdaki komutuyla python uygulamayı çalıştırın.

    python quickstart.py
    

Beklenen çıkış

Betik, her içerik kategorisi için önem derecesi puanlarını döndürür:

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

Önem düzeyleri 0 (güvenli) ile 6 (yüksek riskli) arasında değişir.

Referanslar: ContentSafetyClient, AnalyzeTextOptions, TextCategory

Reference belgeleri | Kütüphane kaynak kodu | Artifact (Maven) | Örnekler

Önkoşullar

  • Azure aboneliği - Ücretsiz bir abonelik oluştur
  • Java Development Kit (JDK)'nin geçerli sürümü
  • Gradle derleme aracı veya başka bir bağımlılık yöneticisi.
  • Azure aboneliğinizi aldıktan sonra anahtarınızı ve uç noktanızı almak için Azure portalında İçerik Güvenliği kaynağı oluşturun. Kaynağınız için benzersiz bir ad girin, aboneliğinizi seçin ve bir kaynak grubu, desteklenen bölge (bkz. Bölge kullanılabilirliği) ve desteklenen fiyatlandırma katmanını seçin. Daha sonra, Oluştur'u seçin.
    • Kaynağın dağıtılması birkaç dakika sürer. Tamamlandıktan sonra Kaynağa git seçeneğini seçin. Sol bölmedeki Kaynak Yönetimi'nin altında Abonelik Anahtarı ve Uç Nokta'yı seçin. Uç nokta ve anahtarlardan biri API'leri çağırmak için kullanılır.
  • İçerik Güvenliği kaynağında Bilişsel Hizmetler Kullanıcı rolü veya üzeri

Uygulamayı ayarlama

Yeni bir Gradle projesi oluşturun.

Konsol penceresinde (cmd, PowerShell veya Bash gibi), uygulamanız için yeni bir dizin oluşturun ve bu dizine gidin.

mkdir myapp && cd myapp

gradle init Komutunu çalışma dizininizden çalıştırın. Bu komut, uygulamanızı oluşturmak ve yapılandırmak için çalışma zamanında kullanılan build.gradle.kts de dahil olmak üzere Gradle için temel derleme dosyaları oluşturur.

gradle init --type basic

DSL seçmeniz istendiğinde Kotlin'i seçin.

Çalışma dizininizden aşağıdaki komutu çalıştırarak bir proje kaynak klasörü oluşturun:

mkdir -p src/main/java

Yeni klasöre gidin ve ContentSafetyQuickstart.java adlı bir dosya oluşturun.

İstemci SDK'sını yükleme

Bu hızlı başlangıçta Gradle bağımlılık yöneticisi kullanılır. Maven Central Repository'de diğer bağımlılık yöneticilerinin istemci kitaplığını ve bilgilerini bulabilirsiniz.

build.gradle.kts dosyasını bulun ve tercih ettiğiniz IDE veya metin düzenleyici ile açın. Ardından aşağıdaki derleme yapılandırmasını kopyalayın. Bu yapılandırma, projeyi giriş noktası ContentSafetyQuickstart sınıfı olan bir Java uygulaması olarak tanımlar. Azure Yapay Zeka Görüntü kitaplığını içeri aktarır.

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

Ortam değişkenlerini oluşturma

Bu örnekte, kimlik bilgilerinizi uygulamayı çalıştıran yerel makinedeki ortam değişkenlerine yazacaksınız.

Anahtarınızın ve uç noktanızın ortam değişkenini ayarlamak için bir konsol penceresi açın ve işletim sisteminiz ve geliştirme ortamınıza yönelik yönergeleri izleyin.

  • CONTENT_SAFETY_KEY ortam değişkenini ayarlamak için, YOUR_CONTENT_SAFETY_KEY değerini kaynağınızın anahtarlarından biriyle değiştirin.
  • Ortam değişkeni CONTENT_SAFETY_ENDPOINT'yi ayarlamak için, YOUR_CONTENT_SAFETY_ENDPOINT yerine kaynağınızın uç noktasını yazın.

Önemli

API anahtarlarını dikkatli kullanın. API anahtarını doğrudan kodunuzla eklemeyin ve hiçbir zaman herkese açık olarak göndermeyin. API anahtarı kullanıyorsanız, Azure Key Vault güvenli bir şekilde depolayın. Uygulamalarınızda API anahtarlarını güvenli bir şekilde kullanma hakkında daha fazla bilgi için bkz. Azure Key Vault ile API anahtarları.

Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz. Azure Yapay Zeka Hizmetleri istekleri doğrulama.

setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'

Ortam değişkenlerini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenlerini okuyacak tüm çalışan programları yeniden başlatmanız gerekebilir.

Metin içeriğini analiz etme

tercih ettiğiniz düzenleyicide veya IDE'de ContentSafetyQuickstart.java açın ve aşağıdaki kodu yapıştırın. yerine <your text sample> kullanmak istediğiniz metin içeriğini yazın.

İpucu

Metin boyutu ve ayrıntı düzeyi

En fazla metin uzunluğu sınırlamaları için giriş gereksinimleri bölümüne bakın.

import com.azure.ai.contentsafety.ContentSafetyClient;
import com.azure.ai.contentsafety.ContentSafetyClientBuilder;
import com.azure.ai.contentsafety.models.AnalyzeTextOptions;
import com.azure.ai.contentsafety.models.AnalyzeTextResult;
import com.azure.ai.contentsafety.models.TextCategoriesAnalysis;
import com.azure.core.credential.KeyCredential;
import com.azure.core.util.Configuration;


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

        // 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();

        AnalyzeTextResult response = contentSafetyClient.analyzeText(new AnalyzeTextOptions("<your text sample>"));

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

Proje kök klasörüne geri dönün ve aşağıdakilerle uygulamayı derleyin:

gradle build

Ardından gradle run komutunu kullanarak çalıştırın.

gradle run

Çıktı

Uygulama, her içerik kategorisi için önem dereceleri oluşturur:

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

Önem düzeyleri 0 (güvenli) ile 6 (yüksek riskli) arasında değişir. Daha yüksek puanlar, bu kategorideki daha ciddi içeriği gösterir.

Referanslar: ContentSafetyClient, AnalyzeTextOptions, AnalyzeTextResult

Referans dokümantasyonu | Kütüphane kaynak kodu | Paket (npm) | Örnekler |

Önkoşullar

  • Azure aboneliği - Ücretsiz bir abonelik oluştur
  • Node.js'in geçerli sürümü
  • Azure aboneliğinizi aldıktan sonra anahtarınızı ve uç noktanızı almak için Azure portalında İçerik Güvenliği kaynağı oluşturun. Kaynağınız için benzersiz bir ad girin, aboneliğinizi seçin ve bir kaynak grubu, desteklenen bölge (bkz. Bölge kullanılabilirliği) ve desteklenen fiyatlandırma katmanını seçin. Daha sonra, Oluştur'u seçin.
    • Kaynağın dağıtılması birkaç dakika sürer. Tamamlandıktan sonra Kaynağa git seçeneğini seçin. Sol bölmedeki Kaynak Yönetimi'nin altında Abonelik Anahtarı ve Uç Nokta'yı seçin. Uç nokta ve anahtarlardan biri API'leri çağırmak için kullanılır.
  • İçerik Güvenliği kaynağında Bilişsel Hizmetler Kullanıcı rolü veya üzeri

Uygulamayı ayarlama

Yeni bir Node.js uygulaması oluşturun. Konsol penceresinde (cmd, PowerShell veya Bash gibi), uygulamanız için yeni bir dizin oluşturun ve bu dizine gidin.

mkdir myapp && cd myapp

Bir npm init dosyası ile bir düğüm uygulaması oluşturmak için package.json komutunu çalıştırın.

npm init

İstemci SDK'sını yükleme

@azure-rest/ai-content-safety npm paketini yükleyin:

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

Ayrıca ortam değişkenlerini kullanmak için modülü yükleyin dotenv :

npm install dotenv

Uygulamanızın package.json dosyası bağımlılıklarla güncelleştirilecek.

Ortam değişkenlerini oluşturma

Bu örnekte, kimlik bilgilerinizi uygulamayı çalıştıran yerel makinedeki ortam değişkenlerine yazacaksınız.

Anahtarınızın ve uç noktanızın ortam değişkenini ayarlamak için bir konsol penceresi açın ve işletim sisteminiz ve geliştirme ortamınıza yönelik yönergeleri izleyin.

  • CONTENT_SAFETY_KEY ortam değişkenini ayarlamak için, YOUR_CONTENT_SAFETY_KEY değerini kaynağınızın anahtarlarından biriyle değiştirin.
  • Ortam değişkeni CONTENT_SAFETY_ENDPOINT'yi ayarlamak için, YOUR_CONTENT_SAFETY_ENDPOINT yerine kaynağınızın uç noktasını yazın.

Önemli

API anahtarlarını dikkatli kullanın. API anahtarını doğrudan kodunuzla eklemeyin ve hiçbir zaman herkese açık olarak göndermeyin. API anahtarı kullanıyorsanız, Azure Key Vault güvenli bir şekilde depolayın. Uygulamalarınızda API anahtarlarını güvenli bir şekilde kullanma hakkında daha fazla bilgi için bkz. Azure Key Vault ile API anahtarları.

Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz. Azure Yapay Zeka Hizmetleri istekleri doğrulama.

setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'

Ortam değişkenlerini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenlerini okuyacak tüm çalışan programları yeniden başlatmanız gerekebilir.

Metin içeriğini analiz etme

dizininizde yeni bir dosya oluşturun index.js. Bunu tercih ettiğiniz düzenleyicide veya IDE'de açın ve aşağıdaki kodu yapıştırın. yerine <your text sample> kullanmak istediğiniz metin içeriğini yazın.

İpucu

Metin boyutu ve ayrıntı düzeyi

En fazla metin uzunluğu sınırlamaları için giriş gereksinimleri bölümüne bakın.

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

// 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 text string 
    const text = "<your sample text>";
    const analyzeTextOption = { text: text };
    const analyzeTextParameters = { body: analyzeTextOption };
    
    const result = await client.path("/text:analyze").post(analyzeTextParameters);
    
    if (isUnexpected(result)) {
        throw result;
    }
    
    for (let i = 0; i < result.body.categoriesAnalysis.length; i++) {
    const textCategoriesAnalysisOutput = result.body.categoriesAnalysis[i];
    console.log(
      textCategoriesAnalysisOutput.category,
      " severity: ",
      textCategoriesAnalysisOutput.severity
    );
  }
}

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

Uygulamayı hızlı başlangıç dosyanızdaki node komutuyla çalıştırın.

node index.js

Çıktı

Uygulama, her içerik kategorisi için önem dereceleri oluşturur:

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

Önem düzeyleri 0 (güvenli) ile 6 (yüksek riskli) arasında değişir.

Başvurular: İçerik Güvenliği REST İstemcisi, Metin Analizi API'si

Referans dokümantasyonu | Kütüphane kaynak kodu | Paket (npm) | Örnekler |

Önkoşullar

Uygulamayı ayarlama

  1. Yeni bir TypeScript uygulaması oluşturun. Konsol penceresinde (cmd, PowerShell veya Bash gibi), uygulamanız için yeni bir dizin oluşturun ve bu dizine gidin.

    mkdir content-safety-typescript && cd content-safety-typescript
    code .
    
  2. TypeScript ile yeni bir Node.js projesi başlatın:

    npm init -y
    npm pkg set type=module
    
  3. Gerekli paketleri yükleyin:

    npm install @azure-rest/ai-content-safety @azure/core-auth
    
  4. Geliştirme bağımlılıklarını yükleyin:

    npm install typescript @types/node --save-dev
    
  5. Proje dizininizde bir tsconfig.json dosya oluşturun:

    {
      "compilerOptions": {
        "target": "es2022",
        "module": "esnext",
        "moduleResolution": "bundler",
        "rootDir": "./src",
        "outDir": "./dist/",
        "esModuleInterop": true,
        "forceConsistentCasingInFileNames": true,
        "strict": true,
        "skipLibCheck": true,
        "declaration": true,
        "sourceMap": true,
        "resolveJsonModule": true,
        "moduleDetection": "force",
        "allowSyntheticDefaultImports": true,
        "verbatimModuleSyntax": false
      },
      "include": [
        "src/**/*.ts"
      ],
      "exclude": [
        "node_modules/**/*",
        "**/*.spec.ts"
      ]
    }
    
  6. TypeScript dosyaları oluşturmaya yönelik bir betik içerecek şekilde güncelleştirin package.json :

    "scripts": {
      "build": "tsc",
      "start": "node dist/index.js"
    }
    
  7. TypeScript kodunuz için bir src dizin oluşturun.

Ortam değişkenlerini oluşturma

Bu örnekte, kimlik bilgilerinizi uygulamayı çalıştıran yerel makinedeki ortam değişkenlerine yazacaksınız.

Anahtarınızın ve uç noktanızın ortam değişkenini ayarlamak için bir konsol penceresi açın ve işletim sisteminiz ve geliştirme ortamınıza yönelik yönergeleri izleyin.

  • CONTENT_SAFETY_KEY ortam değişkenini ayarlamak için, YOUR_CONTENT_SAFETY_KEY değerini kaynağınızın anahtarlarından biriyle değiştirin.
  • Ortam değişkeni CONTENT_SAFETY_ENDPOINT'yi ayarlamak için, YOUR_CONTENT_SAFETY_ENDPOINT yerine kaynağınızın uç noktasını yazın.

Önemli

API anahtarlarını dikkatli kullanın. API anahtarını doğrudan kodunuzla eklemeyin ve hiçbir zaman herkese açık olarak göndermeyin. API anahtarı kullanıyorsanız, Azure Key Vault güvenli bir şekilde depolayın. Uygulamalarınızda API anahtarlarını güvenli bir şekilde kullanma hakkında daha fazla bilgi için bkz. Azure Key Vault ile API anahtarları.

Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz. Azure Yapay Zeka Hizmetleri istekleri doğrulama.

setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'

Ortam değişkenlerini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenlerini okuyacak tüm çalışan programları yeniden başlatmanız gerekebilir.

Metin içeriğini analiz etme

dizininde src adlı index.tsbir dosya oluşturun. Bunu tercih ettiğiniz düzenleyicide veya IDE'de açın ve aşağıdaki kodu yapıştırın. Yerine <your text sample> analiz etmek istediğiniz metin içeriğini koyun.

İpucu

Metin boyutu ve ayrıntı düzeyi

En fazla metin uzunluğu sınırlamaları için giriş gereksinimleri bölümüne bakın.

import ContentSafetyClient, { 
  isUnexpected, 
  AnalyzeTextParameters,
  AnalyzeText200Response,
  AnalyzeTextDefaultResponse,
  AnalyzeTextOptions,
  TextCategoriesAnalysisOutput 
} from "@azure-rest/ai-content-safety";
import { AzureKeyCredential } from "@azure/core-auth";

// Get endpoint and key from environment variables
const endpoint = process.env.CONTENT_SAFETY_ENDPOINT;
const key = process.env.CONTENT_SAFETY_KEY;

if (!endpoint || !key) {
  throw new Error("Missing required environment variables: CONTENT_SAFETY_ENDPOINT or CONTENT_SAFETY_KEY");
}

try {
  // Create client with Azure Key Credential
  const credential = new AzureKeyCredential(key);
  const client = ContentSafetyClient(endpoint, credential);
  
  // Replace with your own sample text string
  const text = "Replace with your text sample";
  const analyzeTextOption: AnalyzeTextOptions = { text };
  const analyzeTextParameters: AnalyzeTextParameters = { body: analyzeTextOption };
  
  // Call the Content Safety API to analyze the text
  const result: AnalyzeText200Response | AnalyzeTextDefaultResponse = await client.path("/text:analyze").post(analyzeTextParameters);
  
  if (isUnexpected(result)) {
    throw result;
  }
  
  // Process and display the analysis results
  console.log("Text analysis results:");
  
  const categoriesAnalysis = result.body.categoriesAnalysis as TextCategoriesAnalysisOutput[];
  
  for (const analysis of categoriesAnalysis) {
    console.log(`${analysis.category} severity: ${analysis.severity}`);
  }
} catch (error: any) {
  console.error("The sample encountered an error:", error.message);
}

Uygulamayı derleme ve çalıştırma

  1. TypeScript kodunu oluşturun:
npm run build
  1. Uygulamayı çalıştırın:
npm start

Çıktı

Uygulama, her içerik kategorisi için önem dereceleri oluşturur:

Text analysis results:
Hate severity: 0
SelfHarm severity: 0
Sexual severity: 0
Violence severity: 0

Önem düzeyleri 0 (güvenli) ile 6 (yüksek riskli) arasında değişir.

Kaynaklar: Content Safety REST İstemcisi, AzureKeyCredential

Kaynakları temizleme

Azure Yapay Zeka Hizmetleri aboneliğini temizlemek ve kaldırmak istiyorsanız, kaynağı veya kaynak grubunu silebilirsiniz. Kaynak grubunun silinmesi, kaynak grubuyla ilişkili diğer tüm kaynakları da siler.

  • Zarar kategorileri
  • Content Safety Studio kullanarak her kategori için filtreleri yapılandırın ve veri kümelerinde test edin, kodu dışarı aktarın ve dağıtın.