Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Deneysel Microsoft.Testing.Platform.AI paketi, test çerçeveleri ve MTP uzantıları için sağlayıcıdan bağımsız yapay zeka soyutlamalarını tanımlar. Paket, Microsoft.Extensions.AI ile tümleşir; böylece bir uzantı, belirli bir model sağlayıcısına bağlı olmadan IChatClient isteyebilir.
Important
AI API'leri tanılama kimliğini kullanır TPEXP ve gelecekteki bir sürümde değişebilir. Paketler uzantılara altyapı sağlar; yapay zeka davranışını kendi başlarına test paketine eklemez.
Test iş akışları için yapay zeka kodlama araçlarını kullanma
Bu makaledeki paketler, MTP uzantılarının bir test çalıştırması sırasında yapay zeka modellerini çağırmasına izin verir. Deponuzda test oluşturmak, analiz etmek veya geçirmek için yapay zeka kodlama yardımcısı kullanmak için bunun yerine seçilmiş .NET Aracı Becerileri'ni kullanın.
Hedefinize göre bir iş akışı seçin:
| Goal | Beceri veya ajan |
|---|---|
| Testleri oluşturma veya genişletme | Eklentideki code-testing-agent beceriyidotnet-testkullanın. Beceri, kod tabanını araştırarak çalışmayı planlar, testleri uygular ve değişiklikleri doğrular. |
| Testleri çalıştırma veya sorun giderme | Test kodunu değiştirmeden testleri yürütmek veya test yürütmesini tanılamak için beceriyirun-tests kullanın. |
| Test kalitesini denetleme |
test-quality-auditor aracı geniş kapsamlı bir değerlendirme için kullanın veya doğrulamalar, kapsam, test boşlukları ya da test kokuları için dotnet-test beceri dizininden belirli bir beceriyi çağırın. |
| Test edilebilirliği geliştirme | Statik bağımlılıkları bulmak ve test edilebilir soyutlamalar eklemek için aracıyıtestability-migration kullanın. |
| Test çerçevesi veya platformu geçirme |
dotnet-test-migration eklentisindekitest-migration aracıyı kullanın. Aracı geçerli kurulumu algılar ve uygun geçiş becerisini seçer. |
Yükleme adımları ve desteklenen kodlama aracıları için .NET Aracı Becerileri deposuna bakın. Geçiş iş akışları, onun platform algılama ve test doğrulama yeteneklerini yeniden kullandığı için dotnet-test-migration bileşenini dotnet-test ile birlikte yükleyin.
Paketleri seçin
Sohbet istemcisi kullanan bir uzantı yazarken soyutlama paketini ekleyin. Uzantıyı barındıran test uygulamasına bir sağlayıcı paketi ekleyin:
dotnet add package Microsoft.Testing.Platform.AI
dotnet add package Microsoft.Testing.Extensions.AzureFoundry
Microsoft.Testing.Extensions.AzureFoundryMicrosoft tarafından sağlanan başvuru sağlayıcısıdır. Azure Yapay Zeka Atölyesi aracılığıyla bir Azure OpenAI sohbet istemcisi oluşturur.
Azure Yapay Zeka Atölyesi’yi yapılandırın
Aşağıdaki ortam değişkenlerini ayarlayın:
| Variable | Zorunlu | Description |
|---|---|---|
AZURE_OPENAI_ENDPOINT |
Yes | Azure OpenAI kaynak uç noktası, örneğin https://my-resource.openai.azure.com. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Yes | Model dağıtım adı. |
AZURE_OPENAI_API_KEY |
Conditional | Kaynak API anahtarı. Kodda bir TokenCredential kaydetmediğiniz sürece bu değeri ayarlayın. |
Kimlik bilgilerini kaynak denetiminin dışında tutmak için bu değerleri yerel ortamınız veya korumalı bir CI gizli dizi deposu aracılığıyla sağlayın.
Sağlayıcıyı kaydetme
Oluşturulan MTP giriş noktasını devre dışı bırakın ve sağlayıcıyı özel Main yönteminize kaydedin. API anahtarı kimlik doğrulaması için şu çağrıyı yapın:
#pragma warning disable TPEXP
builder.AddAzureOpenAIChatClientProvider();
#pragma warning restore TPEXP
Microsoft Entra ID veya yönetilen kimlik için, Azure.Identity paketine başvurun ve bir kimlik bilgisi sağlayın:
using Azure.Identity;
#pragma warning disable TPEXP
builder.AddAzureOpenAIChatClientProvider(new DefaultAzureCredential());
#pragma warning restore TPEXP
AZURE_OPENAI_API_KEY Ayarlandığında, sağlayıcı sağlanan kimlik bilgisi öncesinde API anahtarını kullanır. İlk sohbet isteği çalıştırıldığında kimlik bilgisi çözümlemesi ve kimlik doğrulaması gerçekleşir, bu nedenle sağlayıcı kaydı sırasında yapılandırma hataları görünmeyebilir.
Bir sohbet istemcisi kullanma
Başka bir yapay zeka sağlayıcısını entegre etmek için IChatClientProvider öğesini uygulayın. Bir MTP uzantısı, kayıtlı sohbet istemcisini IServiceProvider üzerinden alabilir:
IChatClient? client =
await serviceProvider.GetChatClientAsync(cancellationToken);
Kullanılabilir hiçbir sağlayıcı kaydedilmemişse çağrı null döndürür. Uzantı bir modele test verileri göndermeden önce, hangi verileri gönderdiğini belgeleyin ve bu veriler için gizlilik, güvenlik ve bekletme gereksinimlerini uygulayın.