Бөлісу құралы:


Power Apps детерминистік емес AI сынағы (алдын ала қарау)

Ескертпе

Алдын ала қарау мүмкіндіктері өндірісті пайдалану үшін арналмаған және функционалдық шектеулі болуы мүмкін. Бұл мүмкіндіктер ресми жарияланудан бұрын қолжетімді, сондықтан тұтынушылар ерте қатынаса алады және кері байланыс бере алады.

Жасанды интеллектпен жұмыс істейтін қолданбаларды сынау бірегей қиындықтарды тудырады, себебі AI шығыстары іске қосулар арасында, тіпті бірдей кірістермен де өзгеруі мүмкін. Бұл анықталмаған мінез-құлық арнайы тестілеу тәсілдерін қажет етеді. Бұл нұсқаулық Power Platform қолданбаларыңызда AI құрамдастарын қалай дұрыс тексеру керектігін түсіндіреді.

Анықталмаған нәтижелерді түсіну

Дәстүрлі тестілеу дәйекті нәтижелерді беретін детерминирленген кірістерге сүйенеді. Дегенмен, AI жүйелері жиі әр уақытта аздап басқа нәтижелер береді:

  • Үлгі температура параметрлері және сынама алу әдістері
  • Модельдердің әртүрлі нұсқаларын таңдау
  • Табиғи тілді өңдеудегі шамалы вариациялар
  • Қалыпты диапазонда ауытқып тұратын сенімділік ұпайлары
  • Әртүрлі жолдарды қабылдауы мүмкін контекстке тәуелді пайымдау

Анықталмаған AI тестілеу стратегиялары

Power Apps Test Engine 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: пайдаланылатын шақыру үлгісінің атауы
  • PromptContext: шақыруға арналған мәтінмәндік деректер, әдетте мыналарды қамтиды:
    • Мәтінмәндік немесе жүйелік хабарлама
    • Сұрақтар немесе пайдаланушы енгізулері
    • Үлгіге арналған кез келген басқа параметрлер

Қайтарылатын мән

Мыналарды қамтитын жазба:

  • Мәтін: өңделмеген жауап мәтіні
  • Шақыру үлгісі мен үлгісіне байланысты басқа сипаттар

Функцияны қосу

Бұл функцияны пайдалану үшін сынақ параметрлерінде 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 тестілеуінің жалпы үлгілері

Келесі мысалдар Power Platform қолданбалардағы AI-мен жұмыс істейтін мүмкіндіктерді сынаудың жалпы тәсілдерін суреттейді. Бұл үлгілер мазмұн классификациясын, шекаралық шарттарды және 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 көмегімен сынақ авторлығын зерттеңіз
Мәтінмәндік протокол үлгісін түсіну
Test Engine үлгілерінің каталогын шолыңыз