Freigeben über


Moderation der Inhaltssicherheit mit Windows Copilot Runtime

Wichtig

Im neuesten experimentellen Kanal-Release für das Windows App SDK verfügbar.

Der experimentelle Kanal des Windows App SDK umfasst APIs und Features in frühen Entwicklungsphasen. Alle APIs im experimentellen Kanal unterliegen umfangreichen Überarbeitungen und kompatibilitätsbrechenden Änderungen und können jederzeit in nachfolgenden Versionen entfernt werden. Experimentelle Features werden nicht für die Verwendung in Produktionsumgebungen und Apps unterstützt, die sie verwenden, können nicht im Microsoft Store veröffentlicht werden.

Windows Copilot-Runtime-APIs, wie die Phi Silica API oder die Imaging-API, implementieren die Textinhaltsmoderation, um potenziell schädliche Inhalte zu klassifizieren und herauszufiltern, die von diesen generativen Modellen aufgefordert oder zurückgegeben werden könnten. Die API filtert Inhalte aus, die standardmäßig als potenziell schädlich eingestuft wurden. Entwickler können jedoch unterschiedliche Vertraulichkeitsstufen konfigurieren.

Voraussetzungen

Moderation von Textinhalten

Sie können die Inhaltsmoderation auf der Eingabeaufforderung an das generative Modell und die generierte KI-Ausgabe anpassen. Die Inhaltsmoderation der Windows Copilot-Runtime-APIs wird ähnlich entwickelt und implementiert wie diejenige, die von Azure AI Content Safetybereitgestellt wird.

Schadenskategorien

Schadenskategorien entsprechen den Definitionen, die in Azure AI Content Safety verwendet werden, und sind in der Azure AI Content Safety-Anleitungzu finden. Zu den Schadenkategorien gehören: Hass und Fairness, sexuelle Inhalte, Gewalt oder Selbstschäden und können mehrere Bezeichnungen auf demselben Inhalt enthalten.

Diese vier Kategorien, die potenziell schädliche Inhalte klassifizieren, ermöglichen das Anpassen von Vertraulichkeitsfiltern.

Kategorie Beschreibung API-Name
Hass Hass- und Fairnessverstöße beziehen sich auf Inhalte, die eine Person oder Identitätsgruppe aufgrund bestimmter unterscheidender Merkmale dieser Gruppen angreifen oder eine diskriminierende Sprache verwenden. HateContentSeverity
Sexuell Sexual beschreibt die Sprache im Zusammenhang mit anatomischen Organen und Genitalien, romantische Beziehungen und sexuellen Handlungen, Handlungen, die in erotischen oder liebevollen Ausdrücken dargestellt werden, einschließlich derjenigen, die als Angriff oder eine erzwungene sexuelle Gewalt gegen den Willen des Einen dargestellt werden. SexualContentSeverity
Gewalt Gewalt beschreibt Sprache im Zusammenhang mit physischen Handlungen, die schädigen, verletzen, beeinträchtigen oder töten sollen, oder zur Beschreibung von Waffen, Schusswaffen u. Ä. ViolentContentSeverity
Selbstverletzung Selbstverletzendes Verhalten beschreibt Sprache, die sich auf körperliche Handlungen beziehen, die darauf abzielen, den eigenen Körper absichtlich zu verletzen, zu verwunden oder zu schädigen oder sich selbst zu töten. SelfHarmContentSeverity

Schweregrade

Standardmäßig verwenden alle Aufrufe von Windows Copilot Runtime-generativen APIs die Inhaltsmoderation, aber der Schweregrad kann angepasst werden.

  • high: Nicht verfügbar. Inhalte, die als Schweregrad 3+ klassifiziert sind (hohes Risiko für potenzielle Schäden), werden derzeit vom generativen KI-Modell nicht zurückgegeben.

  • medium: Der Standardschweregrad ist auf mediumfestgelegt. Inhalte, die als Schweregrad 0 - 3 klassifiziert wurden, werden zurückgegeben.

  • low: Verringert das Risiko, potenziell schädliche Inhalte weiter zurückzugeben. Es werden nur Inhalte zurückgegeben, die als Schweregrad 0 - 1 klassifiziert wurden.

Weitere Informationen zu den Schweregraden finden Sie unter Schadenskategorien für Azure KI Inhaltssicherheit.

Codebeispiel für die Textinhaltsmoderation

Zum Konfigurieren von Schweregradfiltern der Textinhaltsmoderation, die in Windows Copilot Runtime eingebettet sind, müssen Sie die ContentFilterOptions Struktur als Parameter an die API übergeben, die für die Reaktionsgenerierung verwendet wird, z. B. die Phi-Silikate-API.

Das folgende Codebeispiel veranschaulicht das Hinzufügen von Schweregradfiltern für die Textinhaltsmoderation zu microsoft Windows Generative AI 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;