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.

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 ein TokenCredential.

Um Anmeldeinformationen außerhalb der Quellcodeverwaltung zu behalten, geben Sie diese Werte über Ihre lokale Umgebung oder einen geschützten CI-Geheimspeicher 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 eine Anmeldeinformation:

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