Ejecutar AI Red Teaming Agent en la nube (versión preliminar) (clásico)

Visualización actual:Versión - Cambio a la versión del nuevo portal de Foundry

Importante

Los elementos marcados (versión preliminar) de este artículo se encuentran actualmente en versión preliminar pública. Esta versión preliminar se proporciona sin un contrato de nivel de servicio y no se recomienda para cargas de trabajo de producción. Es posible que algunas características no se admitan o que tengan funcionalidades restringidas. Para obtener más información, vea Supplemental Terms of Use for Microsoft Azure Previews.

Aunque ai Red Teaming Agent (versión preliminar) se puede ejecutar localmente durante la creación de prototipos y el desarrollo para ayudar a identificar los riesgos de seguridad, ejecutarlos en la nube permite que la formación de equipos en rojo de inteligencia artificial previa a la implementación se ejecute en combinaciones más grandes de estrategias de ataque y categorías de riesgo para un análisis más completo.

Requisitos previos

Nota

Debe usar un Proyecto Foundry para esta función. No se admite un proyecto basado en hub. Consulte ¿Cómo sé qué tipo de proyecto tengo? y Crear un proyecto Foundry. Para migrar el proyecto basado en Concentrador a un proyecto Foundry, consulte Migración de proyectos basados en Concentrador a Foundry.

Opcionalmente, puede usar su propia cuenta de almacenamiento para ejecutar evaluaciones.

Introducción

En primer lugar, instale el cliente del proyecto SDK de Microsoft Foundry, que ejecuta el AI Red Teaming Agent en la nube.

pip install azure-ai-projects==1.1.0b3 azure-identity

A continuación, establezca las variables de entorno para los recursos de Microsoft Foundry.

import os

endpoint = os.environ["PROJECT_ENDPOINT"] # Sample : https://<account_name>.services.ai.azure.com/api/projects/<project_name>

Objetivos admitidos

La ejecución de AI Red Teaming Agent en la nube actualmente solo admite las implementaciones de modelos de OpenAI de Azure en tu proyecto Foundry como destino.

Configuración del modelo de destino

Puede configurar la implementación del modelo de destino de dos maneras:

Opción 1: Implementaciones de proyectos de Foundry

Si usa implementaciones de modelos que forman parte del proyecto Foundry, configure las siguientes variables de entorno:

import os

model_endpoint = os.environ["MODEL_ENDPOINT"] # Sample : https://<account_name>.openai.azure.com
model_api_key = os.environ["MODEL_API_KEY"]
model_deployment_name = os.environ["MODEL_DEPLOYMENT_NAME"] # Sample : gpt-4o-mini

Opción 2: Implementaciones de OpenAI/Foundry Tools en Azure

Si quiere usar implementaciones de las cuentas de OpenAI o Foundry Tools de Azure, primero debe conectar estos recursos al proyecto de Foundry a través de conexiones.

  1. Crear una conexión: siga las instrucciones de Configurar conexiones del proyecto para conectar el recurso Azure OpenAI o AI Services al proyecto foundry.

  2. Obtenga el nombre de conexión: Una vez que haya conectado la cuenta, verá la conexión creada con un nombre generado en su proyecto Foundry.

  3. Configure el destino: use el formato "connectionName/deploymentName" para la configuración de implementación del modelo:

# Format: "connectionName/deploymentName"
model_deployment_name = "my-openai-connection/gpt-4o-mini"

Creación de una simulación de equipo rojo de IA

from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
from azure.ai.projects.models import (
    RedTeam,
    AzureOpenAIModelConfiguration,
    AttackStrategy,
    RiskCategory,
)

with AIProjectClient(
  endpoint=endpoint,
  credential=DefaultAzureCredential(exclude_interactive_browser_credential=False),
) as project_client:

  # Create target configuration for testing an Azure OpenAI model
  target_config = AzureOpenAIModelConfiguration(model_deployment_name=model_deployment_name)

  # Instantiate the AI Red Teaming Agent
  red_team_agent = RedTeam(
      attack_strategies=[AttackStrategy.BASE64],
      risk_categories=[RiskCategory.VIOLENCE],
      display_name="red-team-cloud-run", 
      target=target_config,
  )

  # Create and run the red teaming scan
  # If you configured target using Option 1, use:
  # headers = {"model-endpoint": model_endpoint, "api-key": model_api_key}
  # If you configured target using Option 2, use:
  # headers = {}

  # Choose one of the following based on your configuration option:
  headers = {"model-endpoint": model_endpoint, "api-key": model_api_key}  # For Option 1
  # headers = {}  # For Option 2

  red_team_response = project_client.red_teams.create(red_team=red_team_agent, headers=headers)

Realiza una prueba de red teaming de IA

# Use the name returned by the create operation for the get call
get_red_team_response = project_client.red_teams.get(name=red_team_response.name)
print(f"Red Team scan status: {get_red_team_response.status}")

Enumeración de todas las pruebas de red teaming de IA

for scan in project_client.red_teams.list():
  print(f"Found scan: {scan.name}, Status: {scan.status}")

Visualización de los resultados de la evaluación con equipos rojos de IA en el proyecto Foundry de Microsoft (versión preliminar)

Una vez finalizado el examen automatizado, los resultados también se registran en su proyecto Foundry, que especificó en la creación de su agente de equipo rojo de IA.

Ver informe de cada escaneo

En el proyecto Foundry o en el proyecto basado en hub, vaya a la página Evaluación. Seleccione AI red teaming para ver el informe con resultados detallados de análisis en profundidad de cada escaneo.

Captura de pantalla de la pestaña Red Teaming de AI en la página del proyecto Foundry.

Al seleccionar el escaneo, puede ver el informe por categorías de riesgo, que muestra el número total de ataques exitosos y un desglose de los ataques exitosos por categorías de riesgo.

Captura de pantalla de la vista de informe de formación de equipos rojos de IA por categoría de riesgo en Foundry.

O por clasificación de complejidad de ataques:

Captura de pantalla de la vista del informe de AI Red Teaming por categoría según la complejidad del ataque en Foundry.

Al realizar un análisis más detallado en la pestaña de datos, se ofrece una vista a nivel de fila de cada par de ataque-respuesta. Esta información ofrece información más detallada sobre los problemas y comportamientos del sistema. Para cada par de ataque-respuesta, puede ver más información, como si el ataque tuvo éxito, qué estrategia de ataque se usó y la complejidad del ataque. Un revisor con intervención humana puede proporcionar comentarios humanos seleccionando el icono de pulgar hacia arriba o hacia abajo.

Captura de pantalla de la página de datos de Red Teaming de AI en Foundry.

Para ver cada conversación, seleccione Ver más para ver la conversación completa para obtener un análisis más detallado de la respuesta del sistema de IA.

Captura de pantalla de la página de datos de Ai Red Teaming con un historial de conversaciones abierto en Foundry.