Kore.ai BotKit SDK는 Kore.ai 봇 플랫폼에서 구축한 봇에 대해 사용자와의 봇 인터렉션을 정밀하게 제어할 수 있는 라이브러리 세트입니다. 봇 빌더에서 대화 편집기를 사용하여 대화 작업을 작성할 때, 이벤트 처리기를 추가하고 SDK를 사용하여 메시지 및 webhook 이벤트를 제어함으로써 메시지 및 webhook 이벤트를 구독할 수 있습니다. 이 주제에서는 BotKit SDK가 봇 플랫폼과 연동하는 방법과 사용할 수 있는 SDK 이벤트, 다운로드 및 BotKit SDK의 설치 지침을 설명합니다. 사용자 질의에 답하고 사용자의 거래를 수행하는 데 도움이 되도록 봇을 구축할 수 있지만, 경우에 따라 봇 인터렉션에서 인간 상담사로 전환하여 사용자가 의도를 완료할 수 있도록 지원해야 할 수도 있습니다. 예:

  • 사용자가 질문을 하거나 봇이 답변할 수 없는 응답을 제공합니다.
  • 사용자는 봇 자체가 아닌 라이브 상담사와의 대화를 직접 요청합니다.
  • 봇 개발자는 특정 조건에 따라 대화 흐름을 기반으로 라이브 상담사 전환을 설계합니다. 예를 들어, 특정 사용자 유형 또는 사용자의 어조 분석을 기반으로, 대화 흐름이 라이브 상담사로 전환되도록 할 수 있습니다.

작동 방식

봇 플랫폼에서 다음 이벤트 유형을 캡처하고 대화 작업에서 BotKit SDK를 사용하여 이벤트 처리를 연동할 수 있습니다.

메시지

Kore.ai 봇 플랫폼에서, 사용자는 봇에 대해 정의된 채널에서 봇과 인터렉션 합니다. 다음 다이어그램에서, Kore.ai 봇 플랫폼, BotKit SDK 및 자연어 처리 엔진을 통한 사용자 메시지 흐름을 확인할 수 있습니다.
모든 메시지, 사용자 응답, 봇 응답은 모두 메시지 이벤트 형태로 BotKit SDK로 전송됩니다.

Webhook

BotKit SDK는 자연어 프로세서가 봇 빌더 대화 작업 흐름에서 SDKWebhook 노드로 들어갈 때마다 webhook 이벤트를 수신합니다. 다음 시퀀스 다이어그램에서, 사용자가 응답할 때까지 봇 채널을 통해 사용자가 메시지를 전송한 흐름이 표시됩니다.
Webhook 이벤트의 경우, 서버 측 유효성 검사, 비즈니스 로직 실행이 필요할 때 또는 백엔드 서버 호출이 필요할 때마다 대화 작업 흐름에 Webhook 노드를 추가해야 합니다. 비즈니스 로직 및 응답은 동일한 on_webhook 이벤트에서 전송됩니다. 응답은 HTTP 상태 코드 202입니다. SDK에서 봇 플랫폼으로 응답 데이터를 전송하려면, sdk.sendWebhookResponse() 이벤트를 호출합니다. Webhook 이벤트는 Kore.ai NL 엔진이 대화 작업 흐름에서 Webhook 노드를 처리할 때 SDK에 의해 수신됩니다. Kore.ai NLP 엔진은 각 노드를 처리한 다음, 정의된 조건에 따라 다음 노드로 전환합니다. Webhook 노드가 처리되면, webhook 호출이 실행되고 봇 플랫폼은 on_webhook 이벤트를 SDK로 보냅니다. 다음 시퀀스 다이어그램은 webhook이 있는 메시지 흐름을 표시합니다.

상담사 전환

다음 시퀀스 다이어그램에서, 봇 플랫폼은 상담사 전환 조건이 일치할 때까지 사용자 입력에 직접 응답합니다. 일치하면, 봇 플랫폼은 BotKit SDK 구현에 연결한 후 대화를 초기화합니다. 예: 현재 대화 가져오기. BotKit SDK는 라이브 상담사 세션이 종료될 때까지 사용자와 상담사 대화를 연동합니다. 라이브 상담사로 전환될 때, 현재 대화 작업은 종료됩니다.

대화 흐름에서 상담사 전환을 설정하려면, 다음을 수행해야 합니다.

  1. 설정 탭 > SDK 설정 섹션의 Kore.ai 봇 빌더에서 앱을 생성하고, 콜백 URL을 정의하고 클라이언트 ID클라이언트 시크릿을 생성하고, OnAgentTransferNode를 활성화합니다.
  2. 단계를 식별하고 상담사로 전환하기 위해 충족해야 할 전환 조건을 정의합니다.
  3. 다음 그림과 같이 대화 흐름에 상담사 전환 노드를 추가합니다

자세한 내용은, BotKit SDK 튜토리얼 – 상담사 전환을 참조하세요.

Kore.ai BotKit SDK は、Kore.ai ボット プラットフォーム上で構築したボットに対して、ユーザーとの対話を正確に制御するためのライブラリ セットです。ボットビルダーのダイアログ エディタを使用してダイアログ タスクを構築する際、イベント ハンドラを追加してメッセージと Webhook イベントをサブスクライブし、SDK を使用してメッセージと Webhook イベントを制御することができます。このトピックでは、BotKit SDK が Bot プラットフォーム、使用できる SDK イベント、および BotKit SDK のダウンロードとインストールと、どのように統合されているかについて説明します。ボットはユーザーの質問に答えるために、また、ユーザーのトランザクションを実行するために構築できますが、場合によっては、ユーザーが目的を達成できるように、ボットとの対話から人間のエージェントに切り替える必要があります。例:

  • ユーザーが質問をするか、またはボットが回答するように設計されていないというレスポンスを返す場合。
  • ユーザーが、ボットではなくライブ エージェントとのチャットを希望する場合。
  • ボットの開発者は、特定の条件に基づいたダイアログ フローを基に、ライブ エージェント転送を設計します。たとえば、特定のユーザータイプやユーザーのトーン分析に基づいて、ダイアログ フローをライブ エージェントに転送したい場合などです。

仕組み

ボット プラットフォームで以下のイベント タイプをキャプチャすると、BotKit SDK を使用したイベント処理をダイアログ タスクに統合できます。

メッセージ

Kore.ai ボット プラットフォームでは、ユーザーはボットに定義されているチャネルのいずれか 1 つで、自分のボットと対話します。以下の図では、Kore.ai ボット プラットフォーム、BotKit SDK、および自然言語処理エンジンを介したユーザー メッセージ フローを確認することができます。 ユーザーとボットのレスポンスのすべてのメッセージが、メッセージ イベントとして BotKit SDK に送信されます。

Webhook

BotKit SDKは、自然言語プロセッサが ボットビルダー ダイアログのタスク フローで SDKWebhook ノードを入力するたびに、Webhook イベントを受け取ります。次のシーケンス図では、ユーザーがボットのチャネル経由でメッセージを送信してからユーザーのレスポンスが表示されるまでのフローを示しています。 Webhook イベントに関しては、サーバー サイドでの検証やビジネス ロジックの実行が必要な場合、またはバックエンド サーバーの呼び出しが必要な場合に、ダイアログ タスク フローに Webhook ノードを追加する必要があります。ビジネス ロジックとレスポンスは、同じ on_webhook イベントで送信されます。レスポンスは、HTTP ステータス コードの 202 となります。SDK からボット プラットフォームにレスポンス データを送信するには、 sdk.sendWebhookResponse() イベントを呼び出します。Webhook イベントは、Kore.ai NL エンジンがダイアログ タスク フローで Webhook ノードを処理する際に、SDK によって受信されます。Kore.ai NLP エンジンは各ノードを処理し、定義された条件に基づいて次のノードに移行します。Webhook ノードが処理されると、Webhook の呼び出しが実行され、ボット プラットフォームは on_webhook イベントを SDK に送信します。以下のシーケンス図は、Webhook を使用したメッセージ フローを示しています。

エージェント転送

以下のシーケンス図では、エージェント転送条件に一致するまで、ボット プラットフォームがユーザーの入力に直接応答します。一致すると、ボット プラットフォームは BotKit SDK 実装に接続し、現在の会話を取得するなどして、チャットを初期化します。BotKit SDK は、ライブ エージェントのセッションが終了するまで、ユーザーとエージェントの会話を統合します。ライブ エージェントに切り替えると、現在のダイアログ タスクが終了します。 ダイアログの会話フローでエージェント転送を設定するには、以下が必要です。

  1. Kore.ai ボット ビルダーの [設定し] タブ > [SDK 設定] セクションでアプリを作成し、コールバック URL を定義し、クライアント IDクライアント シークレットを生成して、OnAgentTransferNode を有効にする。
  2. エージェントに転送するために必要なステップを特定し、移行条件を定義する。
  3. 以下の図のように、ダイアログ フローにエージェント転送ノードを追加する。

詳しくは、BotKit SDK チュートリアル — エージェント転送」をご覧ください。

The Kore.ai BotKit SDK is a set of libraries that provide you with precision control for bot interaction with users for the bots you build on Kore.ai Bots Platform.

When you build a dialog task using Dialog Editor in Bot Builder, you can subscribe message and webhook events by adding event handlers and controlling the messages and webhook events using the SDK.

This topic describes how the BotKit SDK is integrated with the Bots Platform, the SDK events you can use, and download and installation instructions for the BotKit SDK.

While bots can be built to help answer user queries and to perform a transaction for a user, in some cases, we may still need to switch from a bot interaction to a human agent to help the user complete the intent.

For example:

  • A user asks a question or provides a response that the bot is not designed to answer.
  • A user directly requests to chat with Live Agent rather than that bot itself.
  • As a bot developer, you design a Live Agent transfer based on the dialog flow based on a specific condition. For example, a specific user type, or based on tone analysis of the user, you want the dialog flow to transfer to a Live Agent.

How it Works

You can integrate event handling using the BotKit SDK in your Dialog task by capturing the following event types on the Bots Platform.

Messaging

On the Kore.ai Bots Platform, a user interacts with your bot on one of the channels defined for the Bot. In the following diagram, you can see the user message flow through the Kore.ai Bots Platform, the BotKit SDK, and our natural language processing engine.

All messages, both user and Bot responses are sent to the BotKit SDK as message events.

Webhooks

Your BotKit SDK receives webhook events whenever the natural language processor enters the SDKWebhook node in a Bot Builder dialog task flow. In the following sequence diagram, flow for a user sending a message via a bot channel until the user response is shown.

For webhook events, you should add a Webhook node in the dialog task flow whenever there is a need for server-side validation, execution of business logic, or a backend server call is required. Business logic and the response is sent on the same on_webhook event. The response is an HTTP status code 202. To send response data to the Bots Platform from the SDK, call the sdk.sendWebhookResponse() event.
Webhook events are received by the SDK when the Kore.ai NL Engine processes a Webhook node in a dialog task flow. The Kore.ai NLP engine processes each node, and then transitions to the next node based on the conditions defined. When a Webhook node is processed, a webhook call is executed and the Bots Platform sends the on_webhook event to the SDK. The following sequence diagram shows the message flow with a webhook.

Agent Transfer

In the following sequence diagram, the Bots Platform responds to user input directly, until the Agent Transfer condition is matched. When matched, the Bots Platform connects to your BotKit SDK implementation, and then initializes the chat, for example, getting the current conversation. The BotKit SDK integrates the user and agent conversation until the Live Agent session is closed. When switching to a Live Agent, the current dialog task ends.

To set up an Agent Transfer in your dialog conversation flow, you will need to:

  1. Create an app in Kore.ai Bot Builder on the Settings tab > SDK Configurations section, define the Callback URL and generate Client ID and Client Secret, and enable OnAgentTransferNode.
  2. Identify the steps and define the transition conditions to meet to transfer to an agent.
  3. Add the Agent Transfer node in the dialog flow as shown in the following illustration

For more information, see BotKit SDK Tutorial – Agent Transfer.