Integraciones de IA

El paquete experimental Microsoft.Testing.Platform.AI define abstracciones de IA neutras del proveedor para marcos de pruebas y extensiones MTP. El paquete se integra con Microsoft.Extensions.AI, por lo que una extensión puede solicitar un IChatClient sin depender de un proveedor de modelos específico.

Importante

Las API de IA usan el TPEXP identificador de diagnóstico y pueden cambiar en una versión futura. Los paquetes proporcionan infraestructura a las extensiones; no añaden por sí solos funcionalidad de IA a un conjunto de pruebas.

Elección de los paquetes

Agregue el paquete de abstracciones al crear una extensión que consuma un cliente de chat. Agregue un paquete de proveedor a la aplicación de prueba que hospeda la extensión:

dotnet add package Microsoft.Testing.Platform.AI
dotnet add package Microsoft.Testing.Extensions.AzureFoundry

Microsoft.Testing.Extensions.AzureFoundryes el proveedor de referencia proporcionado por Microsoft. Crea un cliente de chat de OpenAI Azure a través de Fundición de IA de Azure.

Configuración de Fundición de IA de Azure

Establezca estas variables de entorno:

Variable Obligatorio Description
AZURE_OPENAI_ENDPOINT El punto de conexión del recurso de Azure OpenAI, como https://my-resource.openai.azure.com.
AZURE_OPENAI_DEPLOYMENT_NAME Nombre de implementación del modelo.
AZURE_OPENAI_API_KEY Condicional Clave de API del recurso. Configure este valor a menos que registre un TokenCredential mediante código.

Para mantener las credenciales fuera del control de código fuente, proporcione estos valores a través del entorno local o un almacén de secretos de CI protegido.

Registra el proveedor.

Deshabilite el punto de entrada MTP generado y registre el proveedor en el método personalizado Main . Para la autenticación con clave de API, llame a:

#pragma warning disable TPEXP
builder.AddAzureOpenAIChatClientProvider();
#pragma warning restore TPEXP

Para Microsoft Entra ID o identidad administrada, haga referencia al Azure.Identity paquete y pase una credencial:

using Azure.Identity;

#pragma warning disable TPEXP
builder.AddAzureOpenAIChatClientProvider(new DefaultAzureCredential());
#pragma warning restore TPEXP

Cuando AZURE_OPENAI_API_KEY se establece, el proveedor usa la clave de API antes de la credencial proporcionada. La resolución de credenciales y la autenticación se producen cuando se ejecuta la primera solicitud de chat, por lo que es posible que los errores de configuración no aparezcan durante el registro del proveedor.

Consumir un cliente de chat

Implemente IChatClientProvider para integrar otro proveedor de IA. Una extensión MTP puede obtener el cliente de chat registrado a través de su IServiceProvider:

IChatClient? client =
    await serviceProvider.GetChatClientAsync(cancellationToken);

La llamada devuelve null cuando no hay ningún proveedor disponible registrado. Antes de que una extensión envíe datos de prueba a un modelo, documente qué datos envía y aplica los requisitos de privacidad, seguridad y retención para esos datos.

Véase también