Piezīmes
Lai piekļūtu šai lapai, ir nepieciešama autorizācija. Varat mēģināt pierakstīties vai mainīt direktorijus.
Lai piekļūtu šai lapai, ir nepieciešama autorizācija. Varat mēģināt mainīt direktorijus.
Piezīmes
Priekšskatījuma līdzekļi nav paredzēti komerciālai lietošanai, un to funkcionalitāte var būt ierobežota. Šie līdzekļi ir pieejami pirms oficiālā laidiena, lai klienti varētu priekšlaikus piekļūt līdzeklim un sniegt atsauksmes.
Mākslīgā intelekta darbinātu lietojumprogrammu testēšana rada unikālus izaicinājumus, jo mākslīgā intelekta izeja var atšķirties starp skrējieniem, pat ar identiskām ievadēm. Šai nedeterministiskajai uzvedībai ir nepieciešamas īpašas testēšanas pieejas. Šajā rokasgrāmatā ir paskaidrots, kā efektīvi validēt AI komponentus savās Power Platform lietojumprogrammās.
Izpratne par nedeterministiskiem rezultātiem
Tradicionālā testēšana balstās uz deterministiskiem ieguldījumiem, kas rada konsekventus rezultātus. Tomēr AI sistēmas bieži vien katru reizi rada nedaudz atšķirīgus rezultātus, jo
- Modeļa temperatūras iestatījumi un paraugu ņemšanas metodes
- Dažādu modeļu versiju izvēle
- Nelielas atšķirības dabiskās valodas apstrādē
- Ticamības rādītāji, kas svārstās normālos diapazonos
- Kontekstatkarīga argumentācija, kas var iet dažādus ceļus
Stratēģijas nedeterministiskā MI testēšanai
Power Apps Testa dzinējs nodrošina vairākas stratēģijas, lai efektīvi pārbaudītu mākslīgā intelekta komponentus:
Funkcijas Preview.AIExecutePrompt izmantošana
Funkcija Preview.AIExecutePrompt nodrošina kontrolētu AI uzvedņu izpildi testos. Šis piemērs parāda, kā to izmantot:
Response: ParseJSON(
Preview.AIExecutePrompt("CustomPrompt",
{
Context: "You are a helpful assistant.",
Question: "What is the capital of France?"
}).Text)
Šī pieeja ļauj:
- Izpildiet uzvednes ar kontrolētām ievadēm
- Strukturēto atbilžu parsēšana un validēšana
- Rezultātu salīdzināšana ar paredzamajām vērtībām
Ieviest uz pielaidēm balstītu validāciju
Tā vietā, lai sagaidītu precīzu atbilstību, pārbaudiet, vai izvade atbilst kritērijiem pieņemamās robežvērtības. Šis kods ir piemērs:
// Validate that the sentiment score is within appropriate range
Assert(Response.SentimentScore >= 0.7, "Sentiment score should be positive")
Pārbaudiet pamata funkcionalitāti, nevis precīzus rezultātus
Koncentrējieties uz to, lai pārbaudītu, vai AI komponents atbilst tā pamatmērķim, kā parādīts šajā piemērā:
// 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"
)
Strukturālās validācijas izmantošana sarežģītiem rezultātiem
Sarežģītām AI atbildēm validējiet atbildes struktūru, nevis konkrētu saturu, kā parādīts šajā piemērā.
// 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 izmantošana
Test Engine nodrošina Preview.AIExecutePrompt funkciju , kas īpaši paredzēta AI mijiedarbības testēšanai.
Funkcijas paraksts
Preview.AIExecutePrompt(
PromptName: Text,
PromptContext: Record
): Record
Parameters
- PromptName: izmantojamās uzvednes veidnes nosaukums
-
PromptContext: uzvednes konteksta dati, kas parasti satur:
- Konteksts vai sistēmas ziņojums
- Jautājumi vai lietotāja ievades
- Visi citi modeļa parametri
Atgrieztā vērtība
Ieraksts, kurā ietilpst:
- Teksts: neapstrādāts atbildes teksts
- Citi rekvizīti atkarībā no uzvednes veidnes un modeļa
Funkcijas iespējošana
Lai izmantotu šo funkciju, testa iestatījumos iespējojiet AI funkciju moduli:
testSettings:
extensionModules:
enable: true
parameters:
enableAIFunctions: true
Piemērs: noskaņojuma analīzes komponenta testēšana
Tālāk sniegtajā piemērā parādīta mākslīgā intelekta noskaņojuma analīzes līdzekļa testēšana.
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)
})
Piemērs: reitinga novērtēšanas AI
Tālāk sniegtajā piemērā parādīts, kā pārbaudīt Preview.AIExecutePrompt MI darbināmu vērtēšanas sistēmu:
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}
))
Pilnu ieviešanu varat izpētīt AI uzvednes paraugā.
Labākā prakse AI komponentu testēšanai
Lai izveidotu efektīvus mākslīgā intelekta komponentu testus:
- Definējiet pieņemamus diapazonus , nevis precīzas vērtības skaitliskajām izvadēm
- Izveidojiet aizsargmargas , lai pārbaudītu, vai izeja atbilst strukturālajām prasībām
- Testēšana ar dažādiem ieguldījumiem , tostarp perimalas gadījumiem un robežapstākļiem
- Iekļaujiet negatīvus testa gadījumus , lai nodrošinātu, ka AI pienācīgi apstrādā nederīgas ievades
- Testu segmentēšana pēc funkcionalitātes, nevis konkrēta satura
- Izmantojiet atbilstošas pielaides, pamatojoties uz komponenta kritiskumu
Izplatītākie MI testēšanas modeļi
Tālāk sniegtie piemēri ilustrē izplatītas pieejas mākslīgā intelekta funkciju testēšanai lietojumprogrammās Power Platform . Šie modeļi palīdz validēt satura klasifikāciju, robežnosacījumus un citus scenārijus, kuros mākslīgā intelekta izvade var atšķirties.
Satura klasifikācijas pārbaude
// 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"
))
Robežpārbaude
// 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"
))
Saistītie raksti
Uzziniet par Power Fx testa funkcijām
Izpētiet mākslīgā intelekta atbalstītu testu autorēšanu
Izpratne par modeļa konteksta protokolu
Testēšanas programmas paraugu kataloga pārlūkošana