इसके माध्यम से साझा किया गया


Power Apps में गैर-नियतात्मक AI का परीक्षण (पूर्वावलोकन)

नोट

पूर्वावलोकन सुविधाएँ उत्पादन में उपयोग के लिए नहीं होती हैं और इनकी कार्यक्षमता प्रतिबंधित हो सकती हैं. यह सुविधाएँ आधिकारिक रिलीज़ से पहले उपलब्ध होती हैं ताकि ग्राहक शीघ्र पहुँच प्राप्त कर सकें और प्रतिक्रिया प्रदान कर सकें.

एआई-संचालित अनुप्रयोगों का परीक्षण करने में अनूठी चुनौतियां आती हैं, क्योंकि एआई आउटपुट, समान इनपुट के साथ भी, विभिन्न रन के बीच भिन्न हो सकते हैं। इस अनिश्चयात्मक व्यवहार के लिए विशेष परीक्षण पद्धति की आवश्यकता होती है। यह मार्गदर्शिका बताती है कि अपने अनुप्रयोगों में AI घटकों को प्रभावी ढंग से कैसे सत्यापित किया जाए। Power Platform

अनिर्धारित आउटपुट को समझना

पारंपरिक परीक्षण, नियतात्मक इनपुट पर निर्भर करता है जो सुसंगत आउटपुट उत्पन्न करता है। हालाँकि, AI प्रणालियाँ अक्सर हर बार थोड़े अलग परिणाम देती हैं, क्योंकि:

  • मॉडल तापमान सेटिंग्स और नमूनाकरण विधियाँ
  • मॉडलों के विभिन्न संस्करणों का चयन करना
  • प्राकृतिक भाषा प्रसंस्करण में मामूली बदलाव
  • आत्मविश्वास स्कोर जो सामान्य सीमा के भीतर उतार-चढ़ाव करते हैं
  • संदर्भ-निर्भर तर्क जो अलग-अलग रास्ते अपना सकते हैं

अनिर्धारित एआई के परीक्षण के लिए रणनीतियाँ

Power Apps टेस्ट इंजन AI-संचालित घटकों के प्रभावी परीक्षण के लिए कई रणनीतियाँ प्रदान करता है:

Preview.AIExecutePrompt फ़ंक्शन का उपयोग करें

Preview.AIExecutePrompt फ़ंक्शन आपके परीक्षणों में AI संकेतों के नियंत्रित निष्पादन को सक्षम करता है। निम्नलिखित उदाहरण दर्शाता है कि इसका उपयोग कैसे किया जाए:

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")

सटीक आउटपुट के बजाय मूल कार्यक्षमता का परीक्षण करें

फोकस परीक्षण इस बात की पुष्टि पर आधारित है कि AI घटक अपने आवश्यक उद्देश्य को पूरा करता है, जैसा कि निम्नलिखित उदाहरण में दिखाया गया है:

// 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"
)

जटिल आउटपुट के लिए संरचनात्मक सत्यापन का उपयोग करें

जटिल AI प्रतिक्रियाओं के लिए, विशिष्ट सामग्री के बजाय प्रतिक्रिया संरचना को मान्य करें जैसा कि निम्नलिखित उदाहरण में दिखाया गया है:

// 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 का उपयोग करना

टेस्ट इंजन विशेष रूप से AI इंटरैक्शन के परीक्षण के लिए Preview.AIExecutePrompt फ़ंक्शन प्रदान करता है।

फ़ंक्शन हस्ताक्षर

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

पैरामीटर्स

  • PromptName: उपयोग किए जाने वाले प्रॉम्प्ट टेम्पलेट का नाम
  • प्रॉम्प्टकॉन्टेक्स्ट: प्रॉम्प्ट के लिए संदर्भ डेटा, जिसमें आमतौर पर शामिल होता है:
    • संदर्भ या सिस्टम संदेश
    • प्रश्न या उपयोगकर्ता इनपुट
    • मॉडल के लिए कोई अन्य पैरामीटर

मान देता है

एक रिकॉर्ड जिसमें शामिल है:

  • पाठ: कच्चा प्रतिक्रिया पाठ
  • प्रॉम्प्ट टेम्पलेट और मॉडल के आधार पर अन्य गुण

फ़ंक्शन सक्षम करना

इस फ़ंक्शन का उपयोग करने के लिए, अपनी परीक्षण सेटिंग में AI फ़ंक्शन मॉड्यूल सक्षम करें:

testSettings:
  extensionModules:
    enable: true
    parameters:
      enableAIFunctions: true

उदाहरण: भावना विश्लेषण घटक का परीक्षण करना

निम्नलिखित उदाहरण 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)
  })

उदाहरण: रेटिंग मूल्यांकन AI

निम्न उदाहरण AI-संचालित रेटिंग प्रणाली का परीक्षण करने के लिए 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}
  ))

आप AI प्रॉम्प्ट नमूने में संपूर्ण कार्यान्वयन का पता लगा सकते हैं।

AI घटक परीक्षण के लिए सर्वोत्तम अभ्यास

AI-संचालित घटकों के लिए प्रभावी परीक्षण बनाने के लिए:

  • संख्यात्मक आउटपुट के लिए सटीक मानों के बजाय स्वीकार्य सीमाएँ परिभाषित करें
  • आउटपुट संरचनात्मक आवश्यकताओं को पूरा करते हैं, यह सत्यापित करने के लिए गार्ड रेलिंग बनाएँ
  • विविध इनपुट के साथ परीक्षण करें जिसमें एज केस और सीमांत स्थितियाँ शामिल हैं
  • नकारात्मक परीक्षण मामलों को शामिल करें यह सुनिश्चित करने के लिए कि AI अमान्य इनपुट को उचित रूप से संभालता है
  • अपने परीक्षणों को विशिष्ट सामग्री के बजाय कार्यक्षमता के आधार पर विभाजित करें
  • घटक की गंभीरता के आधार पर उचित सहनशीलता का उपयोग करें

AI परीक्षण के लिए सामान्य पैटर्न

निम्नलिखित उदाहरण अनुप्रयोगों में AI-संचालित सुविधाओं के परीक्षण के लिए सामान्य तरीकों को दर्शाते हैं। Power Platform ये पैटर्न आपको सामग्री वर्गीकरण, सीमा स्थितियों और अन्य परिदृश्यों को मान्य करने में मदद करते हैं जहां AI आउटपुट भिन्न हो सकते हैं।

सामग्री वर्गीकरण परीक्षण

// 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 परीक्षण फ़ंक्शन के बारे में जानें
AI-सहायता प्राप्त परीक्षण लेखन का अन्वेषण करें
मॉडल संदर्भ प्रोटोकॉल को समझें
टेस्ट इंजन सैंपल कैटलॉग ब्राउज़ करें