Napomena
Za pristup ovoj stranici potrebna je autorizacija. Možete se pokušati prijaviti ili promijeniti direktorije.
Za pristup ovoj stranici potrebna je autorizacija. Možete pokušati promijeniti direktorije.
Napomena
Značajke pretpregleda nisu namijenjene u proizvodne svrhe i mogu imati ograničene funkcije. Te su značajke dostupne prije službenog izdavanja da bi se klijentima omogućio prijevremeni pristup i slanje povratnih informacija.
Testiranje aplikacija pokretanih umjetnom inteligencijom predstavlja jedinstvene izazove jer izlazi umjetne inteligencije mogu varirati između pokreta, čak i s identičnim ulazima. Ovo nedeterminističko ponašanje zahtijeva posebne pristupe testiranju. Ovaj vodič objašnjava kako učinkovito provjeriti AI komponente u svojim Power Platform aplikacijama.
Razumijevanje nedeterminističkih rezultata
Tradicionalno testiranje oslanja se na determinističke ulaze koji proizvode dosljedne rezultate. Međutim, sustavi umjetne inteligencije često svaki put daju malo drugačije rezultate zbog:
- Postavke temperature modela i metode uzorkovanja
- Odabir različitih verzija modela
- Manje varijacije u obradi prirodnog jezika
- Rezultati pouzdanosti koji variraju unutar normalnih raspona
- Zaključivanje ovisno o kontekstu koje može ići različitim putevima
Strategije za testiranje nedeterminističke umjetne inteligencije
Power Apps Test Engine pruža nekoliko strategija za učinkovito testiranje komponenti pokretanih umjetnom inteligencijom:
Korištenje funkcije Preview.AIExecutePrompt
Funkcija Preview.AIExecutePrompt omogućuje kontrolirano izvršavanje upita umjetne inteligencije unutar vaših testova. Sljedeći primjer pokazuje kako ga koristiti:
Response: ParseJSON(
Preview.AIExecutePrompt("CustomPrompt",
{
Context: "You are a helpful assistant.",
Question: "What is the capital of France?"
}).Text)
Ovaj pristup vam omogućuje:
- Izvršavanje upita s kontroliranim ulazima
- Raščlanjivanje i provjera strukturiranih odgovora
- Usporedba rezultata s očekivanim vrijednostima
Implementirajte provjeru valjanosti temeljenu na toleranciji
Umjesto da očekujete točna podudaranja, provjerite zadovoljavaju li izlazi kriterije unutar prihvatljivih pragova. Sljedeći kod je primjer:
// Validate that the sentiment score is within appropriate range
Assert(Response.SentimentScore >= 0.7, "Sentiment score should be positive")
Testirajte funkcionalnost jezgre, a ne točne rezultate
Usredotočite testove na provjeru ispunjava li komponenta umjetne inteligencije svoju osnovnu svrhu, kao što je prikazano u sljedećem primjeru:
// 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"
)
Upotreba strukturne provjere valjanosti za složene rezultate
Za složene odgovore umjetne inteligencije potvrdite strukturu odgovora, a ne određeni sadržaj kao što je prikazano u sljedećem primjeru:
// 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")
Korištenje Preview.AIExecutePrompt
Test Engine pruža funkciju Preview.AIExecutePrompt posebno za testiranje interakcija umjetne inteligencije.
Funkcijski potpis
Preview.AIExecutePrompt(
PromptName: Text,
PromptContext: Record
): Record
Parametri
- PromptName: naziv predloška upita koji će se koristiti
-
PromptContext: Kontekstni podaci za upit, koji obično sadrže:
- Kontekst ili sistemska poruka
- Pitanja ili korisnički unosi
- Svi ostali parametri za model
Povratna vrijednost
Zapis koji sadrži:
- Tekst: neobrađeni tekst odgovora
- Ostala svojstva ovisno o predlošku i modelu upita
Omogućavanje funkcije
Da biste koristili ovu funkciju, omogućite modul AI funkcija u postavkama testa:
testSettings:
extensionModules:
enable: true
parameters:
enableAIFunctions: true
Primjer: testiranje komponente analize raspoloženja
Sljedeći primjer prikazuje testiranje značajke analize raspoloženja koju pokreće umjetna inteligencija:
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)
})
Primjer: AI ocjenjivanje ocjenjivanja
Sljedeći primjer pokazuje upotrebu za Preview.AIExecutePrompt testiranje sustava ocjenjivanja koji pokreće umjetna inteligencija:
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}
))
Potpunu implementaciju možete istražiti u uzorku upitaza umjetnu inteligenciju.
Najbolje prakse za testiranje AI komponenti
Da biste stvorili učinkovite testove za komponente koje pokreće umjetna inteligencija:
- Definiranje prihvatljivih raspona umjesto točnih vrijednosti za numeričke izlaze
- Stvorite zaštitne ograde kako biste provjerili zadovoljavaju li izlazi strukturne zahtjeve
- Testiranje s različitim ulazima , uključujući rubne slučajeve i rubne uvjete
- Uključite negativne testne slučajeve kako biste osigurali da AI na odgovarajući način obrađuje nevažeće unose
- Segmentirajte testove prema funkcionalnosti, a ne prema određenom sadržaju
- Koristite odgovarajuća odstupanja na temelju kritičnosti komponente
Uobičajeni obrasci za testiranje umjetne inteligencije
Sljedeći primjeri ilustriraju uobičajene pristupe za testiranje značajki koje pokreće umjetna inteligencija u Power Platform aplikacijama. Ovi obrasci pomažu vam da potvrdite klasifikaciju sadržaja, rubne uvjete i druge scenarije u kojima se AI izlazi mogu razlikovati.
Ispitivanje klasifikacije sadržaja
// 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"
))
Granično ispitivanje
// 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"
))
Povezani članci
Saznajte više o Power Fx testnim funkcijama
Istražite autorstvo testova potpomognuto umjetnom inteligencijom
Objašnjenje protokola konteksta modela
Pregledajte katalog uzoraka testnih motora