Ambil perhatian
Akses ke halaman ini memerlukan kebenaran. Anda boleh cuba log masuk atau menukar direktori.
Akses ke halaman ini memerlukan kebenaran. Anda boleh cuba menukar direktori.
Nota
Ciri pratonton bukan untuk kegunaan pengeluaran dan kefungsian mungkin terbatas. Ciri ini tersedia sebelum keluaran rasmi agar pelanggan boleh mendapat akses awal dan memberikan maklum balas.
Menguji aplikasi berkuasa AI memperkenalkan cabaran unik kerana output AI boleh berbeza-beza antara larian, walaupun dengan input yang sama. Tingkah laku bukan deterministik ini memerlukan pendekatan ujian khas. Panduan ini menerangkan cara mengesahkan komponen AI dalam aplikasi anda Power Platform dengan berkesan.
Memahami output bukan deterministik
Ujian tradisional bergantung pada input deterministik yang menghasilkan output yang konsisten. Walau bagaimanapun, sistem AI selalunya menghasilkan hasil yang sedikit berbeza setiap kali kerana:
- Tetapan suhu model dan kaedah pensampelan
- Memilih versi model yang berbeza
- Variasi kecil dalam pemprosesan bahasa semula jadi
- Skor keyakinan yang berubah-ubah dalam julat normal
- Penaakulan bergantung kepada konteks yang mungkin mengambil jalan yang berbeza
Strategi untuk menguji AI bukan deterministik
Power Apps Test Engine menyediakan beberapa strategi untuk menguji komponen berkuasa AI dengan berkesan:
Gunakan fungsi Preview.AIExecutePrompt
Fungsi Preview.AIExecutePrompt membolehkan pelaksanaan terkawal gesaan AI dalam ujian anda. Contoh berikut menunjukkan cara menggunakannya:
Response: ParseJSON(
Preview.AIExecutePrompt("CustomPrompt",
{
Context: "You are a helpful assistant.",
Question: "What is the capital of France?"
}).Text)
Pendekatan ini membolehkan anda untuk:
- Laksanakan gesaan dengan input terkawal
- Menghuraikan dan mengesahkan respons berstruktur
- Bandingkan hasil dengan nilai jangkaan
Laksanakan pengesahan berasaskan toleransi
Daripada menjangkakan padanan tepat, sahkan bahawa output memenuhi kriteria dalam ambang yang boleh diterima. Kod berikut ialah contoh:
// Validate that the sentiment score is within appropriate range
Assert(Response.SentimentScore >= 0.7, "Sentiment score should be positive")
Uji fungsi teras dan bukannya output tepat
Fokus ujian untuk mengesahkan bahawa komponen AI memenuhi tujuan pentingnya seperti yang ditunjukkan dalam contoh berikut:
// 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"
)
Gunakan pengesahan struktur untuk output yang kompleks
Untuk respons AI yang kompleks, sahkan struktur respons dan bukannya kandungan tertentu seperti yang ditunjukkan dalam contoh berikut:
// 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")
Menggunakan Preview.AIExecutePrompt
Test Engine menyediakan fungsi Preview.AIExecutePrompt khusus untuk menguji interaksi AI.
Tandatangan fungsi
Preview.AIExecutePrompt(
PromptName: Text,
PromptContext: Record
): Record
Parameter
- PromptName: Nama templat gesaan untuk digunakan
-
PromptContext: Data konteks untuk gesaan, biasanya mengandungi:
- Konteks atau mesej sistem
- Soalan atau input pengguna
- Sebarang parameter lain untuk model
Nilai pulangan
Rekod yang mengandungi:
- Teks: Teks respons mentah
- Sifat lain bergantung pada templat dan model gesaan
Mendayakan fungsi
Untuk menggunakan fungsi ini, dayakan modul fungsi AI dalam tetapan ujian anda:
testSettings:
extensionModules:
enable: true
parameters:
enableAIFunctions: true
Contoh: Menguji komponen analisis sentimen
Contoh berikut menunjukkan menguji ciri analisis sentimen berkuasa AI:
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)
})
Contoh: Penilaian penilaian AI
Contoh berikut menunjukkan penggunaan Preview.AIExecutePrompt untuk menguji sistem penarafan berkuasa AI:
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}
))
Anda boleh meneroka pelaksanaan lengkap dalam sampel AI Prompt.
Amalan terbaik untuk ujian komponen AI
Untuk mencipta ujian yang berkesan untuk komponen berkuasa AI:
- Tentukan julat yang boleh diterima dan bukannya nilai tepat untuk output berangka
- Buat pagar pengawal untuk mengesahkan output memenuhi keperluan struktur
- Uji dengan input yang pelbagai termasuk kes tepi dan keadaan sempadan
- Sertakan kes ujian negatif untuk memastikan AI mengendalikan input tidak sah dengan sewajarnya
- Bahagikan ujian anda mengikut fungsi dan bukannya kandungan tertentu
- Gunakan toleransi yang sesuai berdasarkan kritikal komponen
Corak biasa untuk ujian AI
Contoh berikut menggambarkan pendekatan biasa untuk menguji ciri berkuasa AI dalam Power Platform aplikasi. Corak ini membantu anda mengesahkan klasifikasi kandungan, syarat sempadan dan senario lain yang output AI mungkin berbeza-beza.
Ujian klasifikasi kandungan
// 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"
))
Ujian sempadan
// 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"
))
Artikel berkaitan
Ketahui tentang Power Fx fungsi ujian
Terokai pengarangan ujian berbantukan AI
Fahami Protokol Konteks Model
Semak imbas katalog sampel Enjin Ujian