Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Fontos
A Microsoft Agent 365-höz való korai hozzáféréshez a Frontier előzetes verziójának részeként kell lennie. A Frontier közvetlenül összekapcsolja Önt a Microsoft legújabb AI-innovációival. Gyakorlati ismereteket szerezhet az úttörő funkciókról, megoszthatja észrevételeit a termékcsapatokkal, és segíthet a mesterséges intelligencia jövőjének alakításában. A Frontier előzetesekre az ügyfélszerződések meglévő előzetes feltételei vonatkoznak. Mivel ezek a funkciók még fejlesztés alatt állnak, rendelkezésre állásuk és képességeik idővel változhatnak."
Az Értesítések modul lehetővé teszi a fejlesztők számára, hogy olyan ügynököket építsenek ki, amelyek képesek reagálni a Microsoft 365-alkalmazások eseményeire és értesítéseire. Az értesítések támogatásával az ügynökök riasztásokat kaphatnak és dolgozhatnak fel, amikor a felhasználók e-mailben, dokumentum-megjegyzésekben vagy más együttműködési forgatókönyvekben kommunikálnak velük.
Értesítések munkafolyamata
Kövesse ezt a munkafolyamatot az AI-ügynökalkalmazás értesítéseinek engedélyezéséhez:
Értesítési összetevők importálása
- Értesítési osztályok és kezelők importálása
- Tevékenységtípusok és csatornaazonosítók importálása
Értesítéskezelők regisztrálása
- Útvonalak regisztrálása értesítéskezelő metódusokkal
- Kezelők konfigurálása adott értesítéstípusokhoz (például e-mail, Word, Excel, PowerPoint)
Értesítések feldolgozása ügynökkódban
- Az ügynök értesítéseket kap a Microsoft 365-alkalmazásoktól
- Bejövő értesítések kezelése és megfelelő válaszadás
Értesítéstípusok
Az Agents 365 SDK a következő értesítési típusokat támogatja:
| Értesítés típusa | Description | Sub-Channel azonosító |
|---|---|---|
| Az ügynök kap egy e-mailt, amelyben megemlítik vagy címezve vannak | email |
|
| Szó | Az ügynök egy Word-dokumentumban lévő megjegyzésben szerepel | word |
| Excel | Az ügynök szerepel egy Megjegyzésben egy Excel-dokumentumban | excel |
| PowerPoint | Az ügynök szerepel egy Megjegyzésben egy PowerPoint-dokumentumban | powerpoint |
| Életciklus-események | Ügynökéletciklus-értesítések (felhasználói identitás létrehozása, számítási feladatok előkészítése, felhasználó által törölt) | N/A |
Ügynök életciklus-eseményei
Az ügynök életciklus-eseményei lehetővé teszik, hogy az ügynök reagáljon a felhasználói identitás kezeléshez kapcsolódó konkrét rendszereseményekre. Az SDK jelenleg három életciklus eseményt támogat:
| Esemény típusa | Eseményazonosító | Description |
|---|---|---|
| Létrehozott felhasználói identitás | agenticUserIdentityCreated |
Ügynöki felhasználói identitás létrehozásakor aktiválódik |
| A számítási feladatok előkészítése frissítve | agenticUserWorkloadOnboardingUpdated |
Az ügynöki felhasználó számítási feladatainak előkészítési állapotának frissítésekor aktiválódik |
| Felhasználó törölve | agenticUserDeleted |
Ügynöki felhasználói identitás törlésekor aktiválódik |
Ezek az események lehetővé teszik az ügynökök számára, hogy inicializálási feladatokat, törlési műveleteket vagy állapotkezelést hajtsanak végre a felhasználói életciklus változásaira válaszul.
Értesítések hozzáadása az ügynökhöz
A meglévő ügynök értesítéskezelésének engedélyezéséhez kövesse az alábbi lépéseket:
Értesítési összetevők importálása
Adja hozzá ezeket az importálásokat az ügynökfájlhoz:
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: Alaposztály Ügynök365-alkalmazások létrehozásához; alapvető funkciókat biztosít az útválasztási tevékenységekhez, az állapotkezeléshez és a kérelmek feldolgozásához
-
AgentNotification: Az értesítéskezelők dekorálási metódusokkal történő regisztrálásának osztálya. Biztosít
on_agent_notification(),on_email(),on_word()és egyéb kényelmi dekorátorok -
AgentNotificationActivity: A beírt tulajdonságokkal
email_notificationwpx_comment_notificationrendelkező és értesítésspecifikus metaadatokat (azonosítókat, beszélgetés részleteit, dokumentumhivatkozásokat) tartalmazó, elemzéssel ellátott értesítési adatokat tartalmazó burkoló -
NotificationTypes: Támogatott értesítéstípusok száma (
EMAIL_NOTIFICATION,WPX_COMMENT,AGENT_LIFECYCLE) -
ChannelId: Értesítési csatornák megadására szolgál (pl.
ChannelId(channel="agents", sub_channel="*")) - Engedélyezés: Engedélyezési környezet az értesítések feldolgozásához
- TurnContext: Az aktuális beszélgetés kontextusa az Ügynökök SDK-ból
Értesítéskezelők regisztrálása az ügynöködben
Értesítéskezelők hozzáadása az ügynök inicializálásához:
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.')
Konkrét értesítéskezelők implementálása
Adjon hozzá kezelő metódusokat az egyes értesítési típusokhoz.
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
Speciális értesítéskezelők
Az alapvető értesítési útválasztás beállítása után speciális kezelőmetszeteket használjon a részletesebb vezérléshez. Ezek a módszerek lehetővé teszik a következők használatát:
- Több kezelő regisztrálása ugyanahhoz az értesítéstípushoz
- Kezelő prioritásának beállítása rangsorolással
- Automatikus hitelesítés konfigurálása kezelőnként
Megjegyzés:
A legtöbb használati esetben elegendő az általános kezelőminta. Ezeket a speciális kezelőket akkor használja, ha speciális útválasztásra vagy ugyanazon értesítéstípushoz több kezelőre van szüksége.
Speciális kezelő az összes értesítéshez
Regisztráljon további kezelőket, amelyek az összes értesítéstípust feldolgozzák:
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}")
Speciális kezelő e-mail-értesítésekhez
További kezelők regisztrálása kifejezetten az e-mail-értesítésekhez:
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!')
Speciális kezelők a dokumentum megjegyzéseihez
További kezelők regisztrálása Word-, Excel- és PowerPoint-megjegyzésértesítésekhez:
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')
Speciális kezelők életciklus-eseményekhez
Regisztráljon további kezelőket az ügynök életciklus-eseményeihez, például a felhasználói identitás létrehozásához, a számítási feladatok előkészítéséhez és a felhasználók törléséhez:
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')
Speciális konfiguráció
Ez a szakasz az értesítéskezelők finomhangolásának speciális konfigurációs lehetőségeit ismerteti. Ezek a konfigurációk lehetővé teszik a kezelő végrehajtási sorrendjének szabályozását, a hitelesítési követelmények kezelését és az értesítések feldolgozásának optimalizálását összetett forgatókönyvekhez.
Kezelő prioritása és rangsorolás
Több specializált kezelő használata esetén rangsorértékekkel adhatja meg a prioritási sorrendet. Az alacsonyabb rangértékek magasabb prioritást jeleznek:
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
Hitelesítési kezelők
Automatikus bejelentkezési kezelők konfigurálása hitelesítést igénylő értesítésekhez:
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
Tesztelés és monitorozás
Az ügynök tesztelése értesítések használatával
Az értesítéskezelők implementálása után tesztelje az ügynököt, hogy megfelelően fogadja és feldolgozza a különböző értesítési típusokat. Kövesse a tesztelési útmutatót a környezet beállításához, majd elsősorban a Tesztelés értesítési tevékenységekkel szakaszra összpontosítva ellenőrizze az értesítéseket ügynöki hitelesítéssel.
Értesítéskezelés figyelése
Megfigyelheti az ügynök értesítési kezelését a megfigyelhetőségi képességek hozzáadásával. Nyomon követheti az értesítések feldolgozását, a válaszidőt és a hibaarányokat az ügynök teljesítményének megértéséhez. További információ a nyomkövetés és a monitorozás implementálásáról