แชร์ผ่าน


แจ้งให้ตัวแทนทราบ

สำคัญ

คุณจําเป็นต้องเป็นส่วนหนึ่งของโปรแกรมการแสดงตัวอย่าง Frontier เพื่อเข้าถึง Microsoft Agent 365 ก่อน Frontier เชื่อมต่อคุณโดยตรงกับนวัตกรรม AI ล่าสุดของ Microsoft การแสดงตัวอย่างในส่วนหน้าจะต้องอยู่ภายใต้ข้อกําหนดการแสดงตัวอย่างที่มีอยู่ของข้อตกลงของลูกค้าของคุณ เนื่องจากคุณลักษณะเหล่านี้ยังคงอยู่ในการพัฒนา ความพร้อมใช้งานและความสามารถของพวกเขาอาจเปลี่ยนแปลงเมื่อเวลาผ่านไป

โมดูลการแจ้งเตือนช่วยให้นักพัฒนาสามารถสร้างตัวแทนที่สามารถตอบสนองต่อเหตุการณ์และการแจ้งเตือนจากแอปพลิเคชัน Microsoft 365 ได้ ด้วยการสนับสนุนการแจ้งเตือน ตัวแทนสามารถรับและประมวลผลการแจ้งเตือนเมื่อผู้ใช้โต้ตอบกับพวกเขาผ่านทางอีเมล ข้อคิดเห็นเอกสาร หรือสถานการณ์การทํางานร่วมกันอื่นๆ

เวิร์กโฟลว์การแจ้งเตือน

ปฏิบัติตามขั้นตอนการทํางานนี้เพื่อเปิดใช้งานการแจ้งเตือนสําหรับแอปพลิเคชันตัวแทน AI ของคุณ:

  1. ติดตั้งแพคเกจการแจ้งเตือน

  2. นําเข้าคอมโพเนนต์การแจ้งเตือน

    • นําเข้าคลาสและตัวจัดการการแจ้งเตือน
    • นําเข้าชนิดกิจกรรมและตัวระบุแชนเนล
  3. ลงทะเบียนตัวจัดการการแจ้งเตือน

    • ใช้วิธีการของตัวจัดการการแจ้งเตือนเพื่อลงทะเบียนเส้นทาง
    • กําหนดค่าตัวจัดการสําหรับชนิดการแจ้งเตือนเฉพาะ (ตัวอย่างเช่น: อีเมล, Word, Excel, PowerPoint)
  4. ประมวลผลการแจ้งเตือนในรหัสตัวแทน

    • ตัวแทนได้รับการแจ้งเตือนจากแอปพลิเคชัน 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

ทดสอบและตรวจสอบ

ทดสอบตัวแทนของคุณด้วยการแจ้งเตือน

หลังจากใช้ตัวจัดการการแจ้งเตือน ให้ทดสอบตัวแทนของคุณเพื่อให้แน่ใจว่าได้รับและประมวลผลชนิดการแจ้งเตือนที่แตกต่างกันอย่างถูกต้อง ทําตามคําแนะนํา การทดสอบ เพื่อตั้งค่าสภาพแวดล้อมของคุณ จากนั้นมุ่งเน้นไปที่ ส่วน การทดสอบด้วยกิจกรรม การแจ้งเตือน เป็นหลัก เพื่อตรวจสอบความถูกต้องของการแจ้งเตือนของคุณโดยใช้การรับรองความถูกต้องจากตัวแทน

ตรวจสอบการจัดการการแจ้งเตือน

ตรวจสอบการจัดการการแจ้งเตือนของตัวแทนของคุณ โดยการเพิ่มความสามารถในการสังเกต ติดตามการประมวลผลการแจ้งเตือน เวลาการตอบสนอง และอัตราการเกิดข้อผิดพลาดเพื่อทําความเข้าใจประสิทธิภาพของตัวแทน เรียนรู้เพิ่มเติมเกี่ยวกับการใช้งานการติดตามและการตรวจสอบ