Nota
L'accés a aquesta pàgina requereix autorització. Pots provar d'iniciar sessió o canviar de directori.
L'accés a aquesta pàgina requereix autorització. Pots provar de canviar directoris.
Nota
Les característiques de visualització prèvia no estan dissenyades per a un entorn de producció i poden tenir una funcionalitat restringida. Aquestes característiques estan disponibles abans d’un llançament oficial de producte per tal que els clients el puguin utilitzar abans i enviar-nos els seus comentaris.
Provar aplicacions basades en IA presenta reptes únics perquè les sortides d'IA poden variar entre execucions, fins i tot amb entrades idèntiques. Aquest comportament no determinista requereix enfocaments especials de prova. Aquesta guia explica com validar els components d'IA a les vostres Power Platform aplicacions de manera eficaç.
Comprensió de les sortides no deterministes
Les proves tradicionals es basen en entrades deterministes que produeixen resultats consistents. No obstant això, els sistemes d'IA sovint produeixen resultats lleugerament diferents cada vegada a causa de:
- Configuració de temperatura del model i mètodes de mostreig
- Selecció de diferents versions de models
- Variacions menors en el processament del llenguatge natural
- Puntuacions de confiança que fluctuen dins dels rangs normals
- Raonament dependent del context que pot prendre camins diferents
Estratègies per provar la IA no determinista
Power Apps Test Engine proporciona diverses estratègies per provar eficaçment els components impulsats per IA:
Utilitzar la funció Preview.AIExecutePrompt
La funció Preview.AIExecutePrompt permet l'execució controlada de sol·licituds d'IA dins de les proves. L'exemple següent mostra com utilitzar-lo:
Response: ParseJSON(
Preview.AIExecutePrompt("CustomPrompt",
{
Context: "You are a helpful assistant.",
Question: "What is the capital of France?"
}).Text)
Aquest enfocament us permet:
- Executar indicacions amb entrades controlades
- Analitzar i validar respostes estructurades
- Comparar els resultats amb els valors esperats
Implementar la validació basada en toleràncies
En lloc d'esperar coincidències exactes, verifiqueu que les sortides compleixin els criteris dins dels llindars acceptables. El codi següent és un exemple:
// Validate that the sentiment score is within appropriate range
Assert(Response.SentimentScore >= 0.7, "Sentiment score should be positive")
Proveu la funcionalitat bàsica en lloc de les sortides exactes
Centra les proves en validar que el component d'IA compleix el seu propòsit essencial, tal com es mostra a l'exemple següent:
// 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"
)
Utilitzar la validació estructural per a sortides complexes
Per a respostes complexes d'IA, valideu l'estructura de resposta en lloc de contingut específic, tal com es mostra a l'exemple següent:
// 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")
Ús de Preview.AIExecutePrompt
El motor de proves proporciona la funció Preview.AIExecutePrompt específicament per provar les interaccions d'IA .
Signatura de funció
Preview.AIExecutePrompt(
PromptName: Text,
PromptContext: Record
): Record
Paràmetres
- PromptName: el nom de la plantilla de sol·licitud que s'utilitzarà
-
PromptContext: dades de context per a la sol·licitud, que normalment contenen:
- Context o missatge del sistema
- Preguntes o aportacions de l'usuari
- Qualsevol altre paràmetre per al model
Valor de retorn
Un registre que contingui:
- Text: el text de resposta en brut
- Altres propietats en funció de la plantilla i el model de sol·licitud
Habilitació de la funció
Per utilitzar aquesta funció, activeu el mòdul de funcions d'IA a la configuració de prova:
testSettings:
extensionModules:
enable: true
parameters:
enableAIFunctions: true
Exemple: prova d'un component d'anàlisi de sentiments
L'exemple següent mostra provar una funció d'anàlisi de sentiments impulsada per IA:
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)
})
Exemple: IA d'avaluació de la classificació
L'exemple següent demostra l'ús per Preview.AIExecutePrompt provar un sistema de classificació impulsat per IA:
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}
))
Podeu explorar una implementació completa a l'exemple de sol·licitud d'IA.
Pràctiques recomanades per a les proves de components d'IA
Per crear proves efectives per a components basats en IA:
- Definiu intervals acceptables en lloc de valors exactes per a sortides numèriques
- Crear baranes per verificar que les sortides compleixen els requisits estructurals
- Prova amb diverses entrades , inclosos casos límit i condicions límit
- Incloeu casos de prova negatius per garantir que la IA gestioni les entrades no vàlides de manera adequada
- Segmentar les proves per funcionalitat en lloc de contingut específic
- Utilitzeu toleràncies adequades en funció de la criticitat del component
Patrons comuns per a les proves d'IA
Els exemples següents il·lustren enfocaments comuns per provar funcions basades en IA en Power Platform aplicacions. Aquests patrons us ajuden a validar la classificació del contingut, les condicions de límit i altres escenaris on les sortides de la IA poden variar.
Proves de classificació de contingut
// 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"
))
Proves de límits
// 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"
))
Articles relacionats
Aprèn sobre les funcions de prova Power Fx
Exploreu la creació de proves assistida per IA
Entendre el protocol de context del model
Navega pel catàleg de mostres del motor de proves