次の方法で共有


イベントアクティビティ JSON を解析してエージェントコンテキストを取得する

Dynamics 365 Contact Centerのコンテキストメッセージはイベント活動としてAIエージェントに送信されます。 顧客情報、ライブ作業項目、会話 ID などのコンテキスト情報は、アクティビティ JSON の一部としてエージェントに送信されます。 JSON は、ほとんどのチャネルでは startConversation 型に、音声会話では ConversationUpdate 型にすることができます。

エージェントコード内のエージェントのコンテキストをフェッチして使用する

これらのコンテキストメッセージを処理するには、アクティビティハンドラーを使用し、エージェントコードで上書きします。 アクティビティ ハンドラーの使用方法の詳細については、「 アクティビティ ハンドラーを使用したイベント ドリブンな会話」を参照してください。

次の例では、イベントアクティビティを受信すると、 OnEventActivityAsync メソッドが呼び出され、コンテキストをフェッチして使用します。

namespace Microsoft.CCaaS.MessagingRuntime.TestAgent.Agents;

public class TestAgentApplication : AgentApplication
{
    private readonly IContextManager _contextManager;

    public TestAgentApplication(AgentApplicationOptions options, IContextManager contextManager) : base(options)
    {
        _contextManager = contextManager ?? throw new ArgumentNullException(nameof(contextManager));
        OnConversationUpdate(ConversationUpdateEvents.MembersAdded, OnMembersAddedAsync);
        OnEvent(ActivityTypes.Event, OnEventActivityAsync);
        OnActivity(ActivityTypes.Message, OnMessageActivityAsync, rank: RouteRank.Last);
    }

    protected async Task OnMessageActivityAsync(ITurnContext turnContext, ITurnState turnState, CancellationToken cancellationToken)
    {
        ArgumentNullException.ThrowIfNull(turnContext);
        var text = turnContext.Activity.Text?.ToLower(CultureInfo.InvariantCulture);
        var responseActivity = Activity.CreateMessageActivity();
        Responses.BuildCustomerFileAttachmentResponse(turnContext, responseActivity);
    }
}

次のステップ

アクティビティ JSON を解析するためのコード サンプル

setContextProvider
Azure エージェントの統合