Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Feljegyzés
Az előzetes funkciókat nem célszerű termelési környezetben használni, és előfordulhat, hogy korlátozott funkcionalitással rendelkeznek. Ezek a funkciók a hivatalos kiadás előtt érhetők el, hogy az ügyfelek korán megismerkedhessenek velük, és visszajelzést adhassanak róluk.
A mesterséges intelligenciával működő alkalmazások tesztelése egyedi kihívásokat jelent, mivel az AI-kimenetek a futtatások között változhatnak, még azonos bemenetek esetén is. Ez a nem determinisztikus viselkedés speciális tesztelési megközelítéseket igényel. Ez az útmutató bemutatja, hogyan ellenőrizheti hatékonyan az AI-összetevőket az Power Platform alkalmazásokban.
A nem determinisztikus kimenetek megértése
A hagyományos tesztelés determinisztikus bemenetekre támaszkodik, amelyek konzisztens kimeneteket eredményeznek. Az AI-rendszerek azonban gyakran minden alkalommal kissé eltérő eredményeket produkálnak a következők miatt:
- A modell hőmérséklet-beállításai és mintavételi módszerei
- A modellek különböző verzióinak kiválasztása
- Kisebb eltérések a természetes nyelvi feldolgozásban
- A normál tartományon belül ingadozó megbízhatósági pontszámok
- Kontextusfüggő érvelés, amely különböző utakat járhat
A nem determinisztikus mesterséges intelligencia tesztelésének stratégiái
Power Apps A Test Engine számos stratégiát kínál az AI-alapú alkatrészek hatékony tesztelésére:
A Preview.AIExecutePrompt függvény használata
A Preview.AIExecutePrompt függvény lehetővé teszi az AI-kérések ellenőrzött végrehajtását a teszteken belül. Az alábbi példa bemutatja, hogyan kell használni:
Response: ParseJSON(
Preview.AIExecutePrompt("CustomPrompt",
{
Context: "You are a helpful assistant.",
Question: "What is the capital of France?"
}).Text)
Ez a megközelítés a következőket teszi lehetővé:
- Parancssorok végrehajtása ellenőrzött bemenetekkel
- Strukturált válaszok elemzése és érvényesítése
- Az eredmények összehasonlítása a várt értékekkel
Tűrésalapú ellenőrzés megvalósítása
Ahelyett, hogy pontos egyezéseket várna, ellenőrizze, hogy a kimenetek megfelelnek-e az elfogadható küszöbértékeken belüli feltételeknek. Az alábbi kód egy példa:
// Validate that the sentiment score is within appropriate range
Assert(Response.SentimentScore >= 0.7, "Sentiment score should be positive")
Tesztelje az alapvető funkciókat a pontos kimenetek helyett
Összpontosítson annak ellenőrzésére, hogy az AI-összetevő teljesíti-e alapvető célját, ahogy az alábbi példában látható:
// 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ális validálás használata összetett kimenetekhez
Összetett AI-válaszok esetén ellenőrizze a válaszstruktúrát a konkrét tartalom helyett, ahogy az alábbi példában látható:
// 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")
A Preview.AIExecutePrompt használata
A Test Engine kifejezetten az AI-interakciók tesztelésére biztosítja a Preview.AIExecutePrompt függvényt .
Függvény aláírása
Preview.AIExecutePrompt(
PromptName: Text,
PromptContext: Record
): Record
Paraméterek
- PromptName: A használni kívánt parancssorsablon neve
-
PromptContext: A parancssor környezeti adatai, amelyek általában a következőket tartalmazzák:
- Környezet vagy rendszerüzenet
- Kérdések vagy felhasználói bevitel
- A modell egyéb paraméterei
Visszaküldés értéke
A következőket tartalmazó rekord:
- Szöveg: A nyers válaszszöveg
- Egyéb tulajdonságok a promptsablontól és a modelltől függően
A funkció engedélyezése
A funkció használatához engedélyezze az AI-függvények modult a tesztbeállításokban:
testSettings:
extensionModules:
enable: true
parameters:
enableAIFunctions: true
Példa: Hangulatelemzési összetevő tesztelése
Az alábbi példa egy mesterséges intelligencia által vezérelt hangulatelemzési funkció tesztelését mutatja be:
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)
})
Példa: Értékelési AI értékelése
Az alábbi példa egy AI-alapú minősítési rendszer tesztelését Preview.AIExecutePrompt mutatja be:
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}
))
A teljes implementációt az AI-kérés mintában fedezheti fel.
Ajánlott eljárások az AI-összetevők teszteléséhez
Hatékony tesztek létrehozása AI-alapú összetevőkhöz:
- Elfogadható tartományok meghatározása a numerikus kimenetek pontos értékei helyett
- Védőkorlátok létrehozása annak ellenőrzésére, hogy a kimenetek megfelelnek-e a szerkezeti követelményeknek
- Tesztelés különböző bemenetekkel, beleértve a peremeseteket és a peremfeltételeket
- Negatív tesztesetek szerepeltetése annak biztosítása érdekében, hogy az AI megfelelően kezelje az érvénytelen bemeneteket
- A tesztek szegmentálása funkcionalitás szerint, nem pedig konkrét tartalom szerint
- Használjon megfelelő tűréseket az alkatrész kritikussága alapján
Az AI-tesztelés gyakori mintái
Az alábbi példák az AI-alapú funkciók alkalmazások tesztelésének Power Platform gyakori módszereit mutatják be. Ezek a minták segítenek a tartalombesorolás, a peremfeltételek és más olyan forgatókönyvek ellenőrzésében, amelyekben az AI-kimenetek eltérőek lehetnek.
Tartalombesorolási tesztelés
// 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"
))
Határvizsgálat
// 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"
))
Kapcsolódó cikkek
Tudnivalók a Power Fx tesztfüggvényekről
A mesterséges intelligenciával támogatott tesztkészítés felfedezése
A modellkörnyezet protokolljának ismertetése
Tallózás a tesztmotor-minták katalógusában