שתף דרך


בדיקת בינה מלאכותית לא דטרמיניסטית ב Power Apps (תצוגה מקדימה)

הערה

תכונות Preview אינן מיועדות לשימוש בסביבת ייצור, והפונקציונליות שלהן עשויה להיות מוגבלת. תכונות אלו זמינות לפני הפרסום הרשמי כך שלקוחות יוכלו לקבל גישה מוקדמת ולספק משוב.

בדיקת יישומים המונעים על ידי בינה מלאכותית מציגה אתגרים ייחודיים מכיוון שתפוקות של בינה מלאכותית יכולות להשתנות בין ריצות, אפילו עם קלטים זהים. התנהגות לא דטרמיניסטית זו דורשת גישות בדיקה מיוחדות. מדריך זה מסביר כיצד לאמת ביעילות רכיבי בינה מלאכותית ביישומים שלך. Power Platform

הבנת תפוקות לא דטרמיניסטיות

בדיקות מסורתיות מסתמכות על קלטים דטרמיניסטיים המייצרים תפוקות עקביות. עם זאת, מערכות בינה מלאכותית לעיתים קרובות מייצרות תוצאות שונות במקצת בכל פעם עקב:

  • הגדרות טמפרטורת המודל ושיטות דגימה
  • בחירת גרסאות שונות של דגמים
  • שינויים קלים בעיבוד שפה טבעית
  • ציוני ביטחון המשתנים בטווחים הנורמליים
  • חשיבה תלוית הקשר שעשויה ללכת בדרכים שונות

אסטרטגיות לבדיקת בינה מלאכותית לא דטרמיניסטית

Power Apps מנוע הבדיקה מספק מספר אסטרטגיות לבדיקה יעילה של רכיבים המופעלים על ידי בינה מלאכותית:

השתמש בפונקציה 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

מנוע הבדיקה מספק את הפונקציה Preview.AIExecutePrompt ספציפית לבדיקת אינטראקציות של בינה מלאכותית.

חתימת פונקציה

Preview.AIExecutePrompt(
  PromptName: Text, 
  PromptContext: Record
): Record

פרמטרים

  • שם ההנחיה: שם תבנית ההנחיה לשימוש
  • 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 פונקציות בדיקה
גלו שיטות לכתיבת מבחנים בסיוע בינה מלאכותית
להבין את פרוטוקול ההקשר של המודל
עיין בקטלוג הדוגמאות של מנוע הבדיקה