Partekatu bidez


IA ez-determinista probatzen Power Apps -n (aurrebista)

Oharra

Aurrebista-eginbideak ez daude ekoizpenerako diseinatuta, eta funtzionalitate murriztua izan dezakete. Eginbide horiek kaleratze ofiziala baino lehen dauden erabilgarri, bezeroek atzitu eta beren oharrak eman ditzaten.

AI bidezko aplikazioak probatzeak erronka bereziak dakartza, AI irteerak exekuzioen artean alda daitezkeelako, sarrera berdinak izan arren. Portaera ez-determinista honek probak egiteko ikuspegi bereziak behar ditu. Gida honek zure aplikazioetako IA osagaiak modu eraginkorrean nola balioztatu azaltzen du. Power Platform

Irteera ez-deterministak ulertzea

Ohiko probak sarrera deterministuetan oinarritzen dira, irteera koherenteak sortuz. Hala ere, IA sistemek emaitza apur bat desberdinak sortzen dituzte aldi bakoitzean, honako arrazoi hauengatik:

  • Modeloaren tenperatura-ezarpenak eta laginketa-metodoak
  • Modeloen bertsio desberdinak hautatzea
  • Hizkuntza naturalaren prozesamenduan aldaketa txikiak
  • Konfiantza puntuazioak tarte normaletan aldatzen direnak
  • Testuinguruaren araberako arrazoiketa, bide desberdinak har ditzakeena

IA ez-determinista probatzeko estrategiak

Power Apps Test Engine-k hainbat estrategia eskaintzen ditu IA bidezko osagaiak modu eraginkorrean probatzeko:

Erabili Preview.AIExecutePrompt funtzioa

*Preview.AIExecutePrompt* funtzioak *IA gonbidapenen exekuzio kontrolatua ahalbidetzen du zure probetan. ... Adibide honek nola erabili erakusten du:

Response: ParseJSON(
  Preview.AIExecutePrompt("CustomPrompt",
  {
    Context: "You are a helpful assistant.",
    Question: "What is the capital of France?"
  }).Text)

Ikuspegi honek aukera ematen dizu:

  • Exekutatu eskaerak sarrera kontrolatuekin
  • Egituratutako erantzunak aztertu eta balioztatu
  • Konparatu emaitzak espero diren balioekin

Tolerantzian oinarritutako balidazioa ezartzea

Bat-etortze zehatzak espero beharrean, egiaztatu irteeren irizpideak betetzen dituztela atalase onargarrien barruan. Hurrengo kodea adibide bat da:

// Validate that the sentiment score is within appropriate range
Assert(Response.SentimentScore >= 0.7, "Sentiment score should be positive")

Probatu oinarrizko funtzionaltasuna irteera zehatzen ordez

Adibide honetan erakusten den bezala, IA osagaiak bere funtsezko helburua betetzen duela balioztatzean zentratu probak:

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

Erabili egiturazko balidazioa irteera konplexuetarako

Adimen artifizialaren erantzun konplexuetarako, balioztatu erantzunaren egitura, eduki zehatza baino gehiago, hurrengo adibidean erakusten den bezala:

// 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 erabiltzea

Test Engine-k *Preview.AIExecutePrompt* funtzioa eskaintzen du bereziki AI interakzioak probatzeko. ...

Funtzio-sinadura

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

Parametroak

  • PromptName: Erabiliko den gonbidapen-txantiloiaren izena
  • PromptContext: Prompt-aren testuinguru-datuak, normalean hauek barne hartzen dituztenak:
    • Testuingurua edo sistemaren mezua
    • Galderak edo erabiltzaileen ekarpenak
    • Modeloaren beste edozein parametro

Itzuli balioa

Erregistro bat honako hauek dituena:

  • Testua: Erantzunaren testu gordina
  • Beste propietate batzuk gonbitaren txantiloiaren eta ereduaren araberakoak

Funtzioa gaitzea.

Funtzio hau erabiltzeko, gaitu AI funtzioen modulua zure proba ezarpenetan:

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

Adibidea: Sentimenduen analisi osagai bat probatzea

Adibide honek adimen artifizialaren bidezko sentimenduen analisi funtzio bat probatzen erakusten du:

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

Adibidea: Balorazio-ebaluazioa AI

Adibide honek Preview.AIExecutePrompt erabiltzen erakusten du adimen artifizialaren bidezko balorazio-sistema bat probatzeko:

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

Inplementazio oso bat azter dezakezu AI Prompt laginan.

IA osagaien probak egiteko jardunbide egokiak

Adimen artifizialaren bidezko osagaientzako proba eraginkorrak sortzeko:

  • Definitu balio zehatzen ordez onargarriak diren tarteak irteera numerikoetarako
  • Sortu babes-hesiak irteerek egitura-eskakizunak betetzen dituztela egiaztatzeko
  • Probatu sarrera anitzekin ertzeko kasuak eta muga-baldintzak barne
  • Sartu proba-kasu negatiboak IAk sarrera baliogabeak behar bezala kudeatzen dituela ziurtatzeko
  • Segmentatu zure probak funtzionaltasunaren arabera, edukiaren arabera baino gehiago
  • Erabili tolerantzia egokiak osagaiaren kritikotasunaren arabera

IA probak egiteko ohiko ereduak

Hurrengo adibideek aplikazioetan AI bidezko funtzioak probatzeko ohiko metodoak erakusten dituzte. Power Platform Eredu hauek edukien sailkapena, muga-baldintzak eta IAren irteerak alda daitezkeen beste egoera batzuk balioztatzen laguntzen dizute.

Edukien sailkapen probak

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

Muga-probak

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

Ikasi proba funtzioei buruz Power Fx
Arakatu IA bidezko probak idaztea
Ulertu Ereduaren Testuinguru Protokoloa
Arakatu Test Engine laginen katalogoa