إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
إشعار
الهدف من ميزات المعاينة ليس الاستخدام في الإنتاج وقد يكون لها دالات مقيدة. تتوفر هذه الميزات قبل إصدار رسمي وبذلك يستطيع العملاء الحصول على وصول مبكر وتقديم التعليقات.
يقدم اختبار التطبيقات التي تعمل بالطاقة الذكاء الاصطناعي تحديات فريدة لأن مخرجات الذكاء الاصطناعي يمكن أن تختلف بين عمليات التشغيل ، حتى مع وجود مدخلات متطابقة. يتطلب هذا السلوك غير الحتمي مناهج اختبار خاصة. يشرح هذا الدليل كيفية التحقق من صحة مكونات الذكاء الاصطناعي في تطبيقاتك Power Platform بشكل فعال.
فهم المخرجات غير الحتمية
يعتمد الاختبار التقليدي على المدخلات الحتمية التي تنتج مخرجات متسقة. ومع ذلك ، غالبا ما تنتج أنظمة الذكاء الاصطناعي نتائج مختلفة قليلا في كل مرة بسبب:
- إعدادات درجة حرارة النموذج وطرق أخذ العينات
- اختيار إصدارات مختلفة من النماذج
- اختلافات طفيفة في معالجة اللغة الطبيعية
- درجات الثقة التي تتقلب ضمن النطاقات الطبيعية
- التفكير المعتمد على السياق الذي قد يأخذ مسارات مختلفة
استراتيجيات اختبار الذكاء الاصطناعي غير الحتمي
Power Apps يوفر Test Engine العديد من الاستراتيجيات لاختبار المكونات التي تعمل بالطاقة الذكاء الاصطناعي بشكل فعال:
استخدم الدالة Preview.AIExecutePrompt
تتيح وظيفة Preview.AIExecutePrompt التنفيذ المتحكم فيه لمطالبات الذكاء الاصطناعي داخل اختباراتك. يوضح المثال التالي كيفية استخدامه:
Response: ParseJSON(
Preview.AIExecutePrompt("CustomPrompt",
{
Context: "You are a helpful assistant.",
Question: "What is the capital of France?"
}).Text)
يتيح لك هذا النهج ما يلي:
- تنفيذ المطالبات باستخدام المدخلات الخاضعة للرقابة
- تحليل الاستجابات المنظمة والتحقق من صحتها
- مقارنة النتائج بالقيم المتوقعة
تنفيذ التحقق القائم على التسامح
بدلا من توقع التطابقات التامة، تحقق من أن المخرجات تفي بالمعايير ضمن الحدود المقبولة. التعليمات البرمجية التالية هي مثال:
// Validate that the sentiment score is within appropriate range
Assert(Response.SentimentScore >= 0.7, "Sentiment score should be positive")
اختبار الوظائف الأساسية بدلا من المخرجات الدقيقة
تركيز الاختبارات على التحقق من أن مكون الذكاء الاصطناعي يفي بغرضه الأساسي كما هو موضح في المثال التالي:
// 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"
)
استخدام التحقق الهيكلي للمخرجات المعقدة
بالنسبة لاستجابات الذكاء الاصطناعي المعقدة، تحقق من صحة بنية الاستجابة بدلا من محتوى معين كما هو موضح في المثال التالي:
// 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
يوفر Test Engine وظيفة Preview.AIExecutePrompt خصيصا لاختبار تفاعلات الذكاء الاصطناعي.
توقيع الوظيفة
Preview.AIExecutePrompt(
PromptName: Text,
PromptContext: Record
): Record
المعلمات
- PromptName: اسم قالب المطالبة المراد استخدامه
-
PromptContext: بيانات السياق للمطالبة، والتي تحتوي عادة على:
- السياق أو رسالة النظام
- الأسئلة أو مدخلات المستخدم
- أي معلمات أخرى للنموذج
قيمة الإرجاع
سجل يحتوي على:
- النص: نص الاستجابة الأولية
- خصائص أخرى اعتمادا على قالب المطالبة والنموذج
تمكين الوظيفة
لاستخدام هذه الوظيفة، قم بتمكين الوحدة النمطية لوظائف الذكاء الاصطناعي في إعدادات الاختبار:
testSettings:
extensionModules:
enable: true
parameters:
enableAIFunctions: true
مثال: اختبار مكون تحليل المشاعر
يوضح المثال التالي اختبار ميزة تحليل المشاعر التي تعمل بنظام الذكاء الاصطناعي:
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)
})
مثال: تقييم الذكاء الاصطناعي للتقييم
يوضح المثال التالي الاستخدام Preview.AIExecutePrompt لاختبار نظام تصنيف يعمل بالطاقة الذكاء الاصطناعي:
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}
))
يمكنك استكشاف تنفيذ كامل في عينة موجه الذكاء الاصطناعي.
أفضل الممارسات لاختبار مكونات الذكاء الاصطناعي
لإنشاء اختبارات فعالة للمكونات التي تعمل بالطاقة الذكاء الاصطناعي:
- تحديد النطاقات المقبولة بدلا من القيم الدقيقة للمخرجات الرقمية
- إنشاء قضبان حماية للتحقق من أن المخرجات تفي بالمتطلبات الهيكلية
- اختبار مع مدخلات متنوعة بما في ذلك حالات الحافة والظروف الحدودية
- قم بتضمين حالات الاختبار السلبية للتأكد من أن الذكاء الاصطناعي يتعامل مع المدخلات غير الصالحة بشكل مناسب
- تقسيم الاختبارات حسب الوظائف بدلا من محتوى معين
- استخدم التفاوتات المناسبة بناء على أهمية المكون
الأنماط الشائعة لاختبار الذكاء الاصطناعي
توضح الأمثلة التالية الأساليب الشائعة لاختبار الميزات التي تعمل بالطاقة الذكاء الاصطناعي في Power Platform التطبيقات. تساعدك هذه الأنماط في التحقق من صحة تصنيف المحتوى والظروف الحدودية والسيناريوهات الأخرى التي قد تختلف فيها مخرجات الذكاء الاصطناعي.
اختبار تصنيف المحتوى
// 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"
))
اختبار الحدود
// 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"
))
المقالات ذات الصلة
تعرف على وظائف Power Fx الاختبار
استكشاف تأليف الاختبار بمساعدة الذكاء الاصطناعي
فهم بروتوكول سياق النموذج
استعراض كتالوج عينات محرك الاختبار