Kore.ai 봇 플랫폼은 봇 내에서 변수를 선언하고 사용할 수 있는 방법을 제공합니다. 이러한 변수는 다양한 작업, 노드 및 기타 봇 요소로 일반적으로 사용되는 값을 캡처하는 데 사용할 수 있습니다. 이 방법에서는 봇 변수를 사용할 수 있는 뱅킹 봇 시나리오를 살펴보겠습니다. 전역 변수가 API 엔드포인트를 전달하는데 어떻게 사용되는지 확인할 수 있으며 테스트를 위해 개발에서 운영 환경으로 마이그레이션 되었을 때 쉽게 변경할 수 있습니다. 봇 변수의 정의와 Kore.ai 봇 플랫폼에서 봇 변수가 구현되는 방법에 대한 자세한 내용은 여기를 참조하세요. 콘텐츠 변수 활용 사례는 여기를 참조하세요.

문제 설명

뱅킹 봇에는 다음과 같은 두 가지 작업이 있습니다:

  1. 잔액 가져오기 주어진 계좌 번호로 해당 계좌의 잔액을 가져오기 위해 서비스 호출을 합니다.
  2. 잔고 업데이트 특정 금액으로 주어진 계좌 번호를 업데이트하기 위해 서비스 호출을 합니다.
  3. 위의 두 작업은 모두 같은 서비스를 호출하며 개발, 테스트 및 프로덕션 환경에 대한 서비스 API 엔드포인트 변경을 호출합니다.
  4. 변경이 제대로 되지 않았다면 두 대화 작업에서 모두 서비스 호출을 변경하는 것은 번거로우며 오류를 초래합니다.

본 문서에서는 전역 변수를 사용하여 API 엔드포인트를 저장하고 이를 서비스 호출에 사용하는 방법을 설명합니다.

전제 조건

  • 봇 구축 지식
  • 아래 언급된 것과 같은 대화 상자가 있는 뱅킹 봇:
    • 잔액 가져오기 – 대화 작업이 사용자에게 계좌 번호를 묻고 계정에서 사용할 수 있는 잔액을 표시합니다.
    • 계좌 업데이트 – 대화 작업이 사용자에게 업데이트해야 하는 계좌 번호, 업데이트할 금액, 금액이 신용 거래인지 신용 거래가 아닌지 여부를 묻고 이에 따라 계좌 잔액을 업데이트합니다.

구현

API 엔드포인트를 유지할 전역 변수를 선언하면 더욱 쉽고 빠르게 전환할 수 있습니다.

  1. 뱅킹 봇을 엽니다.
  2. 상단 메뉴에서 구축 탭 선택
  3. 설정에서 환경 변수 섹션을 선택합니다.
  4. 변수 추가를 클릭하여 해당 창을 엽니다.
  5. 변수 이름변수 값을 입력합니다. 이 활용 사례의 경우 변수 accountURL을 호출하고, 값의 경우 서비스 API 호출 엔드포인트를 입력합니다.
  6. 저장합니다.
  7. 이제 잔액 가져오기 대화 작업을 엽니다.
  8. GetAccountBalance 서비스 노드를 선택합니다.
  9. 요청 정의에서 요청 편집을 클릭합니다.
  10. 요청 URL을 위에서 생성한 전역 변수로 교체합니다. 접두사와 env와 그 뒤에 필요한 매개변수를 사용하세요. 이 사례에서:
    {{env.accountURL}}{{context.entities.AccountNumber}}
  11. 잔액 업데이트 대화 작업을 반복합니다.
  12. 이제 봇을 다른 환경으로 내보내고 가져올 때 전역 변숫값만 변경하면 변경 사항이 두 대화 작업에 모두 적용됩니다.

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.
You need to agree with the terms to proceed

Kore.aiボットプラットフォームでは、ボット内で変数を宣言して使用する方法を提供しています。これらの変数は、異なるタスク、ノード、およびその他の要素が通常使用する値をキャプチャするために使用できます。このハウツーでは、バンキングボットでボット変数を使用するシナリオを探究しましょう。グローバル変数を使用して、APIエンドポイントを渡し、開発環境からテスト環境、本番環境への移行時に簡単にそれを変更できる方法を見ていきます。ボット変数とは何か、Kore.ai Botsプラットフォームにどのように実装されているかについての詳細は、こちらをご参照ください。コンテンツ変数のユースケースについては、こちらをご参照ください

問題提起

今回のバンキングボットでは、2つのタスクがあります。

  1. 残高取得は、指定された口座番号でサービスコールを行い、その口座の残高を取得します。
  2. 指定された口座を指定された金額で更新するためにサービスコールを行う残高更新
  3. 上記のタスクはどちらも同じサービスを呼び出すもので、サービスのAPIエンドポイントは、開発環境、テスト環境、プロダクション環境で変わります。
  4. 両方のダイアログタスクでサービスコールを変更するのは面倒であり、変更が正しく行われないとエラーの原因になります。

このドキュメントでは、グローバル変数を使用してAPIエンドポイントを格納し、それをサービスコールに使用する方法について見ていきます。

必要条件

  • ボット構築のナレッジ
  • 下記のようなダイアログのあるバンキングボット:
    • 残高取得 – ユーザーに口座番号の入力を指示し、口座の利用可能な残高を表示するダイアログタスク。
    • 口座の更新 – 更新が必要な口座番号、更新する金額、その金額を入金するのか出金するのかをユーザーに指示し、したがって口座残高を更新するダイアログ。

導入

APIのエンドポイントを保持するグローバル変数を宣言することで、簡単かつ迅速に遷移することができます。

  1. バンキングボットを開きます。
  2. トップメニューから構築タブを選択します。
  3. 構成から環境変数セクションを選択します。
  4. 変数を追加をクリックすると、対応するウィンドウが表示されます。
  5. 変数名変数値を入力します。このユースケースでは、変数accountURLを呼び出し、値にはサービスAPIコールエンドポイントを入力しています。
  6. 普通預金
  7. ここで、残高取得ダイアログタスクを開きます。
  8. GetAccountBalanceサービスノードを選択します。
  9. 定義をリクエストの下にあるリクエストを編集をクリック
  10. 必要なパラメータの前にあるenv プレフィックスを使用し、リクエストURLを上記で作成したグローバル変数で置き換えます。今回の場合: {{env.accountURL}}{{context.entities.AccountNumber}}
  11. 残高更新ダイアログタスクの更新を繰り返します。
  12. これで、ボットを別の環境にエクスポートおよびインポートする際には、グローバル変数の値を変更するだけで、両方のダイアログタスクで変更が有効になります。

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.
You need to agree with the terms to proceed

Kore.ai bots platform provides a way to declare and use variables within the bot. These variables can be used to capture values that are commonly used by different tasks, nodes, and other bot elements

In this How-To, we will explore a scenario in a Banking Bot, where Bot Variables can be used. We will see how Global Variables can be used to pass API endpoints and change them easily when migrating from development to testing to production environments.

For details on what Bot Variables are and how they are implemented in the Kore.ai Bots platform, refer here. For a use case with Content Variables, refer here.

Problem Statement

In our Banking Bot, we have two tasks:

  1. Get Balance which makes a service call with a given account number to get the balance in that account
  2. Update Balance which makes a service call to update a given account with the specified amount.
  3. Both the above tasks call the same service and the service API endpoint changes for development, testing, and production environments.
  4. Changing the service call in both the Dialog Tasks is cumbersome and leading to errors, if the change is not done properly.

In this document, we will see how Global Variable can be used to store the API endpoint and use it for the service calls.

Pre-requisites

  • Bot building knowledge
  • A Banking Bot with the dialogs as mentioned below:
    • Get Balance – Dialog task prompting the user for their Account Number and displaying the available balance in the account.
    • Update Account – Dialog task prompting the user for Account Number that needs to be updated, the Amount to be updated and whether the amount needs to be credited or debited and updating the Account balance accordingly.

Implementation

Declaring a Global Variable to hold the API endpoint will help the transition easier and faster.

  1. Open the Banking Bot.
  2. Select the Build tab from the top menu
  3. From Configurations select the Environment Variables section.
  4. Click Add Variable to open the corresponding window.
  5. Enter Variable Name and Variable Value. For this use case, were are calling the Variable accountURL, and for value, we are entering the Service API call endpoint.
  6. Save.
  7. Now open the Get Balance Dialog Task.
  8. Select the GetAccountBalance Service Node.
  9. Click Edit Request under the Request Definition
  10. Replace the request URL with the Global Variable created above. using the env prefix followed by any parameters needed. In this case:
    {{env.accountURL}}{{context.entities.AccountNumber}}
  11. Repeat for Update Balance Dialog Task.
  12. Now when you Export and Import the Bot to another environment, all you need to worry about is to change the value of the Global Variable and the changes will be effective in both the Dialog Tasks.

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.
You need to agree with the terms to proceed