Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Eksperymentalny pakiet Microsoft.Testing.Platform.AI definiuje abstrakcje sztucznej inteligencji neutralne dla dostawcy dla struktur testowych i rozszerzeń MTP. Pakiet integruje się z Microsoft.Extensions.AI, dzięki czemu rozszerzenie może zażądać IChatClient bez zależności od konkretnego dostawcy modelu.
Ważna
Interfejsy API AI korzystają z identyfikatora diagnostycznego TPEXP i mogą ulec zmianie w jednej z przyszłych wersji. Pakiety dostarczają infrastrukturę do rozszerzeń; nie dodawają zachowania sztucznej inteligencji do samego zestawu testów.
Używanie narzędzi do kodowania sztucznej inteligencji do testowania przepływów pracy
Pakiety opisane w tym artykule pozwalają rozszerzeniom MTP wywoływać modele AI podczas wykonywania testu. Aby użyć asystenta AI do kodowania do tworzenia, analizy lub migracji testów w repozytorium, użyj zamiast tego wyselekcjonowanych umiejętności agenta .NET.
Wybierz przepływ pracy na podstawie celu:
| Cel | Umiejętność lub agent |
|---|---|
| Tworzenie lub rozszerzanie testów |
code-testing-agent Użyj umiejętności z dotnet-test wtyczki. Umiejętność bada bazę kodu, planuje pracę, implementuje testy i weryfikuje zmiany. |
| Uruchamianie lub rozwiązywanie problemów z testami |
run-tests Użyj umiejętności do wykonywania testów lub diagnozowania wykonywania testów bez zmieniania kodu testowego. |
| Inspekcja jakości testów | Użyj test-quality-auditor agenta do ogólnej oceny albo wywołaj wyspecjalizowaną umiejętność z dotnet-test katalogu umiejętności do sprawdzania asercji, pokrycia, luk w testach lub antywzorców testowych. |
| Zwiększanie możliwości testowania | Użyj agentatestability-migration, aby znaleźć zależności statyczne i wprowadzić testowalne abstrakcje. |
| Migracja frameworku testowego lub platformy | Użyj test-migration agenta z dotnet-test-migration wtyczki. Agent wykrywa bieżącą konfigurację i wybiera odpowiednią umiejętność migracji. |
Aby uzyskać instrukcje instalacji i obsługiwanych agentów kodowania, zobacz repozytorium umiejętności agenta .NET. Zainstaluj dotnet-test obok dotnet-test-migration, ponieważ przepływy migracji ponownie wykorzystują jego mechanizmy wykrywania platformy i weryfikacji testów.
Wybieranie pakietów
Dodaj pakiet abstrakcji podczas tworzenia rozszerzenia korzystającego z klienta czatu. Dodaj pakiet dostawcy do aplikacji testowej, która hostuje rozszerzenie:
dotnet add package Microsoft.Testing.Platform.AI
dotnet add package Microsoft.Testing.Extensions.AzureFoundry
Microsoft.Testing.Extensions.AzureFoundryjest dostawcą referencyjnym udostępnianym przez Microsoft. Tworzy on klienta czatu Azure OpenAI za pośrednictwem Azure AI Foundry.
Konfigurowanie Azure AI Foundry
Ustaw następujące zmienne środowiskowe:
| Variable | Wymagane | Opis |
|---|---|---|
AZURE_OPENAI_ENDPOINT |
Yes | Punkt końcowy zasobu Azure OpenAI, taki jak https://my-resource.openai.azure.com. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Yes | Nazwa wdrożenia modelu. |
AZURE_OPENAI_API_KEY |
Warunkowy | Klucz API zasobu. Ustaw tę wartość, chyba że zarejestrujesz w kodzie element TokenCredential. |
Aby nie przechowywać poświadczeń w systemie kontroli wersji, przekaż te wartości przez lokalne zmienne środowiskowe lub chroniony magazyn sekretów CI.
Rejestrowanie dostawcy
Wyłącz wygenerowany punkt wejścia dla MTP i zarejestruj dostawcę w niestandardowej metodzie Main. W przypadku uwierzytelniania za pomocą klucza API wywołaj:
#pragma warning disable TPEXP
builder.AddAzureOpenAIChatClientProvider();
#pragma warning restore TPEXP
W przypadku Microsoft Entra ID lub tożsamości zarządzanej należy odwołać się do pakietu Azure.Identity i przekazać poświadczenie:
using Azure.Identity;
#pragma warning disable TPEXP
builder.AddAzureOpenAIChatClientProvider(new DefaultAzureCredential());
#pragma warning restore TPEXP
Gdy ustawiono AZURE_OPENAI_API_KEY, dostawca używa klucza API zamiast podanych poświadczeń. Rozpoznawanie i uwierzytelnianie poświadczeń występuje po uruchomieniu pierwszego żądania czatu, dlatego błędy konfiguracji mogą nie pojawiać się podczas rejestracji dostawcy.
Korzystanie z klienta czatu
Zaimplementuj IChatClientProvider , aby zintegrować innego dostawcę sztucznej inteligencji. Rozszerzenie MTP może pobrać zarejestrowanego klienta czatu z poziomu programu IServiceProvider:
IChatClient? client =
await serviceProvider.GetChatClientAsync(cancellationToken);
Wywołanie zwraca null, gdy nie zarejestrowano żadnego dostępnego dostawcy. Przed wysłaniem przez rozszerzenie danych testowych do modelu należy udokumentować, jakie dane wysyła, i zastosować wymagania dotyczące prywatności, zabezpieczeń i przechowywania tych danych.