Modération de la sécurité du contenu avec Windows Copilot Runtime
Essentiel
Disponible dans la dernière version de la chaîne expérimentale du SDK d’applications Windows.
Le canal expérimental du Kit de développement logiciel (SDK) d’application Windows inclut des API et des fonctionnalités au début du développement. Toutes les API du canal expérimental sont soumises à des révisions étendues et à des changements cassants et peuvent être supprimées des versions ultérieures à tout moment. Les fonctionnalités expérimentales ne sont pas prises en charge pour une utilisation dans les environnements de production et les applications qui les utilisent ne peuvent pas être publiées dans le Microsoft Store.
API Windows Copilot Runtime, telles que l’API Phi Silica ou l’API Imaging, implémentent la modération du contenu texte pour classifier et filtrer le contenu potentiellement dangereux afin qu'il ne soit pas proposé ou renvoyé par ces modèles génératifs. L’API filtre le contenu classé comme potentiellement dangereux par défaut, mais les développeurs peuvent configurer différents niveaux de confidentialité.
Prérequis
- Les API Windows Copilot Runtime nécessitent un PC CoPilot+ contenant une puce Msi.
- Arm64EC (compatible avec l’émulation) n’est actuellement pas pris en charge.
- Windows 11 Insider Preview Build 26120.3073 (Canaux dev et bêta) ou version ultérieure doivent être installés sur votre appareil.
Modération du contenu texte
Vous pouvez ajuster la modération du contenu de l'invite de saisie pour le modèle génératif ainsi que la sortie générée par l'IA. La modération du contenu des API Windows Copilot Runtime est conçue et implémentée de la même façon que celle fournie par Azure AI Content Safety.
Catégories préjudiciables
Les catégories de préjudices s’alignent sur les définitions utilisées dans Azure AI Content Safety et sont disponibles dans les instructions d’Azure AI Content Safety. Les catégories de préjudices sont les suivantes : haine et équité, contenu sexuel, violence ou auto-préjudice, et peut inclure plusieurs étiquettes sur le même contenu.
Ces quatre catégories classifient du contenu potentiellement dangereux permettent aux filtres de sensibilité d’être ajustés.
Category | Description | Nom de l’API |
---|---|---|
Hate | Les préjudices liés à la haine et à l'équité se réfèrent à tout contenu qui attaque ou utilise un langage discriminatoire à l'égard d'une personne ou d'un groupe d'identité sur la base de certains attributs différentiels de ces groupes. | HateContentSeverity |
Sexuel | Sexuel décrit le langage lié aux organes anatomiques et génitaux, les relations romantiques et les actes sexuels décrits en termes érotiques ou affectueux, y compris ceux qui sont décrits comme une agression ou un acte de violence sexuelle forcé contre la volonté d'une personne. | SexualContentSeverity |
Violence | Le terme violence désigne les propos relatifs aux actes physiques visant à endommager quelque chose, à blesser quelqu’un ou à le tuer, ainsi que les termes utilisés pour décrire des armes, armes à feu et des objets associés. | ViolentContentSeverity |
Auto-préjudice | L’automutilation décrit le langage lié aux actions physiques destinées à blesser ou abîmer le corps d’une personne ou à se suicider. | SelfHarmContentSeverity |
Niveaux de gravité
Par défaut, tous les appels aux API génératives Windows Copilot Runtime utilisent la modération du contenu, mais le niveau de gravité peut être ajusté.
high
: non disponible. Le contenu classé comme niveau de gravité 3+ (risque élevé de préjudice potentiel) est actuellement bloqué pour être retourné par le modèle d’IA générative.medium
: le niveau de gravité par défaut est défini surmedium
. Le contenu classé comme niveau de gravité 0 - 3 est retourné.low
: réduit davantage le risque de retourner du contenu potentiellement dangereux. Seul le contenu classé comme niveau de gravité 0 - 1 est retourné.
Pour en savoir plus sur les niveaux de gravité, consultez catégories d’atteintes à la sécurité du contenu Azure AI.
Exemple de code de modération du contenu texte
Pour configurer les filtres de sévérité de la modération du contenu du texte intégrés dans Windows Copilot Runtime, vous devrez transmettre la structure ContentFilterOptions
en tant que paramètre à l'API utilisée pour la génération de réponses, telle que l'API Phi Silica.
L’exemple de code suivant montre comment ajouter des filtres de gravité pour la modération de contenu texte à l’IA générative 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;