Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wichtig
Sie müssen Teil des Frontier-Vorschauversionsprogramms sein, um Vorabzugriff auf Microsoft Agent 365 zu erhalten. Frontier verbindet Sie direkt mit den neuesten KI-Innovationen von Microsoft. Frontier-Vorschauversionen unterliegen den bestehenden Vorschauversionsbedingungen Ihrer Kundenvereinbarungen. Da sich diese Funktionen noch in der Entwicklung befinden, können sich ihre Verfügbarkeit und Merkmale im Laufe der Zeit ändern.
Mit dem Benachrichtigungsmodul können Entwickler Agents erstellen, die auf Ereignisse und Benachrichtigungen von Microsoft 365-Anwendungen reagieren können. Mit Unterstützung von Benachrichtigungen können Agents Warnungen empfangen und verarbeiten, wenn Benutzer über E-Mails, Dokumentkommentare oder andere Szenarien für die Zusammenarbeit mit ihnen interagieren.
Benachrichtigungs-Workflow
Folgen Sie diesem Workflow, um Benachrichtigungen für Ihre KI-Agent-Anwendung zu aktivieren:
Importieren von Benachrichtigungskomponenten
- Importieren von Benachrichtigungsklassen und -handlern
- Importieren von Aktivitätstypen und Kanalbezeichnern
Registrieren von Benachrichtigungshandlern
- Verwenden von Benachrichtigungshandlermethoden zum Registrieren von Routen
- Konfigurieren von Handlern für bestimmte Benachrichtigungstypen (z. B. E-Mail, Word, Excel, PowerPoint)
Verarbeiten von Benachrichtigungen im Agentcode
- Agent empfängt Benachrichtigungen von Microsoft 365-Anwendungen
- Behandeln eingehender Benachrichtigungen und geeignetes Antworten
Benachrichtigungstypen
Das Agents 365 SDK unterstützt die folgenden Benachrichtigungstypen:
| Benachrichtigungstyp | Beschreibung des Dataflows | Unterkanal-ID |
|---|---|---|
| Agent empfängt eine E-Mail, in der sie erwähnt oder adressiert werden | email |
|
| Word | Agent wird in einem Kommentar in einem Word-Dokument erwähnt | word |
| Excel | Agent wird in einem Kommentar in einem Excel-Dokument erwähnt | excel |
| PowerPoint | Agent wird in einem Kommentar in einem PowerPoint-Dokument erwähnt | powerpoint |
| Lebenszyklusereignisse | Agent-Lebenszyklusbenachrichtigungen (Benutzeridentität erstellt, Workload-Onboarding, Benutzer gelöscht) | NICHT ZUTREFFEND |
Agent-Lebenszyklusereignisse
Agent-Lebenszyklusereignisse ermöglichen es Ihrem Agent, auf bestimmte Systemereignisse im Zusammenhang mit der agentischen Benutzeridentitätsverwaltung zu reagieren. Das SDK unterstützt derzeit drei Lebenszyklusereignisse:
| Veranstaltungstyp | Ereignis-ID | Beschreibung des Dataflows |
|---|---|---|
| Benutzeridentität erstellt | agenticUserIdentityCreated |
Wird ausgelöst, wenn eine Agent-Benutzeridentität erstellt wird |
| Workload-Onboarding aktualisiert | agenticUserWorkloadOnboardingUpdated |
Wird ausgelöst, wenn der Onboarding-Status eines Agent-Benutzers aktualisiert wird |
| Benutzer gelöscht | agenticUserDeleted |
Wird ausgelöst, wenn eine Agent-Benutzeridentität gelöscht wird |
Diese Ereignisse ermöglichen es Agents, Initialisierungsaufgaben, Bereinigungsvorgänge oder Zustandsverwaltung als Reaktion auf Änderungen des Benutzerlebenszyklus auszuführen.
Hinzufügen von Benachrichtigungen zu Ihrem Agent
Führen Sie die folgenden Schritte aus, um die Benachrichtigungsverarbeitung in Ihrem vorhandenen Agent zu aktivieren:
Importieren von Benachrichtigungskomponenten
Fügen Sie diese Importe zu Ihrer Agentdatei hinzu:
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
- AgentApplication: Basisklasse zum Erstellen von Agent365-Anwendungen; bietet Kernfunktionen für Routingaktivitäten, verwalten des Zustands und Verarbeiten von Anforderungen
-
AgentNotification: Klasse zum Registrieren von Benachrichtigungshandlern mit Dekoriermethoden. Bietet
on_agent_notification(),on_email(),on_word()und andere Komfortdekorierungen -
AgentNotificationActivity: Wrapper mit analysierten Benachrichtigungsdaten mit typisierten Eigenschaften wie
email_notificationundwpx_comment_notification, die benachrichtigungsspezifische Metadaten enthalten (IDs, Details zur Unterhaltung, Dokumente) -
NotificationTypes: Enumeration der unterstützten Benachrichtigungstypen (
EMAIL_NOTIFICATION,WPX_COMMENT,AGENT_LIFECYCLE) -
ChannelId: Wird verwendet, um Benachrichtigungskanäle anzugeben (z. B.
ChannelId(channel="agents", sub_channel="*")) - Autorisierung: Autorisierungskontext für die Verarbeitung von Benachrichtigungen
- TurnContext: Aktueller Unterhaltungskontext aus dem Agents SDK
Registrieren von Benachrichtigungshandlern in Ihrem Agent
Hinzufügen von Benachrichtigungshandlern zur Initialisierung des Agents:
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.')
Implementieren bestimmter Benachrichtigungshandler
Fügen Sie Handlermethoden für jeden Benachrichtigungstyp hinzu:
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
Spezielle Benachrichtigungshandler
Verwenden Sie nach dem Einrichten des grundlegenden Benachrichtigungsroutings spezielle Handlermethoden für eine genauere Steuerung. Diese Methoden bieten Ihnen die folgenden Möglichkeiten:
- Registrieren mehrerer Handler für denselben Benachrichtigungstyp
- Festlegen der Handlerpriorität mit Rangfolge
- Konfigurieren der automatischen Authentifizierung pro Handler
Anmerkung
Für die meisten Anwendungsfälle reicht das generische Handlermuster aus. Verwenden Sie diese speziellen Handler, wenn Sie erweitertes Routing oder mehrere Handler für denselben Benachrichtigungstyp benötigen.
Spezieller Handler für alle Benachrichtigungen
Registrieren Sie weitere Handler, die alle Benachrichtigungstypen verarbeiten:
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}")
Spezieller Handler für E-Mail-Benachrichtigungen
Registrieren Sie weitere Handler speziell für E-Mail-Benachrichtigungen:
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!')
Spezielle Handler für Dokumentkommentare
Registrieren sie weitere Handler für Word-, Excel- und PowerPoint-Kommentarbenachrichtigungen:
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')
Spezielle Handler für Lebenszyklusereignisse
Registrieren Sie weitere Handler für Agent-Lebenszyklusereignisse wie die Erstellung von Benutzeridentitäten, das Workload-Onboarding und das Löschen von Benutzern:
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')
Erweiterte Konfiguration
In diesem Abschnitt werden die erweiterten Konfigurationsoptionen für die Feinabstimmung der Benachrichtigungshandler behandelt. Mit diesen Konfigurationen können Sie die Ausführungsreihenfolge des Handlers steuern, Authentifizierungsanforderungen verwalten und die Benachrichtigungsverarbeitung für komplexe Szenarien optimieren.
Priorität und Rangfolge des Handlers
Wenn Sie mehrere spezialisierte Handler verwenden, können Sie die Prioritätsreihenfolge mithilfe von Rangwerten angeben. Niedrigere Rangwerte weisen auf eine höhere Priorität hin:
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
Authentifizierungshandler
Konfigurieren Sie automatische Anmeldehandler für Benachrichtigungen, für die eine Authentifizierung erforderlich ist:
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
Testen und überwachen
Testen Ihres Agents mit Benachrichtigungen
Testen Sie den Agent nach der Implementierung von Benachrichtigungshandlern, um sicherzustellen, dass er ordnungsgemäß empfängt und verschiedene Benachrichtigungstypen verarbeitet. Folgen Sie der Anleitung zum Testen, um Ihre Umgebung einzurichten. Konzentrieren Sie sich dann vor allem auf den Abschnitt Test mit Benachrichtigungsaktivitäten, um Ihre Benachrichtigungen mithilfe der agentischen Authentifizierung zu validieren.
Überwachen der Benachrichtigungsverarbeitung
Überwachen Sie die Benachrichtigungsbehandlung Ihres Agents, indem Sie Einblick-Funktionen hinzufügen. Verfolgen Sie die Benachrichtigungsverarbeitung, Antwortzeiten und Fehlerraten, um die Leistung des Agents zu verstehen. Weitere Informationen zur Implementierung von Ablaufverfolgung und Überwachung