Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önemli
Microsoft Agent 365'e erken erişim elde etmek için Frontier önizleme programının bir parçası olmanız gerekir. Frontier sizi Doğrudan Microsoft'un en son yapay zeka yenilikleri ile bağlar. Sınır önizlemeleri, müşteri sözleşmelerinizin mevcut önizleme koşullarına tabidir. Bu özellikler hala geliştirme aşamasında olduğundan, bunların kullanılabilirliği ve özellikleri zaman içinde değişebilir.
Bildirimler modülü, geliştiricilerin Microsoft 365 uygulamalarından gelen olaylara ve bildirimlere yanıt verebilen aracılar oluşturmasına olanak tanır. Bildirimler desteğiyle, kullanıcılar e-posta, belge açıklamaları veya diğer işbirliğine dayalı senaryolar aracılığıyla onlarla etkileşime geçtiğinde aracılar uyarı alabilir ve bunları işleyebilir.
Bildirimler iş akışı
Yapay zeka aracısı uygulamanız için bildirimleri etkinleştirmek için bu iş akışını izleyin:
Bildirim paketlerini yükleyin.
Bildirim bileşenlerini içeri aktarma
- Bildirim sınıflarını ve işleyicilerini içeri aktarma
- Etkinlik türlerini ve kanal tanımlayıcılarını içeri aktarma
Bildirim işleyicilerini kaydetme
- Yolları kaydetmek için bildirim işleyicisi yöntemlerini kullanma
- Belirli bildirim türleri için işleyicileri yapılandırma (Örneğin: e-posta, Word, Excel, PowerPoint)
Aracı kodunda bildirimleri işleme
- Aracı, Microsoft 365 uygulamalarından bildirim alır
- Gelen bildirimleri işleme ve uygun şekilde yanıtlama
Bildirim türleri
, aşağıdaki bildirim türlerini destekler.
| Bildirim Türü | Description | Alt Kanal Kimliği |
|---|---|---|
| E-posta | Aracı, bahsedildiği veya adreslendiği bir e-posta alır | email |
| Kelime | Aracı, Word belgesindeki bir yorumda belirtilir | word |
| Excel | Aracı, Excel belgesindeki bir açıklamada belirtilir | excel |
| PowerPoint 2021 | Aracı, PowerPoint belgesindeki bir açıklamada belirtilir | powerpoint |
| Yaşam Döngüsü Olayları | Aracı yaşam döngüsü bildirimleri (kullanıcı kimliği oluşturuldu, iş yükü ekleme, kullanıcı silindi) | Geçersiz |
Aracı yaşam döngüsü olayları
Aracı yaşam döngüsü olayları, aracınızın aracılı kullanıcı kimliği yönetimiyle ilgili belirli sistem olaylarına yanıt vermesini sağlar. SDK şu anda üç yaşam döngüsü olayını destekler:
| Etkinlik Türü | Olay Kimliği | Description |
|---|---|---|
| Kullanıcı Kimliği Oluşturuldu | agenticUserIdentityCreated |
Aracı kullanıcı kimliği oluşturulduğunda tetikleniyor |
| İş Yükü Ekleme Güncelleştirildi | agenticUserWorkloadOnboardingUpdated |
Aracı kullanıcının iş yükü ekleme durumu güncelleştirildiğinde tetiklendi |
| Kullanıcı Silindi | agenticUserDeleted |
Aracı kullanıcı kimliği silindiğinde tetikleniyor |
Bu olaylar, aracıların kullanıcı yaşam döngüsü değişikliklerine yanıt olarak başlatma görevleri, temizleme işlemleri veya durum yönetimi gerçekleştirmesine olanak tanır.
Temsilcinize Bildirim Ekleme
Mevcut aracınızda bildirim işlemeyi etkinleştirmek için şu adımları izleyin:
Bildirim bileşenlerini içeri aktarma
Aracı dosyanıza şu içeri aktarmaları ekleyin:
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: Agent365 uygulamaları oluşturmaya yönelik temel sınıf; yönlendirme etkinlikleri, yönetim durumu ve istekleri işleme için temel işlevsellik sağlar
-
AgentNotification: Bildirim işleyicilerini dekoratör yöntemleriyle kaydetme sınıfı.
on_agent_notification(),on_email(),on_word()ve diğer kolaylık dekoratörleri sağlar -
AgentNotificationActivity: Bildirime özgü meta verileri (kimlikler, konuşma ayrıntıları, belge başvuruları) içeren ve
wpx_comment_notificationgibiemail_notificationyazılan özelliklere sahip ayrıştırılmış bildirim verilerini içeren sarmalayıcı -
NotificationTypes: Desteklenen bildirim türlerinin sabit listesi (
EMAIL_NOTIFICATION,WPX_COMMENT,AGENT_LIFECYCLE) -
ChannelId: Bildirim kanallarını belirtmek için kullanılır (ör.
ChannelId(channel="agents", sub_channel="*")) - Yetkilendirme: Bildirimleri işlemek için yetkilendirme bağlamı
- TurnContext: Geçerli konuşma Aracılar SDK'sından bağlamı döndür
Aracınıza bildirim işleyicilerini kaydetme
Aracınızın başlatılmasına bildirim işleyicileri ekleyin:
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.')
Belirli bildirim işleyicilerini uygulama
Her bildirim türü için işleyici yöntemleri ekleyin:
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
Özel Bildirim İşleyicileri
Temel bildirim yönlendirmesini ayarladıktan sonra daha ayrıntılı denetim için özel işleyici yöntemlerini kullanın. Bu yöntemler şunları yapmanızı sağlar:
- Aynı bildirim türü için birden çok işleyici kaydetme
- İşleyici önceliğini derecelendirme ile ayarlama
- İşleyici başına otomatik kimlik doğrulamayı yapılandırma
Not
Çoğu kullanım örneği için genel işleyici deseni yeterlidir. Aynı bildirim türü için gelişmiş yönlendirmeye veya birden çok işleyiciye ihtiyacınız olduğunda bu özel işleyicileri kullanın.
Tüm bildirimler için özel işleyici
Tüm bildirim türlerini işleyen daha fazla işleyici kaydedin:
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}")
E-posta bildirimleri için özel işleyici
Özellikle e-posta bildirimleri için daha fazla işleyici kaydedin:
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!')
Belge açıklamaları için özel işleyiciler
Word, Excel ve PowerPoint açıklama bildirimleri için daha fazla işleyici kaydedin:
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')
Yaşam döngüsü olayları için özel işleyiciler
Kullanıcı kimliği oluşturma, iş yükü ekleme ve kullanıcı silme gibi aracı yaşam döngüsü olayları için daha fazla işleyici kaydedin:
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')
Gelişmiş yapılandırma
Bu bölüm, bildirim işleyicilerinizde ince ayarlamalar yapmak için gelişmiş yapılandırma seçeneklerini kapsar. Bu yapılandırmalar, işleyici yürütme sırasını denetlemenize, kimlik doğrulama gereksinimlerini yönetmenize ve karmaşık senaryolar için bildirim işlemeyi iyileştirmenize olanak tanır.
İşleyici önceliği ve derecelendirmesi
Birden çok özel işleyici kullanırken, sıralama değerlerini kullanarak öncelik sırasını belirtebilirsiniz. Düşük değerler daha yüksek önceliğe işaret eder.
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
Kimlik doğrulama işleyicileri
Kimlik doğrulaması gerektiren bildirimler için otomatik oturum açma işleyicilerini yapılandırın:
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
Test etme ve izleme
Aracınızı bildirimlerle test edin
Bildirim işleyicilerini uyguladıktan sonra aracınızı test ederek farklı bildirim türlerini doğru şekilde aldığından ve işlediğine emin olun. Ortamınızı ayarlamak için test kılavuzunu izleyin, ardından aracı kimlik doğrulamasını kullanarak bildirimlerinizi doğrulamak için öncelikle Bildirim etkinlikleriyle test etme bölümüne odaklanın.
Bildirim işlemeyi izleme
Gözlemlenebilirlik özellikleri ekleyerek aracınızın bildirim işlemesini izleyin. Aracı performansını anlamak için bildirim işlemeyi, yanıt sürelerini ve hata oranlarını izleyin. İzleme ve izleme uygulama hakkında daha fazla bilgi edinin