Freigeben über


Moderation der Inhaltssicherheit mit den Windows AI-APIs

Windows AI-APIs wie Phi Silica und Imaging verwenden Inhaltsmoderation zum Klassifizieren und Filtern potenziell schädlicher Inhalte von Benutzeraufforderungen oder in Antworten, die von den generativen Modellen zurückgegeben werden. Standardmäßig filtern diese API Inhalte, die als potenziell schädlich klassifiziert sind, aber Vertraulichkeitsstufen können konfiguriert werden.

Api-Details finden Sie in der API-Referenz zur Moderation der Inhaltssicherheit.

Voraussetzungen

Führen Sie die Schritte in "Erste Schritte beim Erstellen einer App mit Windows AI-APIs" aus.

Anpassen der Inhaltssicherheitsmoderation

Sie können die Inhaltsmoderation auf der Eingabeaufforderung an das generative Modell und die generierte KI-Ausgabe anpassen. Die Inhaltsmoderation der Windows-AI-API ist ähnlich wie die von Azure AI Content Safety bereitgestellte Inhaltsmoderation konzipiert und implementiert.

Schadenskategorien

Die von Windows AI-APIs unterstützten Schadenkategorien entsprechen den von Azure AI Content Safety definierten Kategorien. Zu den Schadenkategorien gehören Hass und Fairness, SexuelleGewalt und Selbstschäden (mehrere Kategorien können demselben Inhalt zugewiesen werden).

Kategorie Beschreibung API-Name
Hass Inhalt, der Angriffe oder diskriminierende Äußerungen in Bezug auf eine Person oder Identitätsgruppe aufgrund bestimmter Unterscheidungsmerkmale dieser Gruppen enthält. HateContentSeverity
Sexuell Inhalte im Zusammenhang mit anatomischen Organen und Genitalien, romantischen 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 eines dargestellt werden. SexualContentSeverity
Gewalt Inhalte im Zusammenhang mit physischen Handlungen, die dazu bestimmt sind, jemanden oder etwas zu verletzen, zu beschädigen oder zu töten; beschreibt Waffen, Schusswaffen und verwandte Gegenstände. ViolentContentSeverity
Selbstverletzung Inhalte im Zusammenhang mit körperlichen Handlungen, die beabsichtigt sind, jemanden zu verletzen, den Körper zu schädigen oder sich selbst zu töten. SelfHarmContentSeverity

Schweregrade

Standardmäßig verwenden alle Aufrufe von generativen Windows-KI-APIs die Inhaltsmoderation, schweregrade können jedoch 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 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

Um den Schweregrad der Textinhaltsmoderation zu konfigurieren, müssen Sie die ContentFilterOptions-Struktur als Parameter an die API übergeben, die für die Reaktionsgenerierung verwendet wird (z. B. die Phi-Silika-API).

Das folgende Codebeispiel veranschaulicht das Hinzufügen von Schweregradfiltern für die Textinhaltsmoderation zum Microsoft Windows Generative AI LanguageModel:

LanguageModelOptions options = new LanguageModelOptions();
ContentFilterOptions filterOptions = new ContentFilterOptions();

// prompt
filterOptions.PromptMaxAllowedSeverityLevel.Violent = SeverityLevel.Minimum;
filterOptions.PromptMaxAllowedSeverityLevel.Hate = SeverityLevel.Low;
filterOptions.PromptMaxAllowedSeverityLevel.SelfHarm = SeverityLevel.Medium;
filterOptions.PromptMaxAllowedSeverityLevel.Sexual = SeverityLevel.High;

//response
filterOptions.ResponseMaxAllowedSeverityLevel.Violent = SeverityLevel.Medium;

//image
filterOptions.ImageMaxAllowedSeverityLevel.AdultContentLevel = SeverityLevel.Medium;
filterOptions.ImageMaxAllowedSeverityLevel.RacyContentLevel = SeverityLevel.Medium;

options.ContentFilterOptions = filterOptions;

var result = await languageModel.GenerateResponseAsync(prompt, options);

Console.WriteLine(result.Text);

Siehe auch