หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
สถานะภายในเอเจนต์จะตามแนวคิดเดียวกันกับแอปพลิเคชันเว็บที่ทันสมัย SDK ของตัวแทนให้แนวคิดนามธรรมบางอย่างสำหรับให้การจัดการสถานะง่ายขึ้น
เช่นเดียวกับเว็บแอป ตัวแทนจะไร้สถานะโดยธรรมชาติ อินสแตนซ์ที่ต่างกันของตัวแทนของคุณอาจจัดการกับการหมุนเวียนใด ๆ ของการสนทนา สําหรับตัวแทนบางราย ความเรียบง่ายนี้จําเป็น—ตัวแทนสามารถทํางานได้โดยไม่มีข้อมูลเพิ่มเติม หรือรับประกันว่าข้อมูลที่จําเป็นจะอยู่ในข้อความขาเข้า สําหรับผู้อื่น สถานะ (เช่น การสนทนาที่เหลืออยู่หรือข้อมูลที่เคยได้รับเกี่ยวกับผู้ใช้งาน) เป็นสิ่งจําเป็นสําหรับตัวแทนที่จะมีการสนทนาที่มีประโยชน์
ทําไมฉันต้องมีรัฐ?
การรักษาสถานะจะช่วยให้ตัวแทนของคุณมีการสนทนาที่มีความหมายมากขึ้นโดยการจดจําบางสิ่งเกี่ยวกับผู้ใช้หรือการสนทนา ตัวอย่างเช่น ถ้าคุณเคยพูดคุยกับผู้ใช้ก่อนหน้านี้ คุณสามารถบันทึกข้อมูลก่อนหน้าเกี่ยวกับพวกเขา เพื่อที่คุณจะได้ไม่ต้องขอข้อมูลอีก ระบบยังเก็บข้อมูลไว้นานกว่าการสนทนาในรอบหนึ่ง เพื่อให้ตัวแทนของคุณเก็บข้อมูลตลอดการสนทนาแบบหลายตา
ตามที่เกี่ยวข้องกับตัวแทน มีเลเยอร์สองสามเลเยอร์เพื่อใช้สถานะ: เลเยอร์ที่เก็บข้อมูล การจัดการสถานะ และ AgentApplication
เลเยอร์ที่เก็บข้อมูล
เริ่มต้นที่แบ็กเอนด์ที่มีการจัดเก็บข้อมูลสถานะจริงคือเลเยอร์ที่เก็บข้อมูล คุณสามารถนึกภาพสิ่งนี้ว่าเป็นที่เก็บข้อมูลจริงของคุณ เช่น ในหน่วยความจํา Azure หรือเซิร์ฟเวอร์ของบุคคลที่สาม
SDK ของตัวแทนประกอบด้วยการดําเนินการบางอย่างสําหรับเลเยอร์ที่เก็บข้อมูล:
ที่เก็บข้อมูลหน่วยความจําใช้ที่เก็บข้อมูลในหน่วยความจําเพื่อวัตถุประสงค์ในการทดสอบ ที่เก็บข้อมูลในหน่วยความจํามีไว้สําหรับการทดสอบภายในเครื่องเท่านั้น เนื่องจากที่เก็บข้อมูลนี้ผันผวนและชั่วคราว ข้อมูลจะถูกล้างทุกครั้งที่ตัวแทนรีสตาร์ต
ที่เก็บข้อมูล Blob Azure เชื่อมต่อกับฐานข้อมูลวัตถุเก็บข้อมูล Azure Blob
Azure Cosmos DB พื้นที่จัดเก็บข้อมูลที่มีการแบ่งพาร์ติชันเชื่อมต่อกับฐานข้อมูล Cosmos DB NoSQL ที่ถูกแบ่งพาร์ติชัน
สําหรับคําแนะนําเกี่ยวกับวิธีการเชื่อมต่อกับตัวเลือกที่เก็บข้อมูลอื่น ๆ ให้ดู ภาพรวมที่เก็บข้อมูล SDK ตัวแทน
การจัดการรัฐ
การจัดการรัฐทําให้การอ่านและการเขียนสถานะตัวแทนของคุณไปยังเลเยอร์ที่เก็บข้อมูลพื้นฐานโดยอัตโนมัติ สถานะถูกจัดเก็บเป็นคุณสมบัติสถานะ ซึ่งเป็นคู่ค่าคีย์อย่างมีประสิทธิภาพที่ตัวแทนของคุณสามารถอ่านและเขียนผ่านวัตถุการจัดการสถานะโดยไม่ต้องกังวลเกี่ยวกับการใช้งานเบื้องต้นโดยเฉพาะ คุณสมบัติสถานะเหล่านั้นกําหนดวิธีการจัดเก็บข้อมูล ตัวอย่างเช่น เมื่อคุณเรียกใช้คุณสมบัติที่คุณกําหนดให้เป็นคลาสหรือออบเจ็กต์เฉพาะ คุณจะทราบว่าข้อมูลนั้นจะถูกจัดโครงสร้างอย่างไร
คุณสมบัติสถานะเหล่านี้จะถูกรวมเป็นกลุ่ม "บักเก็ต" ที่มีขอบเขต ซึ่งเป็นเพียงคอลเลกชันเพื่อช่วยจัดระเบียบคุณสมบัติเหล่านั้น SDK ประกอบด้วย "บักเก็ต" เหล่านี้สามรายการ:
- สถานะผู้ใช้
- ลักษณะของการสนทนา
บักเก็ตเหล่านี้ทั้งหมดเป็นคลาสย่อยของระดับรัฐของตัวแทนซึ่งอาจได้รับมาเพื่อกําหนดบักเก็ตประเภทอื่น ๆ ที่มีขอบเขตที่แตกต่างกัน
บักเก็ตที่ถูกกำหนดไว้ล่วงหน้าเหล่านี้จะมีขอบเขตการมองเห็นที่แตกต่างกันไป ขึ้นอยู่กับแต่ละบักเก็ต
- สถานะผู้ใช้จะพร้อมใช้งานในทางใดก็ตาม ที่เอเย่นต์กําลังถกเถียงกับผู้ใช้ดังกล่าวบนแชนเนลโดยไม่คํานึงถึงการสนทนา
- สถานะการสนทนาจะพร้อมใช้งานในการสนทนาเฉพาะโดยไม่คํานึงถึงผู้ใช้ เช่นในการสนทนากลุ่ม
สถานะผู้ใช้และสถานะการสนทนาจะอยู่ในขอบเขตของช่อง บุคคลเดียวกันที่ใช้ช่องที่แตกต่างกันในการเข้าถึงตัวแทนของคุณจะปรากฏเป็นผู้ใช้ที่แตกต่างกัน ช่องหนึ่งสําหรับแต่ละช่อง และแต่ละช่องมีสถานะผู้ใช้ที่แตกต่างกัน
คีย์ที่ใช้สําหรับบักเก็ตที่กําหนดไว้ล่วงหน้าเหล่านี้จะใช้เฉพาะกับผู้ใช้และการสนทนา หรือตัวแทน เมื่อตั้งค่าคุณสมบัติสถานะของคุณ คีย์จะถูกกําหนดสําหรับคุณภายใน โดยมีข้อมูลที่มีอยู่บนบริบทการหมุนเพื่อให้แน่ใจว่าผู้ใช้หรือการสนทนาแต่ละคนจะถูกวางไว้ในบักเก็ตและคุณสมบัติที่ถูกต้อง โดยเฉพาะอย่างยิ่ง มีการกําหนดคีย์ดังนี้:
- สถานะผู้ใช้จะสร้างคีย์โดยใช้รหัสแชนเนลและรหัสจาก ID ตัวอย่างเช่น
{Activity.ChannelId}/users/{Activity.From.Id}#YourPropertyName - สถานะการสนทนาจะสร้างคีย์โดยใช้ ID ช่องและ ID การสนทนา ตัวอย่างเช่น
{Activity.ChannelId}/conversations/{Activity.Conversation.Id}#YourPropertyName
เมื่อไรที่ควรใช้รัฐแต่ละชนิด
สถานะการสนทนาเหมาะสําหรับการติดตามบริบทของการสนทนา เช่น:
- ว่าเจ้าหน้าที่ได้ถามคำถามกับผู้ใช้หรือไม่ และเป็นคำถามอะไร
- หัวข้อการสนทนาปัจจุบันคืออะไรหรือหัวข้อสุดท้ายคืออะไร
- การบันทึกประวัติการสนทนา
สถานะผู้ใช้เหมาะสําหรับการติดตามข้อมูลเกี่ยวกับผู้ใช้ เช่น:
- ข้อมูลผู้ใช้ที่ไม่สําคัญ เช่น ชื่อและการตั้งค่า การตั้งค่าการแจ้งเตือน หรือการกําหนดลักษณะการแจ้งเตือน
- ข้อมูลเกี่ยวกับการสนทนาครั้งล่าสุดที่พวกเขามีกับตัวแทน
- ตัวอย่างเช่น เจ้าหน้าที่สนับสนุนผลิตภัณฑ์อาจติดตามว่าผู้ใช้ถามผลิตภัณฑ์ใด
แอปพลิเคชันตัวแทน
- ตัวจัดการเส้นทางที่คุณเพิ่มจะมาพร้อมกับ
TurnStateอินสแตนซ์ เข้าถึงการสนทนาหรือสถานะของผู้ใช้จากอินสแตนซ์นี้ - สถานะจะถูกโหลดและบันทึกโดยอัตโนมัติ