Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 |
Sí | El punto de conexión del recurso de Azure OpenAI, como https://my-resource.openai.azure.com. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Sí | 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.