หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
สำคัญ
คุณจําเป็นต้องเป็นส่วนหนึ่งของโปรแกรมการแสดงตัวอย่าง Frontier เพื่อเข้าถึง Microsoft Agent 365 ก่อน Frontier เชื่อมต่อคุณโดยตรงกับนวัตกรรม AI ล่าสุดของ Microsoft การแสดงตัวอย่างในส่วนหน้าจะต้องอยู่ภายใต้ข้อกําหนดการแสดงตัวอย่างที่มีอยู่ของข้อตกลงของลูกค้าของคุณ เนื่องจากคุณลักษณะเหล่านี้ยังคงอยู่ในการพัฒนา ความพร้อมใช้งานและความสามารถของพวกเขาอาจเปลี่ยนแปลงเมื่อเวลาผ่านไป
โมดูลการแจ้งเตือนช่วยให้นักพัฒนาสามารถสร้างตัวแทนที่สามารถตอบสนองต่อเหตุการณ์และการแจ้งเตือนจากแอปพลิเคชัน Microsoft 365 ได้ ด้วยการสนับสนุนการแจ้งเตือน ตัวแทนสามารถรับและประมวลผลการแจ้งเตือนเมื่อผู้ใช้โต้ตอบกับพวกเขาผ่านทางอีเมล ข้อคิดเห็นเอกสาร หรือสถานการณ์การทํางานร่วมกันอื่นๆ
เวิร์กโฟลว์การแจ้งเตือน
ปฏิบัติตามขั้นตอนการทํางานนี้เพื่อเปิดใช้งานการแจ้งเตือนสําหรับแอปพลิเคชันตัวแทน AI ของคุณ:
ติดตั้งแพคเกจการแจ้งเตือน
นําเข้าคอมโพเนนต์การแจ้งเตือน
- นําเข้าคลาสและตัวจัดการการแจ้งเตือน
- นําเข้าชนิดกิจกรรมและตัวระบุแชนเนล
ลงทะเบียนตัวจัดการการแจ้งเตือน
- ใช้วิธีการของตัวจัดการการแจ้งเตือนเพื่อลงทะเบียนเส้นทาง
- กําหนดค่าตัวจัดการสําหรับชนิดการแจ้งเตือนเฉพาะ (ตัวอย่างเช่น: อีเมล, Word, Excel, PowerPoint)
ประมวลผลการแจ้งเตือนในรหัสตัวแทน
- ตัวแทนได้รับการแจ้งเตือนจากแอปพลิเคชัน Microsoft 365
- จัดการการแจ้งเตือนที่เข้ามาและตอบสนองอย่างเหมาะสม
ชนิดการแจ้งเตือน
สนับสนุนชนิดการแจ้งเตือนต่อไปนี้
| ชนิดการแจ้งเตือน | รายละเอียด | ID แชนเนลย่อย |
|---|---|---|
| อีเมล | ตัวแทนได้รับอีเมลที่กล่าวถึงหรือได้รับการแก้ไข | email |
| คำ | ตัวแทนถูกกล่าวถึงในเอกสาร Word ในข้อคิดเห็น | word |
| ยอดเยี่ยม | ตัวแทนถูกกล่าวถึงในเอกสาร Excel เกี่ยวกับข้อคิดเห็น | excel |
| PowerPoint 2021 | ตัวแทนถูกกล่าวถึงในเอกสาร PowerPoint ข้อคิดเห็น | powerpoint |
| เหตุการณ์วงจรชีวิต | การแจ้งเตือนวงจรชีวิตของตัวแทน (ข้อมูลประจําตัวของผู้ใช้ที่สร้างขึ้น การออนบอร์ดปริมาณงาน การลบผู้ใช้) | ไม่ระบุ |
เหตุการณ์วงจรชีวิตของตัวแทน
เหตุการณ์วงจรชีวิตของตัวแทนช่วยให้ตัวแทนของคุณตอบสนองต่อเหตุการณ์ของระบบเฉพาะที่เกี่ยวข้องกับการจัดการข้อมูลเอกลักษณ์ของผู้ใช้ที่เป็นตัวแทน ปัจจุบัน SDK สนับสนุนเหตุการณ์วงจรชีวิตสามรายการ:
| ประเภทกิจกรรม | รหัสเหตุการณ์ | รายละเอียด |
|---|---|---|
| ข้อมูลประจําตัวของผู้ใช้ที่สร้างขึ้น | agenticUserIdentityCreated |
ถูกทริกเกอร์เมื่อมีการสร้างข้อมูลประจําตัวผู้ใช้ที่เป็นตัวแทน |
| อัปเดตการออนบอร์ดปริมาณงาน | agenticUserWorkloadOnboardingUpdated |
ถูกทริกเกอร์เมื่อมีการอัปเดตสถานะการออนบอร์ดปริมาณงานของผู้ใช้ที่เป็นตัวแทน |
| ลบผู้ใช้แล้ว | agenticUserDeleted |
ถูกทริกเกอร์เมื่อมีการลบข้อมูลประจําตัวผู้ใช้ที่เป็นตัวแทน |
เหตุการณ์เหล่านี้ช่วยให้ตัวแทนสามารถดําเนินงานการเตรียมใช้งาน การดําเนินการล้างข้อมูล หรือการจัดการสถานะเพื่อตอบสนองต่อการเปลี่ยนแปลงวงจรชีวิตของผู้ใช้
เพิ่มการแจ้งเตือนให้เจ้าหน้าที่ของคุณ
ทําตามขั้นตอนเหล่านี้เพื่อเปิดใช้งานการจัดการการแจ้งเตือนในตัวแทนที่มีอยู่ของคุณ:
นําเข้าคอมโพเนนต์การแจ้งเตือน
เพิ่มการนําเข้าเหล่านี้ไปยังไฟล์ตัวแทนของคุณ:
from microsoft_agents_a365 import AgentApplication
from microsoft_agents_a365.notifications import (
AgentNotification,
AgentNotificationActivity,
NotificationTypes
)
from microsoft_agents.activity import ChannelId
from microsoft_agents.hosting.core import Authorization, TurnContext
- แอปพลิเคชันตัวแทน: ระดับพื้นฐานสําหรับการสร้างแอปพลิเคชันตัวแทนที่ 365 มีฟังก์ชันการทํางานหลักสําหรับกิจกรรมการกําหนดเส้นทาง จัดการสถานะ และการประมวลผลคําขอ
-
AgentNotification: คลาสสําหรับการลงทะเบียนตัวจัดการการแจ้งเตือนด้วยวิธีการของตกแต่ง
on_email()มีon_agent_notification()ตกแต่งon_word()และอื่น ๆ ที่สะดวกสบาย -
AgentNotificationActivity: Wrapper ที่ประกอบด้วยข้อมูลการแจ้งเตือนที่แยกวิเคราะห์ด้วยคุณสมบัติที่พิมพ์เช่น
email_notificationและwpx_comment_notificationที่มีเมตาดาต้าเฉพาะสําหรับการแจ้งเตือน (รหัส รายละเอียดการสนทนา การอ้างอิงเอกสาร) -
NotificationTypes: Enum ของชนิดการแจ้งเตือนที่ได้รับการสนับสนุน (
EMAIL_NOTIFICATION,WPX_COMMENT,AGENT_LIFECYCLE) -
ChannelId: ใช้เพื่อระบุช่องการแจ้งเตือน (เช่น
ChannelId(channel="agents", sub_channel="*")) - การอนุญาต: บริบทการอนุญาตสําหรับการแจ้งเตือนการประมวลผล
- TurnContext: บริบทการเปิดการสนทนาปัจจุบันจาก SDK ตัวแทน
ลงทะเบียนตัวจัดการการแจ้งเตือนในตัวแทนของคุณ
เพิ่มตัวจัดการการแจ้งเตือนลงในการเตรียมใช้งานเจ้าหน้าที่ของคุณ:
class YourAgent(AgentApplication):
def __init__(self, app):
# Create notification handler
agent_notification = AgentNotification(app)
# Register handler for all notifications
@agent_notification.on_agent_notification(
ChannelId(channel="agents", sub_channel="*")
)
async def handle_all_notifications(context, state, notification):
# Route based on notification type
if notification.notification_type == NotificationTypes.EMAIL_NOTIFICATION:
await self.handle_email_notification(context, state, notification)
elif notification.notification_type == NotificationTypes.WPX_COMMENT:
await self.handle_comment_notification(context, state, notification)
else:
await context.send_activity('Notification type not yet implemented.')
ใช้ตัวจัดการการแจ้งเตือนเฉพาะ
เพิ่มวิธีการของตัวจัดการสําหรับการแจ้งเตือนแต่ละชนิด:
class YourAgent(AgentApplication):
# ... __init__ from above ...
async def handle_email_notification(self, context, state, notification):
"""Handle email notifications"""
email = notification.email_notification
if not email:
await context.send_activity('No email data found')
return
# Process the email
await context.send_activity(
f'Received email notification. Email ID: {email.id}'
)
# Your email processing logic here
async def handle_comment_notification(self, context, state, notification):
"""Handle document comment notifications"""
comment = notification.wpx_comment_notification
if not comment:
await context.send_activity('No comment data found')
return
# Process the comment
await context.send_activity(
f'Received comment notification. Document ID: {comment.document_id}'
)
# Your comment processing logic here
ตัวจัดการการแจ้งเตือนเฉพาะ
หลังจากตั้งค่า การกําหนดเส้นทางการแจ้งเตือนพื้นฐานแล้ว ให้ใช้วิธีการจัดการเฉพาะสําหรับตัวควบคุมที่แยกย่อยมากขึ้น วิธีการเหล่านี้ช่วยให้คุณสามารถ:
- ลงทะเบียนตัวจัดการหลายรายการสําหรับการแจ้งเตือนชนิดเดียวกัน
- ตั้งค่าลําดับความสําคัญของตัวจัดการด้วยการจัดอันดับ
- กําหนดค่าการรับรองความถูกต้องอัตโนมัติต่อตัวจัดการ
หมายเหตุ
สําหรับกรณีการใช้งานส่วนใหญ่รูปแบบตัวจัดการทั่วไปก็เพียงพอ ใช้ตัวจัดการเฉพาะเหล่านี้เมื่อคุณต้องการการกําหนดเส้นทางขั้นสูงหรือตัวจัดการหลายรายการสําหรับการแจ้งเตือนชนิดเดียวกัน
ตัวจัดการเฉพาะสําหรับการแจ้งเตือนทั้งหมด
ลงทะเบียนตัวจัดการเพิ่มเติมที่ประมวลผลชนิดการแจ้งเตือนทั้งหมด:
from microsoft_agents_a365.notifications import (
AgentNotification,
NotificationTypes
)
from microsoft_agents.activity import ChannelId
# Create notification handler
agent_notification = AgentNotification(app)
# Register handler for all notifications
@agent_notification.on_agent_notification(
ChannelId(channel="agents", sub_channel="*")
)
async def handle_all_notifications(context, state, notification):
if notification.notification_type == NotificationTypes.EMAIL_NOTIFICATION:
if notification.email_notification:
await context.send_activity(f"Received email: {notification.email_notification.id}")
elif notification.notification_type == NotificationTypes.WPX_COMMENT:
if notification.wpx_comment_notification:
await context.send_activity(f"Received comment: {notification.wpx_comment_notification.comment_id}")
ตัวจัดการเฉพาะสําหรับการแจ้งเตือนทางอีเมล
ลงทะเบียนตัวจัดการเพิ่มเติมโดยเฉพาะสําหรับการแจ้งเตือนทางอีเมล:
from microsoft_agents_a365.notifications import AgentNotification
from microsoft_agents.activity import ChannelId, AgentSubChannel
# Create notification handler
agent_notification = AgentNotification(app)
# Use the convenience method for email notifications
@agent_notification.on_email()
async def handle_email(context, state, notification):
email = notification.email_notification
if not email:
await context.send_activity('No email found')
return
# Process the email
email_id = email.id
conversation_id = email.conversation_id
# Send response
await context.send_activity('Thank you for your email!')
ตัวจัดการเฉพาะสําหรับข้อคิดเห็นเอกสาร
ลงทะเบียนตัวจัดการเพิ่มเติมสําหรับการแจ้งเตือนข้อคิดเห็นของ Word, Excel และ PowerPoint:
from microsoft_agents_a365.notifications import AgentNotification
# Create notification handler
agent_notification = AgentNotification(app)
# Use convenience methods for document notifications
@agent_notification.on_word()
async def handle_word(context, state, notification):
comment = notification.wpx_comment_notification
if comment:
document_id = comment.document_id
comment_id = comment.comment_id
await context.send_activity(f'Processing Word comment: {comment_id}')
@agent_notification.on_excel()
async def handle_excel(context, state, notification):
comment = notification.wpx_comment_notification
if comment:
await context.send_activity('Processing Excel comment')
@agent_notification.on_powerpoint()
async def handle_powerpoint(context, state, notification):
comment = notification.wpx_comment_notification
if comment:
await context.send_activity('Processing PowerPoint comment')
ตัวจัดการเฉพาะสําหรับเหตุการณ์วงจรชีวิต
ลงทะเบียนตัวจัดการเพิ่มเติมสําหรับเหตุการณ์วงจรชีวิตตัวแทน เช่น การสร้างข้อมูลประจําตัวของผู้ใช้ การออนบอร์ดปริมาณงาน และการลบผู้ใช้:
from microsoft_agents_a365.notifications import AgentNotification
# Create notification handler
agent_notification = AgentNotification(app)
# Handle all lifecycle events
@agent_notification.on_agent_lifecycle_notification("*")
async def handle_lifecycle(context, state, notification):
lifecycle_notification = notification.agent_lifecycle_notification
if lifecycle_notification:
event_type = lifecycle_notification.lifecycle_event_type
if event_type == "agenticUserIdentityCreated":
await context.send_activity('User identity created')
elif event_type == "agenticUserWorkloadOnboardingUpdated":
await context.send_activity('Workload onboarding completed')
elif event_type == "agenticUserDeleted":
await context.send_activity('User identity deleted')
การกำหนดค่าขั้นสูง
ส่วนนี้ครอบคลุมตัวเลือกการกําหนดค่าขั้นสูงสําหรับการปรับตัวจัดการการแจ้งเตือนของคุณให้เหมาะสม การกําหนดค่าเหล่านี้ช่วยให้คุณสามารถควบคุมลําดับการดําเนินการของตัวจัดการ จัดการข้อกําหนดการรับรองความถูกต้อง และปรับการประมวลผลการแจ้งเตือนให้เหมาะสมสําหรับสถานการณ์ที่ซับซ้อน
ลําดับความสําคัญและการจัดอันดับของตัวจัดการ
เมื่อใช้ตัวจัดการพิเศษหลายตัว คุณสามารถระบุลําดับความสําคัญโดยใช้ค่าอันดับได้ ค่าอันดับที่ต่ํากว่าแสดงลําดับความสําคัญที่สูงกว่า:
from microsoft_agents_a365.notifications import AgentNotification
from microsoft_agents.activity import ChannelId, AgentSubChannel
# Create notification handler
agent_notification = AgentNotification(app)
# Higher priority handler (processed first)
@agent_notification.on_email(rank=100)
async def high_priority_email(context, state, notification):
# Handle with high priority
pass
# Lower priority handler (processed after higher priority)
@agent_notification.on_email(rank=200)
async def low_priority_email(context, state, notification):
# Handle with lower priority
pass
ตัวจัดการการรับรองความถูกต้อง
กําหนดค่าตัวจัดการการลงชื่อเข้าใช้อัตโนมัติสําหรับการแจ้งเตือนที่จําเป็นต้องมีการรับรองความถูกต้อง:
from microsoft_agents_a365.notifications import AgentNotification
from microsoft_agents.activity import ChannelId, AgentSubChannel
# Create notification handler
agent_notification = AgentNotification(app)
# Handler with automatic authentication
@agent_notification.on_email(auto_sign_in_handlers=['agentic'])
async def authenticated_email(context, state, notification):
# Authentication is handled automatically
pass
ทดสอบและตรวจสอบ
ทดสอบตัวแทนของคุณด้วยการแจ้งเตือน
หลังจากใช้ตัวจัดการการแจ้งเตือน ให้ทดสอบตัวแทนของคุณเพื่อให้แน่ใจว่าได้รับและประมวลผลชนิดการแจ้งเตือนที่แตกต่างกันอย่างถูกต้อง ทําตามคําแนะนํา การทดสอบ เพื่อตั้งค่าสภาพแวดล้อมของคุณ จากนั้นมุ่งเน้นไปที่ ส่วน การทดสอบด้วยกิจกรรม การแจ้งเตือน เป็นหลัก เพื่อตรวจสอบความถูกต้องของการแจ้งเตือนของคุณโดยใช้การรับรองความถูกต้องจากตัวแทน
ตรวจสอบการจัดการการแจ้งเตือน
ตรวจสอบการจัดการการแจ้งเตือนของตัวแทนของคุณ โดยการเพิ่มความสามารถในการสังเกต ติดตามการประมวลผลการแจ้งเตือน เวลาการตอบสนอง และอัตราการเกิดข้อผิดพลาดเพื่อทําความเข้าใจประสิทธิภาพของตัวแทน เรียนรู้เพิ่มเติมเกี่ยวกับการใช้งานการติดตามและการตรวจสอบ