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.
Not
Önizleme özellikleri, üretimde kullanıma yönelik değildir ve sınırlı işlevselliğe sahip olabilir. Bu özellikler, müşterilerin erken erişim elde etmesi ve geri bildirim sağlaması amacıyla resmi sürümden önce kullanıma sunulur.
Yapay zeka destekli uygulamaları test etmek benzersiz zorluklar getirir çünkü yapay zeka çıkışları, aynı girdilerle bile çalıştırmalar arasında farklılık gösterebilir. Bu deterministik olmayan davranış, özel test yaklaşımları gerektirir. Bu kılavuz, uygulamalarınızdaki yapay zeka bileşenlerini etkili bir şekilde nasıl doğrulayacağınızı Power Platform açıklar.
Deterministik olmayan çıktıları anlama
Geleneksel test, tutarlı çıktılar üreten deterministik girdilere dayanır. Bununla birlikte, AI sistemleri genellikle aşağıdakiler nedeniyle her seferinde biraz farklı sonuçlar üretir:
- Model sıcaklık ayarları ve örnekleme yöntemleri
- Modellerin farklı versiyonlarını seçme
- Doğal dil işlemede küçük farklılıklar
- Normal aralıklarda dalgalanan güven puanları
- Farklı yollar izleyebilecek bağlama bağlı akıl yürütme
Deterministik olmayan yapay zekayı test etmek için stratejiler
Power Apps Test Motoru, yapay zeka destekli bileşenleri etkili bir şekilde test etmek için çeşitli stratejiler sunar:
Preview.AIExecutePrompt işlevini kullanma
Preview.AIExecutePrompt işlevi , testlerinizde yapay zeka istemlerinin kontrollü bir şekilde yürütülmesini sağlar. Aşağıdaki örnekte nasıl kullanılacağı gösterilmektedir:
Response: ParseJSON(
Preview.AIExecutePrompt("CustomPrompt",
{
Context: "You are a helpful assistant.",
Question: "What is the capital of France?"
}).Text)
Bu yaklaşım şunları yapmanızı sağlar:
- Kontrollü girişlerle istemleri yürütün
- Yapılandırılmış yanıtları ayrıştırma ve doğrulama
- Sonuçları beklenen değerlerle karşılaştırın
Tolerans tabanlı doğrulama uygulayın
Tam eşleşmeler beklemek yerine, çıkışların kabul edilebilir eşikler içindeki ölçütleri karşıladığını doğrulayın. Aşağıdaki kod bir örnektir:
// Validate that the sentiment score is within appropriate range
Assert(Response.SentimentScore >= 0.7, "Sentiment score should be positive")
Kesin çıktılar yerine temel işlevselliği test edin
Aşağıdaki örnekte gösterildiği gibi yapay zeka bileşeninin temel amacını yerine getirdiğini doğrulamaya odaklanan testler:
// Check that the classification happens (not the exact classification)
Assert(
Response.Category = "Positive" ||
Response.Category = "Neutral" ||
Response.Category = "Negative",
"Response should include a valid sentiment category"
)
Karmaşık çıktılar için yapısal doğrulama kullanın
Karmaşık yapay zeka yanıtları için, aşağıdaki örnekte gösterildiği gibi belirli içerik yerine yanıt yapısını doğrulayın:
// Verify all expected fields exist in the response
Assert(!IsBlank(Response.Rating), "Rating should be present")
Assert(!IsBlank(Response.Explanation), "Explanation should be present")
Assert(!IsBlank(Response.NextSteps), "Next steps should be present")
Preview.AIExecutePrompt kullanma
Test Altyapısı, özellikle yapay zeka etkileşimlerini test etmek için Preview.AIExecutePrompt işlevini sağlar.
İşlev imzası
Preview.AIExecutePrompt(
PromptName: Text,
PromptContext: Record
): Record
Parametreler
- PromptName: Kullanılacak bilgi istemi şablonunun adı
-
PromptContext: İstem için bağlam verileri, genellikle şunları içerir:
- Bağlam veya sistem mesajı
- Sorular veya kullanıcı girişleri
- Model için diğer parametreler
Dönüş değeri
Aşağıdakileri içeren bir kayıt:
- Metin: Ham yanıt metni
- Bilgi istemi şablonuna ve modele bağlı olarak diğer özellikler
İşlevin etkinleştirilmesi
Bu işlevi kullanmak için test ayarlarınızda AI işlevleri modülünü etkinleştirin:
testSettings:
extensionModules:
enable: true
parameters:
enableAIFunctions: true
Örnek: Bir yaklaşım analizi bileşenini test etme
Aşağıdaki örnekte yapay zeka destekli bir yaklaşım analizi özelliğinin test edilmesi gösterilmektedir:
EvaluateSentimentPrompt(Input: Text): TestResult =
With({
Response: ParseJSON(
Preview.AIExecutePrompt("SentimentAnalyzer",
{
Text: Input
}).Text)
},
{
Result: Response.Sentiment,
Score: Response.ConfidenceScore,
IsPositive: Response.Sentiment = "Positive" && Response.ConfidenceScore > 0.7,
IsValid: !IsBlank(Response.Sentiment) && !IsBlank(Response.ConfidenceScore)
})
Örnek: Derecelendirme değerlendirmesi AI
Aşağıdaki örnek, yapay zeka destekli bir derecelendirme sistemini test etmek için kullanmayı Preview.AIExecutePrompt gösterir:
EvaluateTestQuestionPrompt(Prompt: TestQuestion): TestResult =
With({
Response: ParseJSON(
Preview.AIExecutePrompt("PromptEvaluator",
{
Context: "You are a helpful agent asking about external customer service questions.",
Question: Prompt.Question
}).Text)
},If(
IsError(AssertNotError(Prompt.ExpectedRating=Response.Rating, Prompt.Question & ", Expected " & Prompt.ExpectedRating & ", Actual " & Response.Rating)),
{PassFail: 1, Summary: Prompt.Question & ", Expected " & Prompt.ExpectedRating & ", Actual " & Response.Rating},
{PassFail: 0, Summary: "Pass " & Prompt.Question}
))
AI Prompt örneğinde eksiksiz bir uygulamayı keşfedebilirsiniz.
Yapay zeka bileşen testi için en iyi uygulamalar
Yapay zeka destekli bileşenler için etkili testler oluşturmak için:
- Sayısal çıktılar için kesin değerler yerine kabul edilebilir aralıklar tanımlayın
- Çıkışların yapısal gereksinimleri karşıladığını doğrulamak için koruma rayları oluşturun
- Kenar durumları ve sınır koşulları dahil olmak üzere çeşitli girdilerle test edin
- Yapay zekanın geçersiz girişleri uygun şekilde işlediğinden emin olmak için negatif test senaryolarını dahil edin
- Testlerinizi belirli içerik yerine işlevselliğe göre bölümlere ayırın
- Bileşenin kritikliğine bağlı olarak uygun toleransları kullanın
Yapay zeka testi için yaygın kalıplar
Aşağıdaki örneklerde, uygulamalarda yapay zeka destekli özellikleri Power Platform test etmeye yönelik yaygın yaklaşımlar gösterilmektedir. Bu desenler içerik sınıflandırmasını, sınır koşullarını ve yapay zeka çıkışlarının farklılık gösterebileceği diğer senaryoları doğrulamanıza yardımcı olur.
İçerik sınıflandırma testi
// Test that a content classifier produces valid categories
ClassifyContent(Text: Text): Record =
With({
Result: ParseJSON(Preview.AIExecutePrompt("Classifier", { Content: Text }).Text)
},
Assert(
Result.Category In ["News", "Opinion", "Advertisement"],
"Content should be classified into valid category"
))
Sınır testi
// Test AI Builder form processing with edge cases
TestFormProcessing(FormType: Text): TestResult =
With({
Result: ParseJSON(Preview.AIExecutePrompt("FormProcessor", { FormType: FormType }).Text)
},
Assert(
!IsBlank(Result.Fields),
"Form processing should extract fields even with poor quality input"
))
İlgili makaleler
Test işlevleri hakkında Power Fx bilgi edinin
Yapay zeka destekli test yazmayı keşfedin
Model Bağlam Protokolünü Anlama
Test Altyapısı örnekleri kataloğuna göz atın