Aracılığıyla paylaş


Windows Copilot Runtime ile İçerik Güvenliği Moderasyonu

Önemli

Windows Uygulama SDK'sının en son deneysel kanal sürümünde kullanılabilir.

Windows Uygulama SDK'sı deneysel kanalı, geliştirmenin erken aşamalarında API'leri ve özellikleri içerir. Deneysel kanaldaki tüm API'ler kapsamlı düzeltmelere ve hataya neden olan değişikliklere tabidir ve herhangi bir zamanda sonraki sürümlerden kaldırılabilir. Deneysel özellikler üretim ortamlarında kullanılmak üzere desteklenmez ve bunları kullanan uygulamalar Microsoft Store'da yayımlanamaz.

Phi Silica API'si veya Görüntüleme API'sigibi Windows Copilot Çalışma Zamanı API'leri, bu oluşturucu modellerin soracağı veya döndüreceği potansiyel zararlı içerikleri sınıflandırmak ve filtrelemek amacıyla Metin İçeriği Denetimi uygular. API, varsayılan olarak zararlı olabilecek içerik olarak sınıflandırılan içeriği filtreler, ancak geliştiriciler farklı duyarlılık düzeyleri yapılandırabilir.

Önkoşullar

Metin içeriği moderasyonu

Giriş isteminde içerik moderasyonu oluşturucu modele ve yapay zeka tarafından oluşturulan çıktıya ayarlayabilirsiniz. Windows Copilot Runtime API'leri içerik moderasyonu, Azure AI content Safetytarafından sağlanana benzer şekilde tasarlanır ve uygulanır.

Zarar kategorileri

Zarar kategorileri Azure AI İçerik Güvenliği'nde kullanılan tanımlarla uyumlu olur ve Azure AI İçerik Güvenliği kılavuzunda bulunabilir. Zarar kategorileri şunlardır: Nefret ve Eşitlik, Cinsel içerik, Şiddet veya Kendine Zarar verme ve aynı içeriğe birden çok etiket ekleyebilir.

Zararlı olabilecek içeriği sınıflandıran bu dört kategori duyarlılık filtrelerinin ayarlanmasını sağlar.

Kategori Açıklama API adı
Nefret Nefret ve adalet zararları, bu grupların belirli ayırt edici özniteliklerine dayalı olarak bir kişiye ya da kimlik grubuna saldıran veya ayrımcı dil kullanan içeriklere başvurur. HateContentSeverity
Seksüel Cinsel, anatomik organlar ve cinsel organlar, romantik ilişkiler ve cinsel eylemler hakkında kullanılan dili tanımlar; cinsel veya sevgi dolu terimlerle tasvir edilen veya zorla bir kişinin isteği dışında gerçekleştirilen saldırı ve şiddet içeren eylemleri de içerir. SexualContentSeverity
Ş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. ViolentContentSeverity
Kendine Zarar Verme Kendine zarar verme, kişinin kasıtlı olarak kendi bedenine zarar vermek, yaralamak veya kendini öldürmek amacıyla yaptığı fiziksel eylemlerle ilgili dili ifade eder. SelfHarmContentSeverity

Ciddiyet seviyeleri

Varsayılan olarak, Windows Copilot Runtime üretken API'lerine yapılan tüm çağrılar içerik moderasyonu kullanır, ancak önem düzeyi ayarlanabilir.

  • high: Kullanılamaz. Şu anda önem düzeyi 3+ (olası zararlar için yüksek risk) olarak sınıflandırılan içeriğin üretken yapay zeka modeli tarafından geri getirilmesi engellenmektedir.

  • medium: Varsayılan önem düzeyi mediumolarak ayarlanır. Önem düzeyi 0 - 3 olarak sınıflandırılan içerik döndürülür.

  • low: Zararlı olabilecek içerikleri daha fazla döndürme riskini azaltır. Yalnızca önem düzeyi 0 - 1 olarak sınıflandırılan içerik döndürülür.

Önem derecesi düzeyleri hakkında daha fazla bilgi edinmek için bkz. Azure AI İçerik Güvenliği Zarar Kategorileri.

Metin İçerik Moderasyonu kod örneği

Windows Copilot Çalışma Zamanı'na eklenmiş Metin İçeriği Moderasyonu önem derecesi filtrelerini yapılandırmak için, ContentFilterOptions yapısını Phi Silica APIgibi yanıt oluşturma için kullanılan API'ye parametre olarak geçirmeniz gerekir.

Aşağıdaki kod örneği, Microsoft Windows Üretken Yapay Zeka LanguageModelMetin İçerik Denetimi önem derecesi filtrelerini eklemeyi gösterir:

var languageModelOptions = new LanguageModelOptions {
    Temp =  0.9f,
    Top_p = 0.9f, 
    Top_k = 40
};

var promptMinSeverityLevelToBlock = new TextContentFilterSeverity {
    HateContentSeverity = SeverityLevel.Low,
    SexualContentSeverity = SeverityLevel.Low,
    ViolentContentSeverity = SeverityLevel.Medium,
    SelfHarmContentSeverity = SeverityLevel.Low
};

var responseMinSeverityLevelToBlock = new TextContentFilterSeverity {
    HateContentSeverity = SeverityLevel.Low,
    SexualContentSeverity = SeverityLevel.Low,
    ViolentContentSeverity = SeverityLevel.Low,
    SelfHarmContentSeverity = SeverityLevel.Medium
};

var contentFilterOptions = new ContentFilterOptions {
    PromptMinSeverityLevelToBlock = promptMinSeverityLevelToBlock,
    ResponseMinSeverityLevelToBlock = responseMinSeverityLevelToBlock
};

IProgress<string> progress;
var languageModelResponseWithProgress = model.GenerateResponseWithProgressAsync(languageModelOptions, prompt, contentFilterOptions);
languageModelRepsonseWithProgress.Progress = (_, generationProgress) =>
{
    progress.Report(generationProgress);
};
string response = (await languageModelResponseWithProgress).Response;