İçerik filtrelemesi

Önemli

İçerik filtreleme sistemi, Azure OpenAI Service'ta Whisper modeli tarafından işlenen istemlere ve tamamlamalara uygulanmaz. Azure OpenAI'da Whisper modeli hakkında daha fazla bilgi edinin.

Azure OpenAI Hizmeti, çekirdek modellerde birlikte çalışan bir içerik filtreleme sistemi içerir. Bu sistem, zararlı içeriğin çıkışını algılamayı ve önlemeyi hedefleyen sınıflandırma modellerinin bir grubu aracılığıyla hem istem hem de tamamlama çalıştırarak çalışır. İçerik filtreleme sistemi, hem giriş istemlerinde hem de çıkış tamamlamalarında zararlı olabilecek belirli içerik kategorilerini algılar ve üzerinde işlem gerçekleştirir. API yapılandırmalarındaki ve uygulama tasarımındaki varyasyonlar, tamamlanmaları ve dolayısıyla filtreleme davranışını etkileyebilir.

Nefret, cinsel, şiddet ve kendine zarar verme kategorilerine yönelik içerik filtreleme modelleri şu dillerde özel olarak eğitilmiş ve test edilmiştir: İngilizce, Almanca, Japonca, İspanyolca, Fransızca, İtalyanca, Portekizce ve Çince. Ancak, hizmet başka birçok dilde çalışabilir, ancak kalite değişebilir. Her durumda, uygulamanız için çalıştığından emin olmak için kendi testinizi yapmalısınız.

Azure OpenAI Hizmeti, içerik filtreleme sistemine ek olarak, hizmetin geçerli ürün koşullarını ihlal eden bir şekilde kullanılmasını öneren içeriği ve/veya davranışları algılamak için izleme gerçekleştirir. Uygulamanızla ilişkili riskleri anlama ve azaltma hakkında daha fazla bilgi için bkz . Azure OpenAI için Saydamlık Notu. İçerik filtreleme ve kötüye kullanım izleme için verilerin nasıl işlendiği hakkında daha fazla bilgi için bkz . Azure OpenAI Hizmeti için veriler, gizlilik ve güvenlik.

Aşağıdaki bölümlerde içerik filtreleme kategorileri, filtreleme önem düzeyleri ve bunların yapılandırılabilirliği ile uygulama tasarımı ve uygulamasında dikkate alınması gereken API senaryoları hakkında bilgi sağlanır.

İçerik filtreleme kategorileri

Azure OpenAI Hizmeti ile tümleştirilmiş içerik filtreleme sistemi aşağıdakileri içerir:

  • Zararlı içeriği algılamayı ve filtrelemeyi hedefleyen sinirsel çok sınıflı sınıflandırma modelleri; modeller dört önem düzeyi (güvenli, düşük, orta ve yüksek) genelinde dört kategoriyi (nefret, cinsel, şiddet ve kendine zarar verme) kapsar. 'Güvenli' önem düzeyinde algılanan içerik, ek açıklamalarda etiketlenmiştir ancak filtrelemeye tabi değildir ve yapılandırılamaz.
  • Metin ve kod için jailbreak riskini ve bilinen içeriği algılamayı hedefleyen diğer isteğe bağlı sınıflandırma modelleri; bu modeller, kullanıcı veya model davranışının jailbreak saldırısı olarak nitelenip nitelenmediğini veya bilinen metin veya kaynak koduyla eşleşip eşleşmediğini işaretleyen ikili sınıflandırıcılardır. Bu modellerin kullanımı isteğe bağlıdır, ancak Müşteri Telif Hakkı Taahhüdü kapsamı için korumalı malzeme kodu modelinin kullanılması gerekebilir.

Zarar kategorileri

Kategori Açıklama
Nefret ve eşitlik Nefret ve eşitlikle ilgili zararlar, ırk, etnik köken, milliyet, cinsiyet kimlik grupları ve ifadeleri, cinsel yönelim, din, göçmenlik durumu, yetenek durumu, kişisel görünüm dahil ancak bunlarla sınırlı olmamak üzere, bu grupların belirli ayırt edici öznitelikleri temelinde bir kişiye veya Kimlik gruplarına başvuruda bulunarak pejoratif veya ayrımcı dil kullanan herhangi bir içeriği ifade eder, ve gövde boyutu. 

Eşitlik, yapay zeka sistemlerinin mevcut toplumsal eşitsizliklere katkıda bulunmadan tüm insan gruplarına eşit davranmasını sağlamakla ilgilidir. Nefret söylemine benzer şekilde, eşitlikle ilgili zararlar Kimlik gruplarının farklı muamelelerine dayandırır.  
Cinsel Cinsel, anatomik organlar ve cinsel organlar, romantik ilişkiler ile ilgili dili açıklar, erotik veya sevgi dolu terimlerle, hamilelikle, fiziksel cinsel eylemlerle, saldırı veya zorla cinsel şiddet eylemi olarak tasvir edilenler, fuhuş, pornografi ve istismar gibi davranışlarda bulunur.  
Şiddet Şiddet, birini veya bir şeyi yaralayan, yaralayan, zarar verecek veya öldürmeye yönelik fiziksel eylemlerle ilgili dili tanımlar; silah, silah ve imalat, dernek, mevzuat gibi ilgili varlıkları açıklar.
Kendine Zarar Verme Kendine zarar verme, kasıtlı olarak yaralanmak, vücuduna zarar vermek veya kendini öldürmek için yapılan fiziksel eylemlerle ilgili dili açıklar.
Jailbreak riski Jailbreak saldırıları, Üretici Yapay Zeka modelini Sistem İletisi'nde ayarlanan kuralları önlemek veya bozmak için eğitildiği davranışları sergilemeye teşvik etmek için tasarlanmış Kullanıcı İstemleridir. Bu tür saldırılar karmaşık rol oynamaktan güvenlik amacının hafif bir şekilde alttan saptırılmasından farklı olabilir.
Metin için Korumalı Malzeme* Korumalı malzeme metni, büyük dil modelleri tarafından çıkarılabilen bilinen metin içeriğini (örneğin, şarkı sözleri, makaleler, tarifler ve seçili web içeriği) açıklar.
Kod için Korumalı Malzeme Korumalı malzeme kodu, genel depolardan alınan bir kaynak kodu kümesiyle eşleşen kaynak kodu açıklar. Bu kod, kaynak depoların düzgün bir şekilde alıntılanması gerekmeden büyük dil modelleri tarafından çıkarılabilir.

* Metin malzemelerinin sahibiyseniz ve koruma için metin içeriği göndermek istiyorsanız lütfen bir istekte bulunun.

Metin içeriği

Uyarı

Bu belgedeki Önem Derecesi tanımları sekmesinde bazı okuyucular için rahatsız edici olabilecek zararlı içerik örnekleri yer alır.

Resim içeriği

Uyarı

Bu belgedeki Önem Derecesi tanımları sekmesinde bazı okuyucular için rahatsız edici olabilecek zararlı içerik örnekleri yer alır.

Yapılandırılabilirlik (önizleme)

Varsayılan içerik filtreleme yapılandırması, hem istemler hem de tamamlamalar için dört içerik zarar kategorisi için orta önem derecesi eşiğinde filtre olacak şekilde ayarlanır. Bu, önem düzeyinde orta veya yüksek düzeyde algılanan içeriğin filtrelendiği, önem düzeyi düşük olarak algılanan içeriğin ise içerik filtreleri tarafından filtrelenmediği anlamına gelir. Yapılandırılabilirlik özelliği önizleme aşamasındadır ve müşterilerin ayarları, istemler ve tamamlamalar için ayrı ayrı ayarlayarak her içerik kategorisinin içeriğini aşağıdaki tabloda açıklandığı gibi farklı önem düzeylerinde filtrelemesine olanak tanır:

Önem derecesi filtrelendi İstemler için yapılandırılabilir Tamamlamalar için yapılandırılabilir Açıklamalar
Düşük, orta, yüksek Yes Yes En katı filtreleme yapılandırması. Önem derecesi düşük, orta ve yüksek düzeylerde algılanan içeriğe filtre uygulanmış.
Orta, yüksek Yes Yes Varsayılan ayar. Önem derecesi düşük düzeyde algılanan içerik filtrelenmez, orta ve yüksek düzeydeki içerik filtrelenmiştir.
Yüksek Yes Yes Önem derecesi düşük ve orta düzeylerde algılanan içerik filtrelenmez. Yalnızca önem derecesi yüksek içerik filtrelenmiştir.
Filtre yok Onaylanırsa* Onaylanırsa* Algılanan önem düzeyinden bağımsız olarak hiçbir içerik filtrelenmez. Onay* gerektirir.

* Yalnızca değiştirilmiş içerik filtreleme için onaylanan müşteriler tam içerik filtreleme denetimine sahiptir ve içerik filtrelerini kısmen veya tamamen kapatabilir. İçerik filtreleme denetimi, DALL-E (önizleme) veya GPT-4 Turbo Vision (önizleme) için içerik filtreleri için uygulanmaz. Şu formu kullanarak değiştirilmiş içerik filtreleri için uygulayın: Azure OpenAI Sınırlı Erişim gözden geçirmesi: Değiştirilen İçerik Filtreleme (microsoft.com).

Müşteriler, Azure OpenAI'yi tümleştiren uygulamaların Kullanım Kuralları ile uyumlu olduğundan emin olmakla sorumludur.

İçerik filtreleme yapılandırmaları Azure AI Studio'daki bir Kaynak içinde oluşturulur ve Dağıtımlarla ilişkilendirilebilir. Yapılandırılabilirlik hakkında daha fazla bilgiyi burada bulabilirsiniz.

Senaryo ayrıntıları

İçerik filtreleme sistemi zararlı içerik algıladığında, istem uygunsuz olarak kabul edilirse API çağrısında bir hata alırsınız veya finish_reason yanıtta content_filter tamamlama işleminin bir bölümünün filtrelendiğini belirten bir hata alırsınız. Uygulamanızı veya sisteminizi oluştururken, Tamamlamalar API'sinin döndürdüğü içeriğin filtrelendiği ve eksik içeriğe neden olabilecek bu senaryoları hesaba eklemek istersiniz. Bu bilgiler üzerinde nasıl davranacağınız uygulamaya özgü olacaktır. Davranış aşağıdaki noktalarda özetlenebilir:

  • Filtrelenmiş kategori ve önem düzeyinde sınıflandırılan istemler HTTP 400 hatası döndürür.
  • Akış dışı tamamlama çağrıları, içerik filtrelendiğinde hiçbir içerik döndürmez. finish_reason Değer content_filter olarak ayarlanır. Daha uzun yanıtlara sahip nadir durumlarda kısmi sonuç döndürülebilir. Bu durumlarda, finish_reason güncelleştirilir.
  • Akış tamamlama çağrıları için segmentler tamamlandıklarında kullanıcıya geri döndürülür. Hizmet, bir durdurma belirteci, uzunluğuna ulaşana veya filtrelenmiş bir kategori ve önem derecesi düzeyinde sınıflandırılan içerik algılanana kadar akışa devam eder.

Senaryo: Birden çok çıkış isteyen akış dışı tamamlama çağrısı gönderirsiniz; hiçbir içerik filtrelenmiş kategori ve önem derecesi düzeyinde sınıflandırılmamıştır

Aşağıdaki tabloda, içerik filtrelemenin görüntülenebileceği çeşitli yollar özetlenmiştir:

HTTP yanıt kodu Yanıt davranışı
200 Tüm nesil filtreleri yapılandırıldığı gibi geçtiğinde yanıta con çadır modu ration ayrıntıları eklenmez. finish_reason Her nesil için stop veya length olacaktır.

Örnek istek yükü:

{
    "prompt":"Text example", 
    "n": 3,
    "stream": false
}

Örnek yanıt JSON:

{
    "id": "example-id",
    "object": "text_completion",
    "created": 1653666286,
    "model": "davinci",
    "choices": [
        {
            "text": "Response generated text",
            "index": 0,
            "finish_reason": "stop",
            "logprobs": null
        }
    ]
}

Senaryo: API çağrınız birden çok yanıt ister (N>1) ve yanıtlardan en az biri filtrelenmiştir

HTTP Yanıt Kodu Yanıt davranışı
200 Filtrelenen nesillerin değeri content_filterolacaktırfinish_reason.

Örnek istek yükü:

{
    "prompt":"Text example",
    "n": 3,
    "stream": false
}

Örnek yanıt JSON:

{
    "id": "example",
    "object": "text_completion",
    "created": 1653666831,
    "model": "ada",
    "choices": [
        {
            "text": "returned text 1",
            "index": 0,
            "finish_reason": "length",
            "logprobs": null
        },
        {
            "text": "returned text 2",
            "index": 1,
            "finish_reason": "content_filter",
            "logprobs": null
        }
    ]
}

Senaryo: TamamlamaLAR API'sine uygunsuz bir giriş istemi gönderilir (akış veya akış dışı için)

HTTP Yanıt Kodu Yanıt davranışı
400 İstem yapılandırıldığı gibi bir içerik filtresi tetiklediğinde API çağrısı başarısız olur. İstemi değiştirin ve yeniden deneyin.

Örnek istek yükü:

{
    "prompt":"Content that triggered the filtering model"
}

Örnek yanıt JSON:

"error": {
    "message": "The response was filtered",
    "type": null,
    "param": "prompt",
    "code": "content_filter",
    "status": 400
}

Senaryo: Akış tamamlama çağrısı yaparsınız; hiçbir çıkış içeriği filtrelenmiş kategori ve önem derecesi düzeyinde sınıflandırılmamıştır

HTTP Yanıt Kodu Yanıt davranışı
200 Bu durumda, çağrı tam nesil ile geri akışa alır ve finish_reason oluşturulan her yanıt için 'uzunluk' veya 'dur' olur.

Örnek istek yükü:

{
    "prompt":"Text example",
    "n": 3,
    "stream": true
}

Örnek yanıt JSON:

{
    "id": "cmpl-example",
    "object": "text_completion",
    "created": 1653670914,
    "model": "ada",
    "choices": [
        {
            "text": "last part of generation",
            "index": 2,
            "finish_reason": "stop",
            "logprobs": null
        }
    ]
}

Senaryo: Birden çok tamamlama isteyen bir akış tamamlama çağrısı yaparsınız ve çıktı içeriğinin en az bir bölümü filtrelenmiş

HTTP Yanıt Kodu Yanıt davranışı
200 Belirli bir nesil dizini için, neslin son öbek null finish_reason olmayan bir değer içerir. Değer, content_filter neslin filtrelendiği zamandır.

Örnek istek yükü:

{
    "prompt":"Text example",
    "n": 3,
    "stream": true
}

Örnek yanıt JSON:

 {
    "id": "cmpl-example",
    "object": "text_completion",
    "created": 1653670515,
    "model": "ada",
    "choices": [
        {
            "text": "Last part of generated text streamed back",
            "index": 2,
            "finish_reason": "content_filter",
            "logprobs": null
        }
    ]
}

Senaryo: İçerik filtreleme sistemi tamamlandığında çalışmıyor

HTTP Yanıt Kodu Yanıt davranışı
200 İçerik filtreleme sistemi çalışmıyorsa veya işlemi zamanında tamamlayamıyorsa, isteğiniz içerik filtreleme olmadan da tamamlanır. Nesnede bir hata iletisi arayarak filtrelemenin content_filter_result uygulanmadığını belirleyebilirsiniz.

Örnek istek yükü:

{
    "prompt":"Text example",
    "n": 1,
    "stream": false
}

Örnek yanıt JSON:

{
    "id": "cmpl-example",
    "object": "text_completion",
    "created": 1652294703,
    "model": "ada",
    "choices": [
        {
            "text": "generated text",
            "index": 0,
            "finish_reason": "length",
            "logprobs": null,
            "content_filter_result": {
                "error": {
                    "code": "content_filter_error",
                    "message": "The contents are not filtered"
                }
            }
        }
    ]
}

Ek Açıklamalar

İçerik filtreleri

Aşağıdaki kod parçacığında gösterildiği gibi ek açıklamalar etkinleştirildiğinde, nefret ve eşitlik, cinsel, şiddet ve kendine zarar kategorileri için API aracılığıyla aşağıdaki bilgiler döndürülür:

  • içerik filtreleme kategorisi (nefret, cinsel, şiddet, self_harm)
  • her içerik kategorisi içindeki önem düzeyi (güvenli, düşük, orta veya yüksek)
  • filtreleme durumu (true veya false).

İsteğe bağlı modeller

İsteğe bağlı modeller açıklama ekleme (içeriğe bayrak eklendiğinde bilgileri döndürür, ancak filtrelenmez) veya filtre modunda etkinleştirilebilir (içeriğe bayrak eklendiğinde ve filtrelendiğinde bilgileri döndürür).

Aşağıdaki kod parçacığında gösterildiği gibi ek açıklamalar etkinleştirildiğinde, isteğe bağlı modeller için API tarafından aşağıdaki bilgiler döndürülür: jailbreak riski, korumalı malzeme metni ve korumalı malzeme kodu:

  • category (jailbreak, protected_material_text, protected_material_code),
  • algılandı (true veya false),
  • filtrelenmiş (true veya false).

Korumalı malzeme kodu modeli için API tarafından aşağıdaki ek bilgiler döndürülür:

  • kod parçacığının bulunduğu genel GitHub deposunun örnek alıntısı
  • depo lisansı.

Uygulamanızda kod görüntülerken, uygulamanın ek açıklamalardan örnek alıntıyı da görüntülemesini kesinlikle öneririz. Belirtilen lisansla uyumluluk, Müşteri Telif Hakkı Taahhüdü kapsamı için de gerekli olabilir.

Ek açıklamalar şu anda GA API sürümünde 2024-02-01 ve Tamamlanmalar ve Sohbet Tamamlamaları (GPT modelleri) için başlayan 2023-06-01-preview tüm önizleme sürümlerinde kullanılabilir. Aşağıdaki kod parçacığında ek açıklamaların nasıl kullanılacağı gösterilmektedir:

# os.getenv() for the endpoint and key assumes that you are using environment variables.

import os
from openai import AzureOpenAI
client = AzureOpenAI(
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
    api_version="2024-03-01-preview",
    azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT") 
    )

response = client.completions.create(
    model="gpt-35-turbo-instruct", # model = "deployment_name".
    prompt="{Example prompt where a severity level of low is detected}" 
    # Content that is detected at severity level medium or high is filtered, 
    # while content detected at severity level low isn't filtered by the content filters.
)

print(response.model_dump_json(indent=2))

Çıktı

{ 
  "choices": [ 
    { 
      "content_filter_results": { 
        "hate": { 
          "filtered": false, 
          "severity": "safe" 
        }, 
        "protected_material_code": { 
          "citation": { 
            "URL": " https://github.com/username/repository-name/path/to/file-example.txt", 
            "license": "EXAMPLE-LICENSE" 
          }, 
          "detected": true,
          "filtered": false 
        }, 
        "protected_material_text": { 
          "detected": false, 
          "filtered": false 
        }, 
        "self_harm": { 
          "filtered": false, 
          "severity": "safe" 
        }, 
        "sexual": { 
          "filtered": false, 
          "severity": "safe" 
        }, 
        "violence": { 
          "filtered": false, 
          "severity": "safe" 
        } 
      }, 
      "finish_reason": "stop", 
      "index": 0, 
      "message": { 
        "content": "Example model response will be returned ", 
        "role": "assistant" 
      } 
    } 
  ], 
  "created": 1699386280, 
  "id": "chatcmpl-8IMI4HzcmcK6I77vpOJCPt0Vcf8zJ", 
  "model": "gpt-35-turbo-instruct", 
  "object": "text.completion",
  "usage": { 
    "completion_tokens": 40, 
    "prompt_tokens": 11, 
    "total_tokens": 417 
  },  
  "prompt_filter_results": [ 
    { 
      "content_filter_results": { 
        "hate": { 
          "filtered": false, 
          "severity": "safe" 
        }, 
        "jailbreak": { 
          "detected": false, 
          "filtered": false 
        }, 
        "profanity": { 
          "detected": false, 
          "filtered": false 
        }, 
        "self_harm": { 
          "filtered": false, 
          "severity": "safe" 
        }, 
        "sexual": { 
          "filtered": false, 
          "severity": "safe" 
        }, 
        "violence": { 
          "filtered": false, 
          "severity": "safe" 
        } 
      }, 
      "prompt_index": 0 
    } 
  ]
} 

Azure OpenAI için çıkarım REST API uç noktaları ve Sohbet ve Tamamlama oluşturma hakkında ayrıntılı bilgi için lütfen Azure OpenAI Hizmeti REST API başvuru kılavuzunu izleyin. sürümünden başlayarak 2023-06-01-previewherhangi bir önizleme API sürümü ve GA API 2024-02-01sürümü kullanılırken tüm senaryolar için ek açıklamalar döndürülür.

Örnek senaryo: TamamlanmaLAR API'sine filtrelenmiş kategori ve önem derecesi düzeyinde sınıflandırılmış içerik içeren bir giriş istemi gönderilir

{
    "error": {
        "message": "The response was filtered due to the prompt triggering Azure Content management policy. 
                   Please modify your prompt and retry. To learn more about our content filtering policies
                   please read our documentation: https://go.microsoft.com/fwlink/?linkid=21298766",
        "type": null,
        "param": "prompt",
        "code": "content_filter",
        "status": 400,
        "innererror": {
            "code": "ResponsibleAIPolicyViolation",
            "content_filter_result": {
                "hate": {
                    "filtered": true,
                    "severity": "high"
                },
                "self-harm": {
                    "filtered": true,
                    "severity": "high"
                },
                "sexual": {
                    "filtered": false,
                    "severity": "safe"
                },
                "violence": {
                    "filtered":true,
                    "severity": "medium"
                }
            }
        }
    }
}

İçerik akışı

Bu bölümde Azure OpenAI içerik akışı deneyimi ve seçenekleri açıklanmaktadır. Onay ile, içerik filtrelerinizi geçirmek için doğrulanmış içerik öbeklerini beklemek yerine API'den oluşturulan içerikten içerik alma seçeneğiniz vardır.

Varsayılan

İçerik filtreleme sistemi tüm müşteriler için varsayılan olarak tümleştirilmiş ve etkindir. Varsayılan akış senaryosunda tamamlama içeriği arabelleğe alınıyor, içerik filtreleme sistemi arabelleğe alınan içerik üzerinde çalışıyor ve içerik filtreleme yapılandırmasına bağlı olarak içerik, içerik filtreleme ilkesini (Microsoft'un varsayılan veya özel kullanıcı yapılandırması) ihlal etmiyorsa kullanıcıya döndürülür ya da hemen engellenir ve bir içerik filtreleme hatası döndürür, zararlı tamamlama içeriğini döndürmeden. Bu işlem akışın sonuna kadar yinelenir. İçerik, kullanıcıya döndürülmeden önce içerik filtreleme ilkesine göre tam olarak izlenmiştir. İçerik bu durumda belirteç tarafından değil, ilgili arabellek boyutunun "içerik öbeklerinde" döndürülür.

Zaman uyumsuz değiştirilmiş filtre

Değiştirilen içerik filtreleri için onaylanan müşteriler, zaman uyumsuz değiştirilmiş filtreyi ek bir seçenek olarak seçerek yeni bir akış deneyimi sağlayabilir. Bu durumda, içerik filtreleri zaman uyumsuz olarak çalıştırılır ve tamamlama içeriği belirteçlere göre sorunsuz bir akış deneyimiyle hemen döndürülür. Hiçbir içerik arabelleğe alınmaz ve bu da sıfır gecikme süresi sağlar.

Müşteriler, özelliğin gecikme süresini iyileştirse de model çıktısının daha küçük bölümlerinin güvenliğine ve gerçek zamanlı incelemeye karşı bir denge oluşturduğunun farkında olmalıdır. İçerik filtreleri zaman uyumsuz olarak çalıştırıldığından, con çadır modu ration iletileri ve ilke ihlali sinyalleri gecikir, bu da zararlı içeriğin hemen filtrelenmiş olabilecek bazı bölümlerinin kullanıcıya görüntülenebileceği anlamına gelir.

Ek Açıklamalar: Ek açıklamalar ve con çadır modu ration iletileri akış sırasında sürekli olarak döndürülür. Uygulamanızda ek açıklamaları kullanmanızı ve içeriği yeniden işleme veya kullanıcıya ek güvenlik bilgileri döndürme gibi ek yapay zeka içerik güvenliği mekanizmaları uygulamanızı kesinlikle öneririz.

İçerik filtreleme sinyali: İçerik filtreleme hata sinyali gecikiyor. İlke ihlali durumunda, kullanılabilir olduğu anda döndürülür ve akış durdurulur. İçerik filtreleme sinyali, ilkeyi ihlal eden içeriğin yaklaşık 1.000 karakterlik bir penceresinde garanti edilir.

Zaman uyumsuz değiştirilmiş filtreye erişim için değiştirilmiş içerik filtreleme onayı gereklidir. Uygulamayı burada bulabilirsiniz. Azure OpenAI Studio'da etkinleştirmek için İçerik filtresi nasıl yapılır kılavuzunu izleyerek yeni bir içerik filtreleme yapılandırması oluşturun ve Akış bölümünde Zaman Uyumsuz Değiştirilmiş Filtre'yi seçin.

İçerik filtreleme modlarının karşılaştırması

Compare Akış - Varsayılan Akış - Zaman Uyumsuz Değiştirilmiş Filtre
Durum GA Genel Önizleme
Uygunluk Tüm müşteriler Değiştirilmiş içerik filtrelemesi için onaylanan müşteriler
Etkinleştirme Varsayılan olarak etkindir, eylem gerekmez Değiştirilmiş içerik filtrelemesi için onaylanan müşteriler bunu doğrudan Azure OpenAI Studio'da yapılandırabilir (içerik filtreleme yapılandırmasının bir parçası olarak, dağıtım düzeyinde uygulanır)
Kalıcılık ve kullanılabilirlik Metin; tüm GPT modelleri Metin; gpt-4-vision dışındaki tüm GPT modelleri
Akış deneyimi İçerik arabelleğe alınıp öbekler halinde döndürülür Sıfır gecikme süresi (arabelleğe alma yok, filtreler zaman uyumsuz olarak çalışıyor)
İçerik filtreleme sinyali Anında filtreleme sinyali Gecikmeli filtreleme sinyali (yaklaşık 1.000 karakterlik artışlarla)
İçerik filtreleme yapılandırmaları Varsayılan ve müşteri tanımlı filtre ayarlarını (isteğe bağlı modeller dahil) destekler Varsayılan ve müşteri tanımlı filtre ayarlarını (isteğe bağlı modeller dahil) destekler

Ek açıklamalar ve örnek yanıtlar

Ek açıklama iletisi iste

Bu, varsayılan ek açıklamalarla aynıdır.

data: { 
    "id": "", 
    "object": "", 
    "created": 0, 
    "model": "", 
    "prompt_filter_results": [ 
        { 
            "prompt_index": 0, 
            "content_filter_results": { ... } 
        } 
    ], 
    "choices": [], 
    "usage": null 
} 

Tamamlanma belirteci iletisi

Tamamlanma iletileri hemen iletilir. İlk önce denetim yapılmaz ve başlangıçta ek açıklama sağlanmadı.

data: { 
    "id": "chatcmpl-7rAJvsS1QQCDuZYDDdQuMJVMV3x3N", 
    "object": "chat.completion.chunk", 
    "created": 1692905411, 
    "model": "gpt-35-turbo", 
    "choices": [ 
        { 
            "index": 0, 
            "finish_reason": null, 
            "delta": { 
                "content": "Color" 
            } 
        } 
    ], 
    "usage": null 
} 

Ek açıklama iletisi

Metin alanı her zaman boş bir dize olur ve yeni belirteç olmadığını gösterir. Ek açıklamalar yalnızca önceden gönderilmiş belirteçlerle ilgili olacaktır. Aynı belirteçlere başvuran birden çok ek açıklama iletisi olabilir.

"start_offset" ve "end_offset" ek açıklamanın hangi metne uygun olduğunu işaretlemek için metindeki (istemin başında 0 ile) düşük ayrıntı uzaklıklarıdır.

"check_offset" , tam olarak ne kadar metnin yönetildiğini temsil eder. Bu, gelecekteki ek açıklamaların değerlerine "end_offset" özel bir alt sınırdır. Azalan bir şey değil.

data: { 
    "id": "", 
    "object": "", 
    "created": 0, 
    "model": "", 
    "choices": [ 
        { 
            "index": 0, 
            "finish_reason": null, 
            "content_filter_results": { ... }, 
            "content_filter_raw": [ ... ], 
            "content_filter_offsets": { 
                "check_offset": 44, 
                "start_offset": 44, 
                "end_offset": 198 
            } 
        } 
    ], 
    "usage": null 
} 

Örnek yanıt akışı (filtreleri geçirir)

Zaman uyumsuz değiştirilmiş filtre kullanılarak gerçek bir sohbet tamamlama yanıtı aşağıdadır. İstem ek açıklamalarının değiştirilmediğine, tamamlama belirteçlerinin ek açıklama olmadan gönderildiğine ve yeni ek açıklama iletilerinin belirteçler olmadan gönderildiğine, bunun yerine belirli içerik filtresi uzaklıklarıyla ilişkilendirildiğine dikkat edin.

{"temperature": 0, "frequency_penalty": 0, "presence_penalty": 1.0, "top_p": 1.0, "max_tokens": 800, "messages": [{"role": "user", "content": "What is color?"}], "stream": true}

data: {"id":"","object":"","created":0,"model":"","prompt_annotations":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}],"choices":[],"usage":null} 

data: {"id":"chatcmpl-7rCNsVeZy0PGnX3H6jK8STps5nZUY","object":"chat.completion.chunk","created":1692913344,"model":"gpt-35-turbo","choices":[{"index":0,"finish_reason":null,"delta":{"role":"assistant"}}],"usage":null} 

data: {"id":"chatcmpl-7rCNsVeZy0PGnX3H6jK8STps5nZUY","object":"chat.completion.chunk","created":1692913344,"model":"gpt-35-turbo","choices":[{"index":0,"finish_reason":null,"delta":{"content":"Color"}}],"usage":null} 

data: {"id":"chatcmpl-7rCNsVeZy0PGnX3H6jK8STps5nZUY","object":"chat.completion.chunk","created":1692913344,"model":"gpt-35-turbo","choices":[{"index":0,"finish_reason":null,"delta":{"content":" is"}}],"usage":null} 

data: {"id":"chatcmpl-7rCNsVeZy0PGnX3H6jK8STps5nZUY","object":"chat.completion.chunk","created":1692913344,"model":"gpt-35-turbo","choices":[{"index":0,"finish_reason":null,"delta":{"content":" a"}}],"usage":null} 

... 

data: {"id":"","object":"","created":0,"model":"","choices":[{"index":0,"finish_reason":null,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"content_filter_offsets":{"check_offset":44,"start_offset":44,"end_offset":198}}],"usage":null} 

... 

data: {"id":"chatcmpl-7rCNsVeZy0PGnX3H6jK8STps5nZUY","object":"chat.completion.chunk","created":1692913344,"model":"gpt-35-turbo","choices":[{"index":0,"finish_reason":"stop","delta":{}}],"usage":null} 

data: {"id":"","object":"","created":0,"model":"","choices":[{"index":0,"finish_reason":null,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"content_filter_offsets":{"check_offset":506,"start_offset":44,"end_offset":571}}],"usage":null} 

data: [DONE] 

Örnek yanıt akışı (filtreler tarafından engellendi)

{"temperature": 0, "frequency_penalty": 0, "presence_penalty": 1.0, "top_p": 1.0, "max_tokens": 800, "messages": [{"role": "user", "content": "Tell me the lyrics to \"Hey Jude\"."}], "stream": true}

data: {"id":"","object":"","created":0,"model":"","prompt_filter_results":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}],"choices":[],"usage":null} 

data: {"id":"chatcmpl-8JCbt5d4luUIhYCI7YH4dQK7hnHx2","object":"chat.completion.chunk","created":1699587397,"model":"gpt-35-turbo","choices":[{"index":0,"finish_reason":null,"delta":{"role":"assistant"}}],"usage":null} 

data: {"id":"chatcmpl-8JCbt5d4luUIhYCI7YH4dQK7hnHx2","object":"chat.completion.chunk","created":1699587397,"model":"gpt-35-turbo","choices":[{"index":0,"finish_reason":null,"delta":{"content":"Hey"}}],"usage":null} 

data: {"id":"chatcmpl-8JCbt5d4luUIhYCI7YH4dQK7hnHx2","object":"chat.completion.chunk","created":1699587397,"model":"gpt-35-turbo","choices":[{"index":0,"finish_reason":null,"delta":{"content":" Jude"}}],"usage":null} 

data: {"id":"chatcmpl-8JCbt5d4luUIhYCI7YH4dQK7hnHx2","object":"chat.completion.chunk","created":1699587397,"model":"gpt-35-turbo","choices":[{"index":0,"finish_reason":null,"delta":{"content":","}}],"usage":null} 

... 

data: {"id":"chatcmpl-8JCbt5d4luUIhYCI7YH4dQK7hnHx2","object":"chat.completion.chunk","created":1699587397,"model":"gpt-35- 

turbo","choices":[{"index":0,"finish_reason":null,"delta":{"content":" better"}}],"usage":null} 

data: {"id":"","object":"","created":0,"model":"","choices":[{"index":0,"finish_reason":null,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"content_filter_offsets":{"check_offset":65,"start_offset":65,"end_offset":1056}}],"usage":null} 

data: {"id":"","object":"","created":0,"model":"","choices":[{"index":0,"finish_reason":"content_filter","content_filter_results":{"protected_material_text":{"detected":true,"filtered":true}},"content_filter_offsets":{"check_offset":65,"start_offset":65,"end_offset":1056}}],"usage":null} 

data: [DONE] 

Önemli

bir istem için içerik filtreleme tetiklendiğinde ve yanıt kapsamında bir "status": 400 ileti alındığında, istem hizmet tarafından değerlendirildiğinden bu istek için bir ücret alınabilir. ile bir alındığında "finish_reason": "content_filter"da ücret uygulanır."status":200 Bu durumda istemde herhangi bir sorun yoktu, ancak model tarafından oluşturulan tamamlamanın içerik filtreleme kurallarını ihlal ettiği algılandı ve bu da tamamlanmanın filtrelenmesine neden oldu.

En iyi yöntemler

Uygulama tasarımınızın bir parçası olarak, olası zararları en aza indirirken uygulamanızla olumlu bir deneyim sunmak için aşağıdaki en iyi yöntemleri göz önünde bulundurun:

  • Kullanıcılarınızın filtrelenmiş kategori ve önem düzeyinde sınıflandırılmış içerik içeren istemler gönderdiği veya uygulamanızı başka bir şekilde kötüye kullandığı senaryoları nasıl işlemek istediğinize karar verin.
  • Bir tamamlamanın filtrelenip filtrelenmediğini görmek için finish_reason ögesini denetleyin.
  • content_filter_result içinde hata nesnesi olup olmadığını denetleyin (içerik filtrelerinin çalışmadığını gösterir).
  • Korumalı malzeme kodu modelini açıklama modunda kullanıyorsanız, kodu uygulamanızda görüntülerken alıntı URL'sini görüntüleyin.

Sonraki adımlar

  • Azure OpenAI'yi destekleyen temel modeller hakkında daha fazla bilgi edinin.
  • Bu form aracılığıyla değiştirilmiş içerik filtreleri için uygulayın.
  • Azure OpenAI içerik filtreleme, Azure Yapay Zeka İçeriği Kasa ty tarafından desteklenir.
  • Uygulamanızla ilişkili riskleri anlama ve azaltma hakkında daha fazla bilgi edinin: Azure OpenAI modelleri için sorumlu yapay zeka uygulamalarına genel bakış.
  • verilerin içerik filtreleme ve kötüye kullanım izleme ile bağlantılı olarak nasıl işlendiği hakkında daha fazla bilgi edinin: Azure OpenAI Hizmeti için veriler, gizlilik ve güvenlik.