หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
หมายเหตุ
คุณลักษณะการแสดงตัวอย่างไม่ได้มีไว้สำหรับการนำไปใช้งานจริง และอาจมีการจำกัดฟังก์ชันการทำงาน คุณลักษณะเหล่านี้สามารถใช้ได้ก่อนการเปิดตัวอย่างเป็นทางการ เพื่อให้ลูกค้าสามารถเข้าใช้งานได้ก่อนเวลาและให้ข้อคิดเห็น
การทดสอบแอปพลิเคชันที่ขับเคลื่อนด้วย AI นำมาซึ่งความท้าทายที่ไม่เหมือนใคร เนื่องจากผลลัพธ์ของ AI อาจแตกต่างกันไปในแต่ละรอบ แม้ว่าอินพุตจะเป็นแบบเดียวกันก็ตาม พฤติกรรมที่ไม่แน่นอนนี้ต้องใช้แนวทางการทดสอบพิเศษ คู่มือนี้จะอธิบายวิธีการตรวจสอบส่วนประกอบ AI ในแอปพลิเคชันของคุณอย่างมีประสิทธิภาพ Power Platform
การทำความเข้าใจผลลัพธ์ที่ไม่แน่นอน
การทดสอบแบบดั้งเดิมจะอาศัยข้อมูลอินพุตแบบกำหนดผลลัพธ์ให้สม่ำเสมอ อย่างไรก็ตาม ระบบ AI มักจะให้ผลลัพธ์ที่แตกต่างกันเล็กน้อยในแต่ละครั้งเนื่องจาก:
- การตั้งค่าอุณหภูมิแบบจำลองและวิธีการสุ่มตัวอย่าง
- การเลือกรุ่นรุ่นที่แตกต่างกัน
- การเปลี่ยนแปลงเล็กน้อยในการประมวลผลภาษาธรรมชาติ
- คะแนนความเชื่อมั่นที่ผันผวนอยู่ในช่วงปกติ
- การใช้เหตุผลตามบริบทซึ่งอาจใช้เส้นทางที่แตกต่างกัน
กลยุทธ์สำหรับการทดสอบ AI ที่ไม่กำหนดแน่นอน
Power Apps Test Engine นำเสนอกลยุทธ์หลายประการสำหรับการทดสอบส่วนประกอบที่ขับเคลื่อนด้วย AI อย่างมีประสิทธิภาพ:
ใช้ฟังก์ชัน Preview.AIExecutePrompt
ฟังก์ชัน Preview.AIExecutePrompt ช่วยให้สามารถควบคุมการดำเนินการตามคำสั่ง AI ภายในการทดสอบของคุณได้ ตัวอย่างต่อไปนี้สาธิตวิธีการใช้งาน:
Response: ParseJSON(
Preview.AIExecutePrompt("CustomPrompt",
{
Context: "You are a helpful assistant.",
Question: "What is the capital of France?"
}).Text)
แนวทางนี้ช่วยให้คุณสามารถ:
- ดำเนินการแจ้งเตือนด้วยอินพุตที่ควบคุม
- วิเคราะห์และตรวจสอบคำตอบที่มีโครงสร้าง
- เปรียบเทียบผลลัพธ์กับค่าที่คาดหวัง
การนำการตรวจสอบตามค่าความคลาดเคลื่อนมาใช้
แทนที่จะคาดหวังการจับคู่ที่ตรงกัน ให้ตรวจสอบว่าเอาท์พุตตรงตามเกณฑ์ภายในขีดจำกัดที่ยอมรับได้ โค้ดต่อไปนี้เป็นตัวอย่าง:
// Validate that the sentiment score is within appropriate range
Assert(Response.SentimentScore >= 0.7, "Sentiment score should be positive")
ทดสอบฟังก์ชันหลักมากกว่าผลลัพธ์ที่แน่นอน
ทดสอบโฟกัสในการตรวจสอบว่าส่วนประกอบ AI บรรลุวัตถุประสงค์ที่สำคัญดังที่แสดงในตัวอย่างต่อไปนี้:
// 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"
)
ใช้การตรวจสอบโครงสร้างสำหรับผลลัพธ์ที่ซับซ้อน
สำหรับการตอบสนอง AI ที่ซับซ้อน ให้ตรวจสอบโครงสร้างการตอบสนองแทนเนื้อหาเฉพาะดังที่แสดงในตัวอย่างต่อไปนี้:
// 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
Test Engine จัดให้มีฟังก์ชัน Preview.AIExecutePrompt โดยเฉพาะสำหรับการทดสอบการโต้ตอบของ AI
ลายเซ็นฟังก์ชัน
Preview.AIExecutePrompt(
PromptName: Text,
PromptContext: Record
): Record
พารามิเตอร์
- PromptName: ชื่อของเทมเพลตพรอมต์ที่จะใช้
-
PromptContext: ข้อมูลบริบทสำหรับพรอมต์ โดยทั่วไปประกอบด้วย:
- บริบทหรือข้อความระบบ
- คำถามหรือข้อมูลจากผู้ใช้
- พารามิเตอร์อื่น ๆ สำหรับโมเดล
ค่าที่ส่งกลับ
บันทึกที่มีเนื้อหา:
- ข้อความ: ข้อความตอบกลับแบบดิบ
- คุณสมบัติอื่น ๆ ขึ้นอยู่กับเทมเพลตและรุ่นของพรอมต์
การเปิดใช้งานฟังก์ชั่น
ในการใช้ฟังก์ชันนี้ ให้เปิดใช้งานโมดูลฟังก์ชัน AI ในการตั้งค่าการทดสอบของคุณ:
testSettings:
extensionModules:
enable: true
parameters:
enableAIFunctions: true
ตัวอย่าง: การทดสอบส่วนประกอบการวิเคราะห์ความรู้สึก
ตัวอย่างต่อไปนี้สาธิตการทดสอบฟีเจอร์การวิเคราะห์ความรู้สึกที่ขับเคลื่อนด้วย AI:
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)
})
ตัวอย่าง: การประเมินคะแนน AI
ตัวอย่างต่อไปนี้สาธิตการใช้ Preview.AIExecutePrompt เพื่อทดสอบระบบการให้คะแนนที่ขับเคลื่อนด้วย AI:
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}
))
คุณสามารถสำรวจการใช้งานที่สมบูรณ์ได้ใน ตัวอย่าง AI Prompt
แนวทางปฏิบัติที่ดีที่สุดสำหรับการทดสอบส่วนประกอบ AI
เพื่อสร้างการทดสอบที่มีประสิทธิภาพสำหรับส่วนประกอบที่ขับเคลื่อนด้วย AI:
- กำหนดช่วงที่ยอมรับได้ แทนค่าที่แน่นอนสำหรับผลลัพธ์ตัวเลข
- สร้างราวกั้น เพื่อตรวจสอบว่าเอาต์พุตตรงตามข้อกำหนดด้านโครงสร้าง
- ทดสอบด้วยอินพุตที่หลากหลาย รวมถึงกรณีขอบและเงื่อนไขขอบเขต
- รวมกรณีทดสอบเชิงลบ เพื่อให้แน่ใจว่า AI จัดการอินพุตที่ไม่ถูกต้องอย่างเหมาะสม
- แบ่งกลุ่มการทดสอบของคุณ ตามฟังก์ชันการทำงานมากกว่าเนื้อหาเฉพาะ
- ใช้ค่าความคลาดเคลื่อนที่เหมาะสม ตามความสำคัญของส่วนประกอบ
รูปแบบทั่วไปสำหรับการทดสอบ AI
ตัวอย่างต่อไปนี้แสดงให้เห็นแนวทางทั่วไปในการทดสอบฟีเจอร์ที่ขับเคลื่อนด้วย AI ในแอปพลิเคชัน Power Platform รูปแบบเหล่านี้ช่วยให้คุณตรวจสอบความถูกต้องของการจัดประเภทเนื้อหา เงื่อนไขขอบเขต และสถานการณ์อื่นๆ ที่ผลลัพธ์ของ AI อาจแตกต่างกันไป
การทดสอบการจำแนกเนื้อหา
// 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"
))
การทดสอบขอบเขต
// 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"
))
บทความที่เกี่ยวข้อง
เรียนรู้เกี่ยวกับฟังก์ชันการทดสอบ Power Fx
สำรวจการเขียนการทดสอบด้วยความช่วยเหลือของ AI
ทำความเข้าใจโปรโตคอลบริบทของโมเดล
เรียกดูแคตตาล็อกตัวอย่างเครื่องมือทดสอบ