Märkus.
Juurdepääs sellele lehele nõuab autoriseerimist. Võite proovida sisse logida või kausta vahetada.
Juurdepääs sellele lehele nõuab autoriseerimist. Võite proovida kausta vahetada.
Märkus.
Eelvaatefunktsioonid ei ole mõeldud kasutamiseks tootmises ja nende funktsioonid võivad olla piiratud. Need funktsioonid on saadaval enne ametlikku väljastamist, et kliendid saaksid sellele varakult juurdepääsu ja võiksid tagasisidet anda.
Tehisintellektil põhinevate rakenduste testimine toob kaasa ainulaadseid väljakutseid, kuna tehisintellekti väljundid võivad testide vahel erineda isegi identsete sisendite korral. See mittedeterministlik käitumine nõuab spetsiaalseid testimismeetodeid. See juhend selgitab, kuidas oma rakendustes tehisintellekti komponente tõhusalt valideerida. Power Platform
Mittedeterministlike väljundite mõistmine
Traditsiooniline testimine tugineb deterministlikele sisenditele, mis annavad järjepidevaid väljundeid. Siiski annavad tehisintellekti süsteemid iga kord veidi erinevaid tulemusi järgmistel põhjustel:
- Mudeli temperatuuri seaded ja proovivõtumeetodid
- Erinevate mudeliversioonide valimine
- Väikesed erinevused loomuliku keele töötlemisel
- Usaldusskoorid, mis kõiguvad normi piires
- Kontekstist sõltuv arutluskäik, mis võib minna erinevaid teid
Mittedeterministliku tehisintellekti testimise strateegiad
Power Apps Testimootor pakub tehisintellektil põhinevate komponentide tõhusaks testimiseks mitmeid strateegiaid:
Kasutage funktsiooni Preview.AIExecutePrompt
Funktsioon Preview.AIExecutePrompt võimaldab tehisintellekti viipade kontrollitud täitmist teie testides. Järgnev näide demonstreerib, kuidas seda kasutada:
Response: ParseJSON(
Preview.AIExecutePrompt("CustomPrompt",
{
Context: "You are a helpful assistant.",
Question: "What is the capital of France?"
}).Text)
See lähenemisviis võimaldab teil:
- Käivita juhitavate sisenditega käske
- Struktureeritud vastuste analüüsimine ja valideerimine
- Võrdle tulemusi oodatavate väärtustega
Rakenda tolerantsipõhist valideerimist
Täpsete vastete ootamise asemel kontrolli, kas väljundid vastavad vastuvõetavate lävede piires olevatele kriteeriumidele. Järgnev kood on näide:
// Validate that the sentiment score is within appropriate range
Assert(Response.SentimentScore >= 0.7, "Sentiment score should be positive")
Testi põhifunktsioone täpsete väljundite asemel
Keskenduge testides tehisintellekti komponendi põhieesmärgi täitmise valideerimisele, nagu on näidatud järgmises näites:
// 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"
)
Kasutage keerukate väljundite puhul struktuuri valideerimist
Komplekssete tehisintellekti vastuste puhul valideeri vastuse struktuuri, mitte konkreetset sisu, nagu on näidatud järgmises näites:
// 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")
Eelvaate kasutamine.AIExecutePrompt
Testimootor pakub funktsiooni Preview.AIExecutePrompt spetsiaalselt tehisintellekti interaktsioonide testimiseks.
Funktsiooni allkiri
Preview.AIExecutePrompt(
PromptName: Text,
PromptContext: Record
): Record
Parameetrid
- PromptName: Kasutatava käsuviiba malli nimi
-
PromptContext: Viiba kontekstiandmed, mis tavaliselt sisaldavad:
- Kontekst või süsteemisõnum
- Küsimused või kasutaja sisendid
- Mudeli muud parameetrid
Tagastusväärtus
Kirje, mis sisaldab:
- Tekst: Vastuse algtekst
- Muud omadused, mis sõltuvad päringu mallist ja mudelist
Funktsiooni lubamine
Selle funktsiooni kasutamiseks lubage oma testimisseadetes tehisintellekti funktsioonide moodul:
testSettings:
extensionModules:
enable: true
parameters:
enableAIFunctions: true
Näide: Sentimendianalüüsi komponendi testimine
Järgnev näide demonstreerib tehisintellektil põhineva meeleoluanalüüsi funktsiooni testimist:
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)
})
Näide: Hinnangu hindamise tehisintellekt
Järgnev näide demonstreerib tehisintellektil põhineva hindamissüsteemi testimist, kasutades ``:``: 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}
))
Täieliku rakendusega saate tutvuda AI-viiba näidises.
Tehisintellekti komponentide testimise parimad tavad
Tehisintellektil põhinevate komponentide jaoks tõhusate testide loomiseks:
- Määrake numbriliste väljundite puhul täpsete väärtuste asemel vastuvõetavad vahemikud
- Looge piirded, et kontrollida väljundite vastavust konstruktsiooninõuetele
- Testige erinevate sisenditega, sh äärejuhtumite ja piiritingimustega
- Lisage negatiivsed testijuhtumid, et tagada tehisintellekti nõuetekohane vigaste sisendite käsitlemine
- Segmenteeri oma testid funktsionaalsuse, mitte konkreetse sisu järgi
- Kasutage komponendi kriitilisuse põhjal sobivaid tolerantse
Tehisintellekti testimise tavalised mustrid
Järgmised näited illustreerivad tehisintellektil põhinevate funktsioonide testimise levinud lähenemisviise rakendustes. Power Platform Need mustrid aitavad teil valideerida sisu klassifitseerimist, piiritingimusi ja muid stsenaariume, kus tehisintellekti väljundid võivad erineda.
Sisu klassifitseerimise testimine
// 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"
))
Piiride testimine
// 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"
))
Seotud artiklid
Lisateave testimisfunktsioonide kohta Power Fx
Avasta tehisintellekti abil testide koostamine
Mudeli konteksti protokolli mõistmine
Sirvige testmootori näidiste kataloogi