Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O pacote experimental Microsoft.Testing.Platform.AI define abstrações de IA neutras em relação ao fornecedor para frameworks de teste e extensões MTP. O pacote integra-se com Microsoft.Extensions.AI, pelo que uma extensão pode solicitar um IChatClient sem depender de um fornecedor de modelos específico.
Importante
As APIs de IA usam o TPEXP ID de diagnóstico e podem mudar numa versão futura. Os pacotes fornecem infraestrutura às extensões; eles não adicionam comportamentos de IA a um conjunto de testes sozinhos.
Use ferramentas de codificação por IA para fluxos de trabalho de teste
Os pacotes neste artigo permitem que extensões MTP chamem modelos de IA durante um teste. Para usar um assistente de programação de IA para criar, analisar ou migrar testes no seu repositório, utilize antes o .NET Agent Skills, selecionado.
Escolha um fluxo de trabalho baseado no seu objetivo:
| Objetivo | Competência ou agente |
|---|---|
| Criar ou estender testes | Usa a code-testing-agent habilidade do dotnet-test plugin. A competência pesquisa a base de código, planeia o trabalho, implementa testes e verifica as alterações. |
| Executar ou resolver problemas nos testes | Use a run-tests habilidade para executar testes ou diagnosticar a execução de testes sem alterar o código de teste. |
| Qualidade dos testes de auditoria | Use o test-quality-auditor agente para uma avaliação ampla, ou recorra a uma competência focada do dotnet-test diretório de competências para afirmações, coberturas, lacunas em testes ou cheiros de teste. |
| Melhorar a testabilidade | Use o testability-migration agente para encontrar dependências estáticas e introduzir abstrações testáveis. |
| Migrar um framework ou plataforma de teste | Usa o test-migration agente do dotnet-test-migration plugin. O agente deteta a configuração atual e seleciona a competência de migração apropriada. |
Para passos de instalação e agentes de codificação suportados, consulte o repositório .NET Agent Skills. Instale dotnet-test a par de dotnet-test-migration porque os fluxos de trabalho de migração reutilizam as suas capacidades de deteção da plataforma e de verificação de testes.
Escolha os pacotes
Adicione o pacote de abstrações quando criar uma extensão que consome um cliente de chat. Adicione um pacote de fornecedor à aplicação de teste que aloja a extensão:
dotnet add package Microsoft.Testing.Platform.AI
dotnet add package Microsoft.Testing.Extensions.AzureFoundry
Microsoft.Testing.Extensions.AzureFoundryé o fornecedor de referência fornecido pela Microsoft. Cria um cliente de chat Azure OpenAI através do
Azure AI Foundry.
Configure Azure AI Foundry
Defina as seguintes variáveis de ambiente:
| Variável | Obrigatório | Description |
|---|---|---|
AZURE_OPENAI_ENDPOINT |
Yes | O endpoint de recurso Azure OpenAI, como https://my-resource.openai.azure.com. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Yes | O nome da implementação do modelo. |
AZURE_OPENAI_API_KEY |
Conditional | A chave API de recursos. Defina este valor, a menos que registe um TokenCredential no código. |
Para manter as credenciais fora do controlo de código, forneça esses valores através do seu ambiente local ou de uma loja secreta protegida de CI.
Registar o fornecedor
Desative o ponto de entrada MTP gerado e registe o fornecedor no seu método personalizado Main. Para autenticação por chave API, chame:
#pragma warning disable TPEXP
builder.AddAzureOpenAIChatClientProvider();
#pragma warning restore TPEXP
Para Microsoft Entra ID ou identidade gerida, consulte o 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 está definido, o fornecedor utiliza a chave API antes da credencial fornecida. A resolução de credenciais e a autenticação ocorrem quando o primeiro pedido de chat é executado, pelo que erros de configuração podem não aparecer durante o registo do fornecedor.
Use um cliente de chat
Implemente IChatClientProvider para integrar outro fornecedor de IA. Uma extensão MTP pode recuperar o cliente de chat registado a partir do seu IServiceProvider:
IChatClient? client =
await serviceProvider.GetChatClientAsync(cancellationToken);
A chamada retorna null quando nenhum fornecedor disponível está registado. Antes de uma extensão enviar dados de teste para um modelo, documente que dados envia e aplique os requisitos de privacidade, segurança e retenção desses dados.