Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O pacote experimental Microsoft.Testing.Platform.AI define abstrações de IA neutras para estruturas de teste e extensões MTP. O pacote é integrado com Microsoft.Extensions.AI, portanto, uma extensão pode solicitar um IChatClient sem depender de um provedor de modelo específico.
Important
As APIs de IA usam a TPEXP ID de diagnóstico e podem ser alteradas em uma versão futura. Os pacotes fornecem infraestrutura para extensões; eles não adicionam comportamento de IA a um conjunto de testes sozinhos.
Escolher os pacotes
Adicione o pacote de abstrações ao criar uma extensão que consome um cliente de chat. Adicione um pacote de provedor ao aplicativo de teste que hospeda a extensão:
dotnet add package Microsoft.Testing.Platform.AI
dotnet add package Microsoft.Testing.Extensions.AzureFoundry
Microsoft.Testing.Extensions.AzureFoundryé o provedor de referência fornecido por Microsoft. Ele cria um cliente de chat Azure OpenAI por meio de Fábrica de IA do Azure.
Configurar Fábrica de IA do Azure
Defina as seguintes variáveis de ambiente:
| Variable | Obrigatório | Description |
|---|---|---|
AZURE_OPENAI_ENDPOINT |
Yes | O endpoint do recurso Azure OpenAI, como https://my-resource.openai.azure.com. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Yes | O nome da implantação do modelo. |
AZURE_OPENAI_API_KEY |
Condicional | A chave de API do recurso. Defina esse valor a menos que você registre um TokenCredential no código. |
Para manter as credenciais fora do controle do código-fonte, forneça esses valores por meio do ambiente local ou de um repositório secreto de CI protegido.
Registrar o provedor
Desabilite o ponto de entrada MTP gerado e registre o provedor em seu método personalizado Main . Para autenticação de chave de API, chame:
#pragma warning disable TPEXP
builder.AddAzureOpenAIChatClientProvider();
#pragma warning restore TPEXP
Para Microsoft Entra ID ou identidade gerenciada, faça referência ao Azure.Identity pacote e passe uma credencial:
using Azure.Identity;
#pragma warning disable TPEXP
builder.AddAzureOpenAIChatClientProvider(new DefaultAzureCredential());
#pragma warning restore TPEXP
Quando AZURE_OPENAI_API_KEY é definido, o provedor usa a chave de API antes da credencial fornecida. A resolução e a autenticação de credenciais ocorrem quando a primeira solicitação de chat é executada, portanto, os erros de configuração podem não aparecer durante o registro do provedor.
Consumir um cliente de chat
Implemente IChatClientProvider para integrar outro provedor de IA. Uma extensão MTP pode obter o cliente de chat registrado a partir de seu IServiceProvider:
IChatClient? client =
await serviceProvider.GetChatClientAsync(cancellationToken);
A chamada retorna null quando nenhum provedor disponível é registrado. Antes que uma extensão envie dados de teste para um modelo, documente quais dados ele envia e aplique os requisitos de privacidade, segurança e retenção para esses dados.