Aracılığıyla paylaş


İçerik filtrelemeye genel bakış

Azure OpenAI, görüntü oluşturma modelleri de dahil olmak üzere çekirdek modellerin yanında çalışan bir içerik filtreleme sistemi içerir. Bu sistem, zararlı içeriğin çıkışını algılamak ve önlemek için tasarlanmış bir dizi sınıflandırma modeli aracılığıyla hem istem hem de tamamlama işlemini çalıştırı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.

Önemli

İçerik filtreleme sistemi, Whisper gibi ses modelleri tarafından işlenen istemler ve tamamlamalar dışında doğrudan Azure tarafından satılan tüm Modeller için geçerlidir. Daha fazla bilgi için bkz. Azure OpenAI'de ses modelleri.

Azure OpenAI, 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 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 için veriler, gizlilik ve güvenlik.

Bu bölümdeki makalelerde 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ınacak API senaryoları hakkında bilgi sağlanır.

Uyarı

İçerik filtreleme amacıyla istemleri veya tamamlamaları depolamayız. kullanıcı onayı olmadan içerik filtreleme sistemini eğitmek, yeniden eğitmek veya iyileştirmek için istemleri veya tamamlamaları kullanmayız. Daha fazla bilgi için bkz . Veri, gizlilik ve güvenlik.

İçerik filtresi türleri

Azure OpenAI 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.
  • Jailbreak riskini ve metin ve kod için 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.

Filtre kategorileri

Aşağıdaki tabloda, Azure OpenAI'nin içerik filtreleme sistemi tarafından desteklenen risk kategorileri özetlenmektedir.

Kategori Açıklama
Nefret ve Eşitlik Nefret ve adaletle ilgili zararlar, bu grupların belirli ayırt edici özelliklerine dayanarak bir kişiye veya kimlik grubuna saldıran veya ayrımcı dil kullanan içerikleri ifade eder.

Buna şunlar dahildir ancak bunlarla sınırlı değildir:
  • Irk, etnik köken, milliyet
  • Cinsiyet kimlik grupları ve ifadesi
  • Cinsel yönelim
  • Din
  • Kişisel görünüm ve vücut boyutu
  • Engellilik durumu
  • Taciz ve zorbalık
Seksüel "Cinsel, anatomik organlar ve cinsel organlar, romantik ilişkiler ve cinsel eylemlerle ilgili dili tanımlar; cinsel veya sevgi dolu terimlerle tasvir edilen eylemler, saldırı ya da kişinin isteği dışında zorla gerçekleştirilen cinsel şiddet eylemlerini içerebilir." 

 Buna şunlar dahildir ancak bunlarla sınırlı değildir:
  • Kaba içerik
  • Fuhuş
  • Çıplaklık ve Pornografi
  • Suiistimal
  • Çocuk istismarı, çocuk suistimali, çocuğun istismara hazırlanması
Şiddet Şiddet, birini veya bir şeyi yaralayan, yaralayan, zarar verecek veya öldürmeye yönelik fiziksel eylemlerle ilgili dili tanımlar; silahları, silahları ve ilgili varlıkları açıklar.

Buna şunlar dahildir ancak bunlarla sınırlı değildir:
  • Silahlar
  • Zorbalık ve gözdağı verme
  • Terörist ve şiddet dolu aşırılık
  • Taciz amaçlı takip
Kendine Zarar Verme Kendine zarar verme, kişinin kendine kasten zarar vermek, yaralanmak, vücuduna hasar vermek veya intihar etmek gibi fiziksel eylemlerle ilgili dili tanımlar.

Buna şunlar dahildir ancak bunlarla sınırlı değildir:
  • Yeme Bozuklukları
  • Zorbalık ve gözdağı verme
Kullanıcı İstemi Saldırıları Kullanıcı istemi 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 yapmadan güvenliği hedefinden hafifçe sapmaya kadar değişiklik gösterebilir.
Dolaylı Saldırılar Dolaylı İstem Saldırıları veya Etki Alanları Arası İstem Ekleme Saldırıları olarak da adlandırılan Dolaylı Saldırılar, üçüncü tarafların Üretken Yapay Zeka sisteminin erişebileceği ve işleyebileceği belgelerin içine kötü amaçlı yönergeler yerleştirdiği olası bir güvenlik açığıdır. Belge ekleme ve biçimlendirme gerektirir.
Temellendirme2 Topraklama algılama, büyük dil modellerinin (LLM) metin yanıtlarının kullanıcılar tarafından sağlanan kaynak malzemelerde yer alıp almadığını işaret eder. Temelsiz bilgi, LLM'lerin kaynak materyallerde bulunanlardan farklı olarak yanlış veya doğruluk payı olmayan bilgiler ürettiği örnekleri ifade eder. Belge ekleme ve biçimlendirme gerektirir.
Metin için Korumalı Malzeme1 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.
Kişisel bilgiler (PII) Kişisel bilgiler (PII), belirli bir kişiyi tanımlamak için kullanılabilecek tüm bilgileri ifade eder. PII algılama, LLM tamamlamalarında metin içeriğini analiz etmeyi ve döndürülen tüm PII'leri filtrelemeyi içerir.

1 Metin malzemesinin sahibiyseniz ve koruma için metin içeriği göndermek istiyorsanız, bir istekte bulunun.

2 Akış dışı senaryolarda kullanılamaz; yalnızca akış senaryolarında kullanılabilir. Aşağıdaki bölgeler Temellük Algılaması'nı destekler: Merkezi ABD, Doğu ABD, Fransa Merkezi ve Kanada Doğusu

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 yanıtın finish_reason kısmı content_filter olarak gösterilir ve bu, tamamlama işleminin bir bölümünün filtrelendiğini belirtir. 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ğeri content_filter olarak ayarlanmıştır. Daha uzun yanıtlara sahip nadir durumlarda kısmi sonuç döndürülebilir. Bu gibi durumlarda, finish_reason güncelleştirilir.
  • Akış tamamlama çağrıları için segmentler tamamlandıklarında kullanıcıya döndürülür. Hizmet, durma belirtecine, belirlenen uzunluğa ulaşana veya filtrelenmiş bir kategoride ve önem düzeyinde sınıflandırılan içerik algılanana kadar akışa devam eder.

Senaryo: Birden çok çıktı talep eden, akışsız tamamlama çağrısı gönderirsiniz; hiçbir içerik, filtrelenmiş kategori ve önem derecesi seviyesinde sınıflandırılmaz.

Aşağıdaki tabloda, içerik filtrelemenin çeşitli yolları özetlenmiştir:

HTTP yanıt kodu Yanıt davranışı
200 Tüm nesiller yapılandırıldığı şekilde filtrelerden geçtiğinde, yanıt içerik denetleme ayrıntılarını içermeyecektir. Her nesil için finish_reason ya stop ya da length şeklindedir.

Ö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 Filtrelendiklerinde finish_reason nesillerin değeri content_filter olur.

Ö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: Tamamlama API'sine uygunsuz bir veri istemi gönderirsiniz (akışlı veya akışsız kullanımlar 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 üretimle geri akış yapar ve finish_reason ya length ya da stop olarak döner.

Ö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 tamamlamayı talep ettiğiniz bir akış tamamlama çağrısı yaparsınız ve çıktı içeriğinin en az bir kısmı filtrelenmiştir.

HTTP Yanıt Kodu Yanıt davranışı
200 Belirli bir nesil dizini için, neslin son kısmı null olmayan bir finish_reason değeri içerir. Değer, nesil filtrelendiğinde content_filter olur.

Ö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. content_filter_results nesnesinde bir hata iletisi arayarak filtrelemenin 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_results": {
                "error": {
                    "code": "content_filter_error",
                    "message": "The contents are not filtered"
                }
            }
        }
    ]
}

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_results 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.