Share via


Blok listesi kullanma

Dikkat

Bu kılavuzdaki örnek veriler rahatsız edici içerik içerebilir. Kullanıcının takdirine bağlı olması tavsiye edilir.

Varsayılan yapay zeka sınıflandırıcıları çoğu con çadır modu ration gereksinimi için yeterlidir. Ancak, kullanım örneğiniz için özel öğeleri filtrelemeniz gerekebilir.

Önkoşullar

  • Azure aboneliği - Ücretsiz bir abonelik oluşturun
  • Azure aboneliğinizi aldıktan sonra anahtarınızı ve uç noktanızı almak için Azure portalında bir content Kasa ty kaynağı oluşturun. Kaynağınız için benzersiz bir ad girin, aboneliğinizi seçin ve bir kaynak grubu, desteklenen bölge (Doğu ABD veya Batı Avrupa) 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'i 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.
  • Aşağıdakilerden biri yüklendi:
    • REST API çağrıları için cURL .
    • Python 3.x yüklü
      • 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 . Python'ın en son sürümünü yükleyerek pip alın.
      • Python kullanıyorsanız Python için Azure AI content Kasa ty istemci kitaplığını yüklemeniz gerekir. pip install azure-ai-contentsafety Komutunu proje dizininizde çalıştırın.
    • .NET Çalışma Zamanı yüklü.
      • .NET Core SDK'sı yüklü.
      • .NET kullanıyorsanız .NET için Azure AI İçeriği Kasa ty istemci kitaplığını yüklemeniz gerekir. dotnet add package Azure.AI.ContentSafety --prerelease Komutunu proje dizininizde çalıştırın.

Ortam değişkenlerini oluşturma

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

İpucu

Anahtarı doğrudan kodunuz içinde eklemeyin ve asla herkese açık olarak göndermeyin. Azure Key Vault gibi daha fazla kimlik doğrulama seçeneği için Azure AI hizmetleri güvenlik makalesine bakın.

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.

  1. Ortam değişkenini CONTENT_SAFETY_KEY ayarlamak için değerini kaynağınızın anahtarlarından biriyle değiştirin YOUR_CONTENT_SAFETY_KEY .
  2. Ortam değişkenini CONTENT_SAFETY_ENDPOINT ayarlamak için değerini kaynağınızın uç noktasıyla değiştirin YOUR_CONTENT_SAFETY_ENDPOINT .
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.

Blok listesiyle metni analiz etme

Metin API'siyle kullanmak için blok listeleri oluşturabilirsiniz. Aşağıdaki adımlar kullanmaya başlamanıza yardımcı olur.

Blok listesi oluşturma veya değiştirme

Aşağıdaki cURL komutunu bir metin düzenleyicisine kopyalayın ve aşağıdaki değişiklikleri yapın:

  1. değerini uç nokta URL'nizle değiştirin <endpoint> .
  2. <enter_your_key_here> yerine anahtarınızı yazın.
  3. (URL'de) öğesini listenize özel bir adla değiştirin <your_list_name> . Ayrıca REST URL'sinin son terimini de aynı adla değiştirin. İzin verilen karakterler: 0-9, A-Z, a-z, - . _ ~.
  4. İsteğe bağlı olarak alanın değerini "description" özel bir açıklamayla değiştirin.
curl --location --request PATCH '<endpoint>/contentsafety/text/blocklists/<your_list_name>?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "description": "This is a violence list"
}'

Yanıt kodu (yeni bir liste oluşturulmalıdır) veya 200(var olan bir liste güncelleştirildi) olmalıdır201.

Listeye blocklistItems ekleme

Not

Tüm listelerde toplam en fazla 10.000 terim sınırı vardır. Bir istekte en fazla 100 blocklistItem ekleyebilirsiniz.

Aşağıdaki cURL komutunu bir metin düzenleyicisine kopyalayın ve aşağıdaki değişiklikleri yapın:

  1. değerini uç nokta URL'nizle değiştirin <endpoint> .
  2. <enter_your_key_here> yerine anahtarınızı yazın.
  3. öğesini (URL'de) liste oluşturma adımında kullandığınız adla değiştirin <your_list_name> .
  4. İsteğe bağlı olarak alanın değerini "description" özel bir açıklamayla değiştirin.
  5. alanının değerini "text" , blok listenize eklemek istediğiniz öğeyle değiştirin. BlocklistItem'in uzunluk üst sınırı 128 karakterdir.
curl --location --request POST '<endpoint>/contentsafety/text/blocklists/<your_list_name>:addOrUpdateBlocklistItems?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json' \
--data-raw '"blocklistItems": [{
    "description": "string",
    "text": "bleed"
}]'

İpucu

Bir API çağrısına birden çok blocklistItem ekleyebilirsiniz. İstek gövdesini bir JSON veri grubu dizisi yapın:

{
   "blocklistItems": [
       {
           "description": "string",
           "text": "bleed"
       },
       {
           "description": "string",
           "text": "blood"
       }
   ]
}

Yanıt kodu olmalıdır 200.

{
"blocklistItems:"[
  {
  "blocklistItemId": "string",
  "description": "string",
  "text": "bleed"
  
   }
 ]
}

Not

BlockItem metin analizini etkilemeden önce ekledikten veya düzenledikten sonra , genellikle beş dakikadan uzun olmayan bir gecikme olacaktır.

Blok listesiyle metni analiz etme

Aşağıdaki cURL komutunu bir metin düzenleyicisine kopyalayın ve aşağıdaki değişiklikleri yapın:

  1. değerini uç nokta URL'nizle değiştirin <endpoint> .
  2. <enter_your_key_here> yerine anahtarınızı yazın.
  3. değerini, liste oluşturma adımında kullandığınız adla değiştirin <your_list_name> . Bu "blocklistNames" alan, birden çok liste kimliği içeren bir dizi içerebilir.
  4. İsteğe bağlı olarak değerini "breakByBlocklists"değiştirin. true bir blok listesi eşleştirildikten sonra çözümlemenin model çıkışı olmadan hemen döndürüleceğini gösterir. false modelin varsayılan kategorilerde analiz yapmaya devam etmesine neden olur.
  5. İsteğe bağlı olarak, alanın değerini "text" çözümlemek istediğiniz metinle değiştirin.
curl --location --request POST '<endpoint>/contentsafety/text:analyze?api-version=2023-10-01&' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json' \
--data-raw '{
  "text": "I want to beat you till you bleed",
  "categories": [
    "Hate",
    "Sexual",
    "SelfHarm",
    "Violence"
  ],
  "blocklistNames":["<your_list_name>"],
  "haltOnBlocklistHit": false,
  "outputType": "FourSeverityLevels"
}'

JSON yanıtı, blok listenizle tüm eşleşmeleri gösteren bir "blocklistMatchResults" içerir. Metin dizesinde eşleşmenin bulunduğu konumu bildirir.

{
  "blocklistsMatch": [
    {
      "blocklistName": "string",
      "blocklistItemId": "string",
      "blocklistItemText": "bleed"
    }
  ],
  "categoriesAnalysis": [
    {
      "category": "Hate",
      "severity": 0
    }
  ]
}

Diğer blok listesi işlemleri

Bu bölüm, blok listesi özelliğini yönetmenize ve kullanmanıza yardımcı olacak daha fazla işlem içerir.

Listedeki tüm blocklistItem'leri listeleme

Aşağıdaki cURL komutunu bir metin düzenleyicisine kopyalayın ve aşağıdaki değişiklikleri yapın:

  1. değerini uç nokta URL'nizle değiştirin <endpoint> .
  2. <enter_your_key_here> yerine anahtarınızı yazın.
  3. öğesini (istek URL'sinde) liste oluşturma adımında kullandığınız adla değiştirin <your_list_name> .
curl --location --request GET '<endpoint>/contentsafety/text/blocklists/<your_list_name>/blocklistItems?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json'

Durum kodu olmalıdır 200 ve yanıt gövdesi şöyle görünmelidir:

{
 "values": [
  {
   "blocklistItemId": "string",
   "description": "string",
   "text": "bleed",
  }
 ]
}

Tüm blok listelerini listeleme

Aşağıdaki cURL komutunu bir metin düzenleyicisine kopyalayın ve aşağıdaki değişiklikleri yapın:

  1. değerini uç nokta URL'nizle değiştirin <endpoint> .
  2. <enter_your_key_here> yerine anahtarınızı yazın.
curl --location --request GET '<endpoint>/contentsafety/text/blocklists?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json'

Durum kodu olmalıdır 200. JSON yanıtı şöyle görünür:

"value": [
  {
    "blocklistName": "string",
    "description": "string"
  }
]

blocklistName ile blok listesi alma

Aşağıdaki cURL komutunu bir metin düzenleyicisine kopyalayın ve aşağıdaki değişiklikleri yapın:

  1. değerini uç nokta URL'nizle değiştirin <endpoint> .
  2. <enter_your_key_here> yerine anahtarınızı yazın.
  3. öğesini (istek URL'sinde) liste oluşturma adımında kullandığınız adla değiştirin <your_list_name> .
cURL --location '<endpoint>contentsafety/text/blocklists/<your_list_name>?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--data ''

Durum kodu olmalıdır 200. JSON yanıtı şöyle görünür:

{
  "blocklistName": "string",
  "description": "string"
}

blocklistName ve blocklistItemId ile blocklistItem alma

Aşağıdaki cURL komutunu bir metin düzenleyicisine kopyalayın ve aşağıdaki değişiklikleri yapın:

  1. değerini uç nokta URL'nizle değiştirin <endpoint> .
  2. <enter_your_key_here> yerine anahtarınızı yazın.
  3. öğesini (istek URL'sinde) liste oluşturma adımında kullandığınız adla değiştirin <your_list_name> .
  4. değerini blocklistItem kimlik değeriyle değiştirin <your_item_id> . Bu, Add blocklistItem veya Get all blocklistItems API çağrılarının alanının değeridir"blocklistItemId".
cURL --location '<endpoint>contentsafety/text/blocklists/<your_list_name>/blocklistItems/<your_item_id>?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--data ''

Durum kodu olmalıdır 200. JSON yanıtı şöyle görünür:

{
  "blocklistItemId": "string",
  "description": "string",
  "text": "string"
}
  1. değerini, liste oluşturma adımında kullandığınız adla değiştirin <your_list_name> .
  2. değerini almak istediğiniz öğenin kimliğiyle değiştirin <your_block_item_id> .
  3. Betiği çalıştırın.

Blok listesinden blocklistItems öğesini kaldırın.

Not

Bir öğe, metin analizini etkilemeden önce silindikten sonra genellikle beş dakikadan uzun olmayan bir gecikme olur.

Aşağıdaki cURL komutunu bir metin düzenleyicisine kopyalayın ve aşağıdaki değişiklikleri yapın:

  1. değerini uç nokta URL'nizle değiştirin <endpoint> .
  2. <enter_your_key_here> yerine anahtarınızı yazın.
  3. öğesini (istek URL'sinde) liste oluşturma adımında kullandığınız adla değiştirin <your_list_name> .
  4. değerini blocklistItem kimlik değeriyle değiştirin <item_id> . Bu, Add blocklistItem veya Get all blocklistItems API çağrılarının alanının değeridir"blocklistItemId".
curl --location --request DELETE '<endpoint>/contentsafety/text/blocklists/<your_list_name>:removeBlocklistItems?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json'
--data-raw '"blocklistItemIds":[
    "<item_id>"
]'

İpucu

Bir API çağrısında birden çok blocklistItems silebilirsiniz. İstek gövdesini bir değer dizisi blocklistItemId yapın.

Yanıt kodu olmalıdır 204.

Listeyi ve tüm içeriğini silme

Not

Bir listeyi metin çözümlemesi üzerinde etkili olmadan önce sildikten sonra genellikle beş dakikadan uzun olmayan bir gecikme olur.

Aşağıdaki cURL komutunu bir metin düzenleyicisine kopyalayın ve aşağıdaki değişiklikleri yapın:

  1. değerini uç nokta URL'nizle değiştirin <endpoint> .
  2. <enter_your_key_here> yerine anahtarınızı yazın.
  3. öğesini (istek URL'sinde) liste oluşturma adımında kullandığınız adla değiştirin <your_list_name> .
curl --location --request DELETE '<endpoint>/contentsafety/text/blocklists/<your_list_name>?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json' \

Yanıt kodu olmalıdır 204.

Sonraki adımlar

Bu kılavuzda kullanılan API'ler hakkında daha fazla bilgi edinmek için API başvurusu belgelerine bakın.