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.
Usar ferramentas de codificação de IA para fluxos de trabalho de teste
Os pacotes neste artigo permitem que extensões MTP chamem modelos de IA durante uma execução de teste. Para usar um assistente de codificação com IA para criar, analisar ou migrar testes no seu repositório, use as habilidades de agente do .NET selecionadas em vez disso.
Escolha um fluxo de trabalho com base em sua meta:
| Objetivo | Habilidade ou agente |
|---|---|
| Criar ou estender testes | Use a code-testing-agent habilidade do dotnet-test plugin. A habilidade pesquisa a base de código, planeja o trabalho, implementa testes e verifica as alterações. |
| Executar ou solucionar problemas de testes | Use a run-tests habilidade para executar testes ou diagnosticar a execução de teste sem alterar o código de teste. |
| Qualidade do teste de auditoria | Use o test-quality-auditor agente para uma avaliação ampla ou invoque uma habilidade focada no dotnet-test diretório de habilidades para declarações, cobertura, lacunas de teste ou smells de teste. |
| Melhorar a capacidade de teste | Use o testability-migration agente para localizar dependências estáticas e introduzir abstrações testáveis. |
| Migrar uma estrutura de teste ou uma plataforma | Use o test-migration agente do dotnet-test-migration plugin. O agente detecta a configuração atual e seleciona a habilidade de migração apropriada. |
Para obter etapas de instalação e agentes de codificação com suporte, consulte o repositório de habilidades do agente .NET. Instale dotnet-test junto com dotnet-test-migration porque os fluxos de trabalho de migração reutilizam seus recursos de detecção de plataforma e verificação de testes.
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 ponto de extremidade do seu recurso do OpenAI do Azure, 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.