Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Muistiinpano
Esiversiotoimintoja ei ole tarkoitettu tuotantokäyttöön, ja niiden toiminnot voivat olla rajoitettuja. Nämä toiminnot ovat käytettävissä ennen virallista julkaisua, jotta asiakkaat voivat käyttää niiden ennakkojulkaisua ja antaa palautetta.
Tekoälypohjaisten sovellusten testaaminen tuo mukanaan ainutlaatuisia haasteita, koska tekoälyn lähdöt voivat vaihdella ajojen välillä, jopa identtisillä syötteillä. Tämä ei-deterministinen käyttäytyminen vaatii erityisiä testausmenetelmiä. Tässä oppaassa kerrotaan, miten voit vahvistaa tekoälykomponentteja sovelluksissasi Power Platform tehokkaasti.
Ei-determinististen tuotosten ymmärtäminen
Perinteinen testaus perustuu deterministisiin syötteisiin, jotka tuottavat johdonmukaisia tuloksia. Tekoälyjärjestelmät tuottavat kuitenkin usein joka kerta hieman erilaisia tuloksia seuraavista syistä:
- Mallin lämpötila-asetukset ja näytteenottomenetelmät
- Mallien eri versioiden valitseminen
- Pieniä eroja luonnollisen kielen käsittelyssä
- Luotettavuuspisteet, jotka vaihtelevat normaaleilla alueilla
- Kontekstisidonnainen päättely, joka voi kulkea eri polkuja
Strategiat ei-deterministisen tekoälyn testaamiseen
Power Apps Test Engine tarjoaa useita strategioita tekoälyllä toimivien komponenttien tehokkaaseen testaamiseen:
Käytä Preview.AIExecutePrompt-funktiota
Preview.AIExecutePrompt-toiminto mahdollistaa tekoälykehotteiden hallitun suorittamisen testeissäsi. Seuraavassa esimerkissä näytetään, miten sitä käytetään:
Response: ParseJSON(
Preview.AIExecutePrompt("CustomPrompt",
{
Context: "You are a helpful assistant.",
Question: "What is the capital of France?"
}).Text)
Tämän lähestymistavan avulla voit:
- Suorita kehotteet ohjatuilla syötteillä
- Jäsenneltyjen vastausten jäsentäminen ja vahvistaminen
- Vertaa tuloksia odotettuihin arvoihin
Ota käyttöön toleranssiin perustuva validointi
Sen sijaan, että odottaisit tarkkoja vastaavuuksia, varmista, että tuotokset täyttävät kriteerit hyväksyttävien raja-arvojen sisällä. Seuraava koodi on esimample:
// Validate that the sentiment score is within appropriate range
Assert(Response.SentimentScore >= 0.7, "Sentiment score should be positive")
Testaa ydintoimintoja tarkkojen tulosteiden sijaan
Keskity testaamaan sen vahvistamiseen, että tekoälykomponentti täyttää olennaisen tarkoituksensa, kuten seuraavassa esimerkissä näkyy:
// 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"
)
Käytä rakenteellista validointia monimutkaisissa tuotoksissa
Jos kyseessä on monimutkaiset tekoälyvastaukset, vahvista vastausrakenne tietyn sisällön sijaan, kuten seuraavassa esimerkissä näkyy:
// 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.AIExecutePromptin käyttäminen
Test Engine tarjoaa Preview.AIExecutePrompt-funktion erityisesti tekoälyn vuorovaikutusten testaamiseen.
Toiminnon allekirjoitus
Preview.AIExecutePrompt(
PromptName: Text,
PromptContext: Record
): Record
Parametrit
- PromptName: Käytettävän kehotemallin nimi
-
PromptContext: Kehotteen kontekstitiedot, jotka sisältävät yleensä seuraavat:
- Konteksti tai järjestelmäviesti
- Kysymykset tai käyttäjän syötteet
- Mallin muut parametrit
Palautusarvo
Tietue, joka sisältää:
- Teksti: Raaka vastausteksti
- Muut ominaisuudet kehotemallista ja mallista riippuen
Toiminnon käyttöönotto
Jos haluat käyttää tätä toimintoa, ota tekoälyfunktiomoduuli käyttöön testiasetuksissasi:
testSettings:
extensionModules:
enable: true
parameters:
enableAIFunctions: true
Esimerkki: Asenneanalyysikomponentin testaaminen
Seuraavassa esimerkissä testataan tekoälypohjaista asenneanalyysiominaisuutta:
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)
})
Esimerkki: Luokituksen arvioinnin tekoäly
Seuraavassa esimerkissä näytetään tekoälyllä toimivan luokitusjärjestelmän testaaminen 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}
))
Voit tutustua täydelliseen toteutukseen tekoälykehotemallissa.
Tekoälykomponenttien testauksen parhaat käytännöt
Tehokkaiden testien luominen tekoälyllä toimiville komponenteille:
- Määritä hyväksyttävät alueet numeeristen tulosteiden tarkkojen arvojen sijaan
- Luo suojakaiteet varmistaaksesi, että lähdöt täyttävät rakenteelliset vaatimukset
- Testaa erilaisilla syötteillä, mukaan lukien reunatapaukset ja reunaehdot
- Sisällytä negatiiviset testitapaukset varmistaaksesi, että tekoäly käsittelee virheelliset syötteet asianmukaisesti
- Segmentoi testit toiminnallisuuden mukaan tietyn sisällön sijaan
- Käytä asianmukaisia toleransseja komponentin kriittisyyden perusteella
Tekoälytestauksen yleiset mallit
Seuraavat esimerkit havainnollistavat yleisiä lähestymistapoja tekoälypohjaisten ominaisuuksien Power Platform testaamiseen sovelluksissa. Näiden mallien avulla voit vahvistaa sisällön luokituksen, reunaehdot ja muut skenaariot, joissa tekoälyn tulokset voivat vaihdella.
Sisällön luokittelun testaus
// 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"
))
Rajojen testaus
// 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"
))
Liittyvät artikkelit
Lisätietoja Power Fx testifunktioista
Tutustu tekoälyavusteiseen testien luomiseen
Mallin kontekstiprotokollan ymmärtäminen
Selaa Test Engine -malliluetteloa