KI-Integrationen

Das experimentelle Microsoft.Testing.Platform.AI-Paket definiert anbieterneutrale KI-Abstraktionen für Testframeworks und MTP-Erweiterungen. Das Paket integriert sich in Microsoft.Extensions.AI, sodass eine Erweiterung eine IChatClient anfordern kann, ohne von einem bestimmten Modellanbieter abhängig zu sein.

Important

Die KI-APIs verwenden die TPEXP Diagnose-ID und können sich in einer zukünftigen Version ändern. Die Pakete liefern Infrastruktur für Erweiterungen; sie fügen einer Testsuite nicht selbst KI-Verhalten hinzu.

Verwenden von KI-Codierungstools für Testworkflows

Mit den Paketen in diesem Artikel können MTP-Erweiterungen KI-Modelle während einer Testausführung aufrufen. Um einen KI-Codierungs-Assistenten zum Erstellen, Analysieren oder Migrieren von Tests in Ihrem Repository zu verwenden, verwenden Sie stattdessen die kuratierten .NET Agent Skills.

Wählen Sie einen Workflow basierend auf Ihrem Ziel aus:

Ziel Qualifikation oder Agent
Erstellen oder Erweitern von Tests Verwenden Sie die code-testing-agent Fähigkeiten des dotnet-test Plug-Ins. Die Fähigkeit analysiert die Codebasis, plant die Arbeitsschritte, implementiert Tests und überprüft die Änderungen.
Tests ausführen oder Probleme beheben Verwenden Sie die run-tests Fähigkeit , Tests auszuführen oder die Testausführung zu diagnostizieren, ohne Testcode zu ändern.
Qualität von Audit-Tests Verwenden Sie den test-quality-auditor Agenten für eine umfassende Bewertung, oder rufen Sie eine fokussierte Fähigkeit aus dem dotnet-test Kompetenzverzeichnis für Assertionen, Abdeckung, Testlücken oder Testgeruche auf.
Verbessern der Testbarkeit Verwenden Sie den testability-migration Agent , um statische Abhängigkeiten zu finden und testbare Abstraktionen einzuführen.
Migrieren eines Testframeworks oder einer Plattform Verwenden Sie den test-migration Agent aus dem dotnet-test-migration Plug-In. Der Agent erkennt das aktuelle Setup und wählt die entsprechende Migrationskompetenz aus.

Installationsschritte und unterstützte Codierungs-Agents finden Sie im Repository .NET Agent Skills. Installieren Sie dotnet-test parallel dotnet-test-migration dazu, da Migrationsworkflows ihre Plattformerkennungs- und Testüberprüfungskompetenzen wiederverwenden.

Auswählen der Pakete

Fügen Sie das Abstraktionspaket hinzu, wenn Sie eine Erweiterung erstellen, die einen Chatclient nutzt. Fügen Sie der Testanwendung ein Anbieterpaket hinzu, das die Erweiterung hostt:

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

Microsoft.Testing.Extensions.AzureFoundry ist der von Microsoft bereitgestellte Referenzanbieter. Er erstellt einen Azure OpenAI-Chatclient über Azure AI Foundry .

Konfigurieren von Azure AI Foundry

Legen Sie die folgenden Umgebungsvariablen fest:

Variable Erforderlich Description
AZURE_OPENAI_ENDPOINT Ja Der Azure OpenAI-Ressourcenendpunkt, z. B. https://my-resource.openai.azure.com.
AZURE_OPENAI_DEPLOYMENT_NAME Ja Der Name der Modellbereitstellung.
AZURE_OPENAI_API_KEY Bedingung Der Ressourcen-API-Schlüssel. Legen Sie diesen Wert fest, es sei denn, Sie registrieren im Code eine TokenCredential.

Um Anmeldeinformationen außerhalb der Quellcodeverwaltung zu halten, geben Sie diese Werte über Ihre lokale Umgebung oder einen geschützten CI-Geheimnisspeicher an.

Hiermit wird der Anbieter registriert.

Deaktivieren Sie den generierten MTP-Einstiegspunkt, und registrieren Sie den Anbieter in Ihrer benutzerdefinierten Main Methode. Rufen Sie für die API-Schlüsselauthentifizierung Folgendes auf:

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

Für Microsoft Entra ID oder die verwaltete Identität verweisen Sie auf das Paket Azure.Identity und übergeben Sie Anmeldeinformationen:

using Azure.Identity;

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

Wenn AZURE_OPENAI_API_KEY festgelegt ist, verwendet der Anbieter den API-Schlüssel vor den angegebenen Anmeldedaten. Die Auflösung der Anmeldeinformationen und die Authentifizierung erfolgen, wenn die erste Chatanfrage ausgeführt wird; daher werden Konfigurationsfehler bei der Anbieterregistrierung möglicherweise nicht angezeigt.

Einen Chatclient verwenden

Implementiere IChatClientProvider, um einen anderen KI-Anbieter zu integrieren. Eine MTP-Erweiterung kann den registrierten Chat-Client aus ihrem IServiceProvider abrufen:

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

Der Aufruf wird zurückgegeben null , wenn kein verfügbarer Anbieter registriert ist. Bevor eine Erweiterung Testdaten an ein Modell sendet, dokumentieren Sie, welche Daten sie sendet, und wenden Sie die Datenschutz-, Sicherheits- und Aufbewahrungsanforderungen für diese Daten an.

Siehe auch