AI-integrációk

A kísérleti Microsoft.Testing.Platform.AI csomag szolgáltatósemleges AI-absztrakciókat határoz meg a tesztelési keretrendszerekhez és az MTP-bővítményekhez. A csomag integrálva van a következővel Microsoft.Extensions.AI, így a bővítmények egy adott modellszolgáltatótól függetlenül kérhetnek IChatClient kérelmet.

Important

Az AI API-k a TPEXP diagnosztikai azonosítót használják, és egy későbbi kiadásban változhatnak. A csomagok infrastruktúrát biztosítanak a bővítményeknek; önmagukban nem adnak hozzá AI-viselkedést egy tesztcsomaghoz.

AI-kódolási eszközök használata tesztelési munkafolyamatokhoz

A cikkben szereplő csomagok lehetővé teszik, hogy az MTP-bővítmények AI-modelleket hívjanak egy tesztfuttatás során. Ha AI-kódolási asszisztenst szeretne használni a tesztek létrehozásához, elemzéséhez vagy migrálásához az adattárban, használja inkább a válogatott .NET ügynöki készségeket.

Válasszon egy munkafolyamatot a cél alapján:

Goal Szakértelem vagy ügynök
Tesztek létrehozása vagy kiterjesztése Használja a code-testing-agent beépülő modulból származó képességetdotnet-test. A képesség megvizsgálja a kódbázist, tervezi a munkát, teszteket hajt végre, és ellenőrzi a módosításokat.
Tesztek futtatása vagy hibaelhárítása A képesség használatával run-tests teszteket hajthat végre, vagy diagnosztizálhatja a tesztvégrehajtást a tesztkód módosítása nélkül.
Auditteszt minősége Használja az test-quality-auditor ügynököt az átfogó értékeléshez, vagy hívjon meg egy célzott készséget a dotnet-test készségtárból assertálásokhoz, lefedettséghez, teszthiányosságok vagy tesztszagok feltárásához.
A tesztelhetőség javítása Az ügynök használatával testability-migration statikus függőségeket kereshet, és tesztelhető absztrakciókat vezet be.
Tesztelési keretrendszer vagy platform migrálása Használja a test-migration beépülő modul ügynökétdotnet-test-migration. Az ügynök észleli az aktuális beállítást, és kiválasztja a megfelelő migrálási képességet.

A telepítési lépésekről és a támogatott kódolási ügynökökről az .NET Ügynökkészség adattárban olvashat. Telepítse a(z) dotnet-test elemet a(z) dotnet-test-migration elem mellé, mert a migrálási munkafolyamatok újra felhasználják annak platformfelismerési és tesztellenőrzési képességeit.

Válassza ki a csomagokat

Adja hozzá az absztrakciós csomagot, amikor egy csevegőügyfélt használó bővítményt hoz létre. Adjon hozzá egy szolgáltatói csomagot a bővítményt üzemeltető tesztalkalmazáshoz:

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

Microsoft.Testing.Extensions.AzureFoundry a Microsoft által biztosított referenciaszolgáltató. Létrehoz egy Azure OpenAI csevegőügyfélt Azure AI Foundry keresztül.

Azure AI Foundry konfigurálása

Állítsa be a következő környezeti változókat:

Variable Szükséges Description
AZURE_OPENAI_ENDPOINT Yes A Azure OpenAI-erőforrásvégpont, példáulhttps://my-resource.openai.azure.com.
AZURE_OPENAI_DEPLOYMENT_NAME Yes A modell üzembehelyezési neve.
AZURE_OPENAI_API_KEY Conditional Az erőforrás API-kulcsa. Állítsa be ezt az értéket, hacsak nem regisztrál egy TokenCredential elemet a kódban.

A hitelesítő adatok forráskontrollon kívül tartásához adja meg ezeket az értékeket a helyi környezetben vagy egy védett CI-titkos tárban.

A szolgáltató regisztrálása

Tiltsa le a létrehozott MTP belépési pontot, és regisztrálja a szolgáltatót az egyéni Main metódusban. API-kulcsos hitelesítés esetén hívja meg a következőt:

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

Microsoft Entra ID vagy felügyelt identitás esetén hivatkozzon a Azure.Identity csomagra, és adjon át egy hitelesítő adatot:

using Azure.Identity;

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

Ha AZURE_OPENAI_API_KEY be van állítva, a szolgáltató az API-kulcsot használja a megadott hitelesítő adatok előtt. A hitelesítő adatok feloldása és hitelesítése az első csevegési kérelem futtatásakor történik, így előfordulhat, hogy a konfigurációs hibák nem jelennek meg a szolgáltató regisztrációja során.

Csevegőügyfél felhasználása

Implementálja a IChatClientProvider elemet egy másik MI-szolgáltató integrálásához. Egy MTP-bővítmény lekérheti a regisztrált csevegőklienst a saját IServiceProvider eleméből:

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

A hívás akkor jön null vissza, ha nincs regisztrálva elérhető szolgáltató. Mielőtt egy bővítmény tesztadatokat küld egy modellnek, dokumentálja az általa küldött adatokat, és alkalmazza az adatokra vonatkozó adatvédelmi, biztonsági és adatmegőrzési követelményeket.

Lásd még