Condividi tramite


Moderazione della sicurezza dei contenuti con Windows Copilot Runtime

Importante

Disponibile nella versione più recente canale sperimentale di Windows App SDK.

Il canale sperimentale di Windows App SDK include API e funzionalità nelle fasi iniziali dello sviluppo. Tutte le API nel canale sperimentale sono soggette a revisioni estese e modifiche di rilievo e possono essere rimosse dalle versioni successive in qualsiasi momento. Le funzionalità sperimentali non sono supportate per l'uso in ambienti di produzione e le app che le usano non possono essere pubblicate in Microsoft Store.

Le API di Runtime di Windows Copilot, ad esempio l'API Phi Silica o API imaging, implementano la moderazione del contenuto del testo per classificare e escludere contenuti potenzialmente dannosi dalla richiesta o restituiti da questi modelli generativi. L'API filtra il contenuto classificato come potenzialmente dannoso per impostazione predefinita, ma gli sviluppatori possono configurare livelli di riservatezza diversi.

Prerequisiti

Moderazione del contenuto del testo

È possibile modificare la moderazione del contenuto al prompt di input per il modello generativo e l'output generato dall'intelligenza artificiale. La moderazione del contenuto delle API di Windows Copilot Runtime è progettata e implementata in modo analogo a quello fornito da Azure AI Content Safety.

Categorie di danni

Le categorie dannose sono allineate alle definizioni usate in Sicurezza dei contenuti di Intelligenza artificiale di Azure e sono disponibili nella guida Azure AI Content Safety. Le categorie di danni includono: odio e equità, contenuto sessuale, violenza o autolesionismo e può includere più etichette sullo stesso contenuto.

Queste quattro categorie classificano il contenuto potenzialmente dannoso e consentono di regolare i filtri di riservatezza.

Categoria Descrizione Nome API
Odio I danni all'odio e all'equità si riferiscono a qualsiasi contenuto che attacca o usa un linguaggio discriminatorio con riferimento a una persona o a un gruppo di identità basato su determinati attributi diversi di questi gruppi. HateContentSeverity
Sessuale Il linguaggio sessuale descrive il linguaggio correlato a organi anatomici e genitali, relazioni romantiche e atti sessuali, atti rappresentati in termini erotici o affettuosi, inclusi quelli rappresentati come un assalto o un atto violento sessuale forzato contro la volontà di uno. SexualContentSeverity
Violenza La violenza descrive il linguaggio relativo alle azioni fisiche destinate a colpire, ferire, danneggiare o uccidere qualcuno o qualcosa; descrive armi, armi da fuoco ed entità correlate. ViolentContentSeverity
Autolesionismo L'autolesionismo riguarda discorsi relativi ad azioni fisiche destinate a ferire, lesionare, danneggiare il proprio corpo o a uccidersi. SelfHarmContentSeverity

Livelli di gravità

Per impostazione predefinita, tutte le chiamate alle API generative di Windows Copilot Runtime usano la moderazione del contenuto, ma il livello di gravità può essere modificato.

  • high: non disponibile. Il contenuto classificato come livello di gravità 3+ (rischio elevato per potenziali danni) è attualmente bloccato dalla restituzione del modello di intelligenza artificiale generativa.

  • medium: il livello di gravità predefinito è impostato su medium. Verrà restituito il contenuto classificato come livello di gravità 0 - 3.

  • low: riduce ulteriormente il rischio di restituire contenuto potenzialmente dannoso. Verrà restituito solo il contenuto classificato come livello di gravità 0 - 1.

Per altre informazioni sui livelli di gravità, vedere categorie di danni alla sicurezza dei contenuti di Intelligenza artificiale di Azure.

Esempio di codice Moderazione del contenuto testuale

Per configurare i filtri di gravità della moderazione del contenuto di testo incorporati in Windows Copilot Runtime, è necessario passare lo struct ContentFilterOptions come parametro all'API usata per la generazione di risposte, ad esempio l'API Phi Silica .

L'esempio di codice seguente illustra l'aggiunta di filtri di gravità per la moderazione del contenuto testuale nell'intelligenza artificiale generativa di Microsoft Windows LanguageModel.

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;