Compartir vía


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

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 en medium. 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;