Moderación de seguridad de contenido con Windows Copilot Runtime
Importante
Disponible en la última versión del canal experimental del Windows App SDK.
El canal experimental del SDK de Aplicaciones para Windows incluye API y características que se encuentran en las primeras fases del desarrollo. Todas las API del canal experimental están sujetas a revisiones exhaustivas y cambios importantes y se pueden eliminar de versiones posteriores en cualquier momento. Las características experimentales no se admiten para su uso en entornos de producción y las aplicaciones que las usan no se pueden publicar en Microsoft Store.
Las API de tiempo de ejecución de Windows Copilot, como las API de Phi Silica o las API de imágenes , implementan la moderación de contenido de texto para clasificar y filtrar el contenido potencialmente dañino, evitando que estos modelos generativos lo sugieran o devuelvan. La API filtrará el contenido clasificado como potencialmente perjudicial de forma predeterminada; sin embargo, los desarrolladores pueden configurar diferentes niveles de confidencialidad.
Requisitos previos
- Las API de Windows Copilot Runtime requieren un equipo de Copilot+ que contenga un chip Qualcomm.
- Arm64EC (compatible con emulación) no se admite actualmente.
- Windows 11 Insider Preview Build 26120.3073 (canales de desarrollo y beta) o posterior debe estar instalado en el dispositivo.
Moderación de contenido de texto
Puede ajustar la moderación de contenido tanto en el mensaje de entrada para el modelo generativo como en la salida generada por IA. La moderación de contenido de las Windows Copilot Runtime APIs está diseñada e implementada de forma similar a la proporcionada por Azure AI Content Safety.
Categorías de daños
Las categorías de daños se alinean con las definiciones usadas en la seguridad del contenido de Azure AI y se pueden encontrar en la guía de seguridad de contenido de Azure AI . Las categorías de daño incluyen: Odio y Equidad, Contenido Sexual, Violencia o Auto-Daño, y puede incluir varias etiquetas en el mismo contenido.
Estas cuatro categorías que clasifican contenido potencialmente perjudicial permiten ajustar los filtros de confidencialidad.
Category | Descripción | Nombre de la API |
---|---|---|
Odio | Los daños de odio y equidad hacen referencia a cualquier contenido que ataque o use lenguaje discriminatorio con referencia a una persona o grupo de identidades basado en determinados atributos diferenciadores de estos grupos. | HateContentSeverity |
Sexual | Sexual describe el lenguaje relacionado con los órganos anatómicos y los genitales, las relaciones románticas y los actos sexuales, los actos representados en términos eróticos o cariñosos, incluidos aquellos que se representan como un ataque o un acto violento sexual forzado en contra de la voluntad de alguien. | SexualContentSeverity |
Violencia | La violencia describe el lenguaje relacionado con acciones físicas destinadas a herir, lesionar, dañar o matar a alguien o algo; describe armas, pistolas y entidades relacionadas. | ViolentContentSeverity |
Autolesión | Autolesión describe el lenguaje relacionado con acciones físicas destinadas a herir, lesionar o dañar intencionadamente su propio cuerpo o a suicidarse. | SelfHarmContentSeverity |
Niveles de gravedad
De forma predeterminada, todas las llamadas a las API generativas de Windows Copilot Runtime usan moderación de contenido, pero el nivel de gravedad se puede ajustar.
high
: no disponible. El contenido clasificado con un nivel de gravedad 3+ (alto riesgo de potencial daño) está actualmente bloqueado para ser retornado por el modelo de IA generativa.medium
: el nivel de gravedad predeterminado se establece enmedium
. Se devolverá el contenido clasificado como nivel de gravedad 0 - 3.low
: reduce aún más el riesgo de devolver contenido potencialmente perjudicial. Solo se devolverá el contenido clasificado como nivel de gravedad 0 - 1.
Para más información sobre los niveles de gravedad, consulte Categorías de daños de Seguridad del contenido de Azure AI.
Ejemplo de código de moderación de contenido de texto
Para configurar los filtros de gravedad de la moderación de contenido de texto integrados en Windows Copilot Runtime, deberá pasar el struct ContentFilterOptions
como parámetro a la API utilizada para la generación de respuestas, como la API de Phi Silica.
En el ejemplo de código siguiente se muestra cómo agregar filtros de gravedad de moderación de contenido de texto al LanguageModel
de IA generativa de Microsoft Windows:
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;