봇 변수는 다른 작업, 노드 및 기타 봇 요소에 일반적으로 사용된 값을 캡처하는 데 도움이 됩니다. 봇 설정에서 봇 변수를 키-값 쌍으로 설정하고 대화형 흐름 중에 실행 시 키를 값으로 대체할 수 있습니다.

자주 사용하는 값을 한 곳에서 캡처함으로써 봇 변수는 재사용성과 일관성의 이점을 제공합니다. 예를 들어 스테이징 엔드포인트를 사용하여 항공편 예약 봇을 테스트한다고 가정해 보겠습니다. 엔드포인트를 변수로 설정하면 여러 위치에서 API를 빠르게 호출할 수 있습니다.

봇을 게시하는 동안 스테이징 엔드포인트를 프로덕션으로 간단하게 변경할 수 있습니다.

마찬가지로 변수를 사용하여 대화 흐름 정의의 메시지 및 프롬프트 내용을 외부화할 수 있습니다.

Kore.ai 플랫폼을 통해 봇 개발자는 환경과 콘텐츠의 두 가지 변수를 정의할 수 있습니다.

환경 변수

(이전에는 전역 변수라고 함) 환경 변수는 주요 봇 변수 유형으로 키-값 쌍을 정의하고 봇 전체에서 변수를 사용합니다. 변수가 전역에서 선언되므로 봇 설정의 모든 포인트에서 사용할 수 있습니다. 개발자가 환경 변수를 사용할 수 있는 일반적인 사용 사례는 다음과 같습니다.

  • 엔드포인트 URL이 서로 다른 환경에서 봇을 관리합니다. 환경에 따라 봇을 내보내고 가져올 수 있으며, 인프라 팀은 변수 설정 파일만 수정해야 합니다.
  • 봇 설정에서 반복되는 봇 응답을 변수로 정의하고 관리합니다.
  • 권한 부여 토큰
  • 채널 관련 토큰 및 URL

플랫폼의 v8.1 출시 이후 온 프레미스 설치의 경우 수집을 사용하여 이러한 환경 변수에 대해 여러 값을 저장할 수 있습니다. 자세한 내용은 여기를 참조하세요.

콘텐츠 변수

봇 빌드에는 기본적으로 광범위한 콘텐츠 관리 작업이 필요합니다. 다국어 봇의 경우 개발자와 전 세계에 분산된 콘텐츠 작성자 또는 저작권 팀 간에 지루한 협업 과정이 수반됩니다. 콘텐츠 변수를 사용하면 콘텐츠 작성 또는 편집에서 봇 흐름 개발 과정을 추상화하여 이러한 문제를 해결할 수 있습니다. 콘텐츠 변수를 사용하면 프로그래머는 사용자에게 표시되는 프롬프트, 메시지 또는 데이터와 같은 봇 콘텐츠를 봇 구성 요소로 하드 코딩하지 않고 각 봇 언어에 대해 중앙에서 관리되는 콘텐츠 변수 파일의 특정 변수를 가리킬 수 있습니다. 봇 설정을 노출하지 않고 언어별 콘텐츠 변수 파일을 콘텐츠 편집기로 내보낼 수 있습니다. 작성자는 내보낸 파일의 콘텐츠를 작성하여 봇으로 다시 가져올 수 있습니다.

봇 변수 정의하기

봇 변수를 추가하거나 편집하려면 다음 단계를 따릅니다.

  1. 변수를 추가하려는 봇을 엽니다.
  2. 빌드 상위 메뉴를 선택합니다
  3. 왼쪽 메뉴의 설정에서 환경 변수 또는 콘텐츠 변수를 선택합니다.
  4. 변수 페이지에서 변수 추가를 클릭하고 다음 세부 정보를 입력합니다.
    • 변수 이름: Bots Environment와 같이 특수 문자를 사용하지 않고 이름을 입력합니다.
    • : 문자열 식을 추가합니다. 이 문자열은 호출되는 모든 위치에서 변수를 대체합니다.
      참고: 콘텐츠 변수의 경우 각 봇 언어마다 다른 값을 입력해야 합니다. 자세한 방법은 다음 섹션을 참조하세요.
    • 메모 필드에 개발자 메모를 입력합니다. 이 필드는 선택 사항이지만, 유용한 메모를 입력하면 개발자가 대상 봇에서 관련 값을 이해하고 제공하는 데 도움이 될 수 있습니다.
    • 그룹을 사용하여 변수를 분류할 수 있습니다.
    • 가능한 경우 네임스페이스를 할당합니다(자세한 내용은 여기를 참조하세요).
  5. 저장을 클릭합니다.
  6. 3-5단계를 반복하여 변수를 추가하거나 편집합니다.

언어별 값 입력

콘텐츠 변수에 언어별 값을 추가하려면 먼저 봇 언어를 전환해야 합니다. 봇 페이지의 오른쪽 상단 모서리에서 현재 사용 가능한 언어 이름을 클릭한 후 다음과 같이 다른 언어를 선택하여 언어를 전환할 수 있습니다.

언어를 전환한 후 빌드 > 설정 > 콘텐츠 변수 페이지로 이동하여 관련 변수 옆에 있는 편집 아이콘을 클릭합니다. 사용 가능한 언어의 필드에 있는 텍스트를 바꿉니다.

환경 변수 사용

다음 구문을 사용하여 일반 텍스트 모드(표준 편집기)에서 환경 변수를 호출할 수 있습니다. {{env.variableName}} JavaScript 모드에서 사용하는 경우 env.variablename입니다. 여기 botType 매개 변수라는 두 가지 환경 변수를 사용하여 개발, 테스트 및 프로덕션과 같은 다양한 봇 환경을 결정하는 봇의 예시가 나와 있습니다. 봇 작업 중 하나의 다음 스크립트 노드는 현재 봇 환경에 따라 봇의 기본 URL을 캡처합니다.

다음 서비스 노드의 URL은 캡처된 URL에 따라 변경됩니다

콘텐츠 변수 사용

다음 구문을 사용하여 일반 텍스트 모드(표준 편집기)에서 콘텐츠 변수를 호출할 수 있습니다. {{content.variableName}} JavaScript 모드에서 사용하는 경우 content.variableName입니다. 다음은 사용자의 출발 공항을 캡처하는 다국어 항공편 예약 봇의 엔티티 노드입니다. 하드 코딩된 사용자 프롬프트 대신 콘텐츠 변수를 사용합니다.

사용자 상호 작용의 일환으로 봇이 노드에 도달하면 상호 작용의 언어에 따라 사용자 프롬프트가 변경됩니다(활성화된 모든 언어에 대해 해당 변수 값을 입력한 경우).

가져오기 및 내보내기

봇 간에 봇 변수를 가져오고 내보낼 수 있습니다.

  1. 빌드 > 설정 -> (환경/콘텐츠) 변수에서 액세스할 수 있는 봇 변수 페이지
  2. 변수 추가 옆의 생략 표시를 클릭합니다.
  3. 가져오려면 다음 단계를 따르세요. JSON 또는 CSV 파일에서 변수를 가져오려면 가져오기를 선택합니다
    • 가져오기는 기존 변수를 대체하므로 동일한 변수를 백업하는 것이 좋습니다.
    • 백업을 수행한 후 가져오기진행합니다.
    • 가져올 JSON 또는 CSV 파일을 선택합니다(파일 형식은 아래 참조).
  4. 내보내려면 다음 단계를 따르세요. 내보내기에서 내보내기 파일의 원하는 형식을 선택합니다.
    • 봇 변수는 선택에 따라 JSON, CSV 파일 형식으로 내보내집니다.
    • 이 파일에는 환경 변수와 콘텐츠 변수가 모두 포함되어 있습니다.

봇 변수 파일에는 다음과 같은 정보가 포함되어 있으며 불러오기 파일에도 동일한 정보가 있어야 합니다. CSV 파일에는 헤더 행이 필요합니다. 내보내기(또는 백업) 파일을 참조하고 가져오기 파일에 동일한 형식을 사용하는 것이 좋습니다.

  • (필수) – 변수 이름
  • 범위 – 변수의 범위는 변수를 선언할 때 설정 옵션에 해당하며(제공되지 않는 경우 prePopulated) 다음과 같습니다.
    • prePopulated
    • askOnInstall 또는
    • hidden
  • value – 변수 값
  • variableType(설정되지 않은 경우 env로 기본 설정)-
    • 환경 변수의 경우 env
    • 콘텐츠 변수의 경우 locale
  • audioTag– IVR이 활성화된 경우 플레이어 세부 정보 표시
  • group – 그룹 이름
  • hint– 변수에 대한 설명

샘플 CSV 파일:
샘플 JSON 파일:

[
  {"key":"hosturl",
   "value":"https://bots.kore.ai",
   "hint":"This is the URL of environment which can be used across the endpoints configured in the bot",
   "audioTag":"",
   "variableType":"env",
   "scope":"prePopulated",
   "group":"URLS"}
]

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

ボット変数によって、異なるタスク、ノード、およびその他のボット要素で共通して使用される値をキャプチャできるようになります。ボット変数は、ボット設定において一度キー・値のペアとして設定し、会話フローの中で実行時にキーと値を置換することができます。ボット変数は、頻繁に使用される値を一か所でキャプチャすることにより、再利用性および一貫性の利点をもたらします。例として、ステージングエンドポイントを用いて、フライト予約ボットをテストしているとします。エンドポイントを変数として設定している場合、APIを複数の場所から迅速に呼び出すことができます。ボットの公開中に、ステージングエンドポイントをプロダクションに変更したいときは、簡単にできます。同様に、メッセージとプロンプトのコンテンツをダイアログフロー定義から外部に出すために、変数を使用することができます。Kore.aiプラットフォームでは、ボット開発者は環境とコンテンツの2タイプの変数を定義することができます。

環境変数

環境変数(以前はグローバル変数と呼ばれていた)は、キー・値のペアを定義して、その変数をボット全体で使用するという、ボット変数の主要なタイプです。環境変数は、グローバルに宣言されているため、ボット構成のどの時点でも使用することができます。開発者が環境変数を使用する典型的なユースケースとしては、以下のようなものがあります。

  • 異なるエンドポイントURLを持つ環境間でボットを管理するため。ボットは環境に合わせてエクスポートおよびインポートすることができので、インフラストラクチャチームは可変構成ファイルの変更のみが必要になるだけです。
  • ボットの設定内で繰り返されるボットの応答を変数として定義および管理する場合。
  • 認証トークン
  • チャネルに関連するトークンとURL

プラットフォームのバージョン8.1リリース以降、オンプレミスのインストールでは、コレクションを使用してこれらの環境変数に複数の値のセットを保存することができます。詳細はこちらを参照してください

コンテンツ変数

ボットの構築には、基本的に大規模なコンテンツ管理が必要です。また、多言語対応のボットの場合、開発者と世界各地に散らばるコンテンツ制作者や著作権チームとの間で、面倒な調整作業が必要になります。コンテンツ変数は、ボットフローの開発作業をコンテンツのオーサリングや編集から抽象化することにより、この問題を解決します。コンテンツ変数を使用すると、プログラマは、プロンプト、メッセージ、またはユーザーに提示されるデータなどのボットコンテンツをボットコンポーネントにハードコーディングすることなく、一元管理された各ボット言語のコンテンツ変数ファイルに特定の変数を指定することができます。ボットの構成を公開することなく、言語固有のコンテンツ変数ファイルをコンテンツエディターにエクスポートすることができます。ライターは、エクスポートされたファイルのコンテンツをオーサリングすることができ、それをボットにもう一度インポートして戻すことができます。

ボット変数の定義

ボット変数を追加または編集するには、以下の手順に従います。

  1. 変数を追加したいボットを開きます。
  2. トップメニューの構築を選択します
  3. 左側メニューの構成から、環境変数またはコンテンツ変数を選択します。
  4. 変数ページで変数の追加をクリックして、以下の詳細を入力します。
    • 変数名:特殊文字を含まない名前を入力します。例:ボット環境。
    • :文字列式を追加します。この文字列は、呼び出されたあらゆる場所で変数を置き換えます。
      メモ:コンテンツ変数については、ボットの言語ごとに異なる値を入力する必要があります。その方法については、次のセクションをご参照ください。
    • メモフィールドに開発者のメモを入力します。これはオプションのフィールドですが、役に立つメモを入力することで、対象ボットで作業している開発者が関連する値を理解し、提供することができます。
    • グループは、変数を分類するために使用することができます。
    • 有効な場合は、名前空間を割り当てます(詳細はこちらを参照してください)。
  5. 保存をクリックします。
  6. さらに変数を追加または編集する場合は、ステップ3~5を繰り返します。

言語固有の値の入力

コンテンツ変数に言語固有の値を追加するためには、最初に、ボットの言語を切り替える必要があります。ボットのページの右上から現在有効な言語名をクリックし、次に、以下のような他の言語を選択することにより、言語を切り替えることができます。

言語を切り替えた後、構築->構成->コンテンツ変数のページに進み、該当する変数の横にある編集アイコンをクリックします。フィールドのテキストを、有効な言語に置き換えます。

環境変数の使用

プレーンテキストモード(標準エディター)では、以下の構文を使用して環境変数を呼び出すことができます。{{env.variableName}} JavaScriptモードで使用している場合は、“env.variableName”となります。ここでは、“botType”と“parameters”という2つの環境変数を使用して、開発、テスト、プロダクションといった異なるボット環境を決定するボットの例を紹介します。ボットのタスクの1つである以下のスクリプトノードは、現在のボット環境に合わせて、ボットの“ベースURL”をキャプチャします。 キャプチャしたURLをベースに、以下のサービスノードのURLが変更されます。

コンテンツ変数の使用

プレーンテキストモード(標準エディター)では、以下の構文を使用してコンテンツ変数を呼び出すことができます。{{content.variableName}} JavaScriptモードで使用している場合は、“content.variableName”となります。これは、多言語フライト予約ボットのエンティティノードで、ユーザーのソース空港をキャプチャしています。ハードコードされたユーザープロンプトではなく、コンテンツ変数を使用します。 ボットがユーザーとのインタラクションの一環としてこのノードに到達した場合、ユーザープロンプトはインタラクションの言語に合わせて変化します(有効な言語すべてにそれぞれの変数値を入力した場合)。

インポートとエクスポート

ボット変数をボット間でインポートおよびエクスポートすることができます。

  1. 構築->構成->(環境/コンテンツ)変数からアクセス可能ないずれかのボット変数ページで、
  2. 追加変数の隣にある楕円をクリックします。
  3. “インポート”:JSONまたはCSVファイルから変数をインポートするには、 インポートを選択します。
    • インポートは既存の変数を置き換えるため、バックアップを取ることをお勧めします。
    • バックアップを取った後、インポートを続行します。
    • インポートするJSONファイルまたはCSVファイルを選択します(ファイル形式については以下をご確認ください)。
  4. “エクスポート”エクスポートから、エクスポートファイルの優先形式を選択します。
    • ボット変数は、選択した内容に応じてJSONファイル、CSVファイルの形式でエクスポートされます。
    • このファイルには、環境変数とコンテンツ変数の両方が含まれています。

ボット変数ファイル には、以下の情報が含まれており、インポートファイルにも同じ情報が必要です。CSVファイルにはヘッダー行が必要です。エクスポート(あるいはバックアップ)ファイルを参照して、インポートファイルについても同一形式の使用をお勧めします。

  • key(必須) – 変数の名前
  • scope – 変数の範囲は、変数宣言時の設定オプションに対応しており(提供されない場合はprePopulatedに設定されます)、以下のいずれかになる可能性があります。
    • prePopulated
    • askOnInstall
    • hidden
  • value – 変数の値
  • variableType(設定されていない場合、デフォルトではenv)-
    • 環境に対してenv
    • コンテンツ変数に対してlocale
  • audioTag  – IVRが有効な場合、プレーヤーの詳細用
  • group – グループ名
  • hint – 変数の説明

サンプルのCSVファイル
サンプルのJSONファイル

[
  {"key":"hosturl",
   "value":"https://bots.kore.ai",
   "hint":"This is the URL of environment which can be used across the endpoints configured in the bot",
   "audioTag":"",
   "variableType":"env",
   "scope":"prePopulated",
   "group":"URLS"}
]

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

Bot variables help you capture values that are commonly used by different tasks, nodes, and other bot elements. You can configure a bot variable as a key-value pair once in the bot settings and substitute key with value at runtime during the conversation flow.

By capturing frequently used values in a single place, bot variables provide the advantages of reusability and consistency.

For example, let’s say you are testing a flight booking bot using a staging endpoint. If you configure the endpoint as a variable, it helps you to call the API from several places quickly. When you want to change the staging endpoint to production while publishing the bot, it is easy.

Similarly, variables can be used to externalize content for messages and prompts from the dialog flow definition.

Kore.ai platform allows bot developers to define two types of variables – Environment and Content.

Environment Variables

(Previously called Global Variables)

Environment variables are a primary type of bot variables where you define a key-value pair and use the variable across the bot. As the variables are declared globally, they can be used at any point in the bot configuration.

Some of the typical use-cases where a developer can use environment variables are:

  • To manage the bot across environments having different endpoint URLs. The bot can be exported and imported based on the environment, and the infrastructure team will need to modify only the variable configuration file.
  • To define and manage the bot response that is repeated within the bot configuration as variables.
  • Authorization Token
  • Channel-related tokens and URLs

Post the release of v8.1 of the platform, for on-prem installations, multiple value sets can be stored for these environment variables using Collections, refer here for more.

Content Variables

Bot building essentially requires extensive content management efforts. When it comes to multi-language bots, it also involves tedious coordination efforts between the developers and globally-distributed content authors or copyright team.

Content variables enable you to overcome that by abstracting bot flow development efforts from authoring or editing the content. Using Content Variables, programmers can avoid hard-coding the bot content, such as prompts, messages, or any data presented to the user, into bot components, and instead point to specific variables in centrally managed Content Variables files for each bot language.
You can export the language-specific content variable files to content editors, without exposing any bot configurations. The writers can author the content in the exported file, which you can import back into the bot.

Defining Bot Variables

Follow these steps to add or edit bot variables:

  1. Open the bot for which you want to add the variables
  2. Select the Build top menu
  3. From the left menu, under Configurations, select either Environment Variables or Content Variables
  4. On the Variables page, click Add Variable and enter the following details:
    • Variable Name: Enter a name without any special characters, for example, Bots Environment.
    • Value: Add a String expression. This string replaces the variable everywhere it is invoked.
      Note: For content variables, you need to enter different values for each bot language. Refer to the next section to learn how.
    • Enter developer notes in the Notes field. While this is an optional field, entering useful notes can help the developer working on the target bot to understand and provide relevant values.
    • Group can be used to categorize the variable.
    • Assign a Namespace if enabled (refer here for more).
  5. Click Save.
  6. Repeat steps 3-5 to add or edit more variables.

Entering Language-Specific Values

To add language-specific values for content variables, you first need to switch the bot language. You can switch the language by clicking the name of the currently-enabled language from the top-right corner of the bot’s page and then selecting another language as follows:

After switching the language, go to Build > Configurations > Content Variables page and click the edit icon next to the relevant variable. Replace the text in the Value field in the enabled language.

Using Environment Variables

You can invoke an environment variable in plain text mode (Standard editor) using the following syntax:
{{env.variableName}}

If you are using it in JavaScript mode, it is env.variableName
Here’s an example from a bot that uses two environment variables called botType and parameters to determine different bot environments such as development, testing, and production. The following script node in one of the bot’s tasks captures the base URL of the bot, depending on the current bot environment.

The URL in the following service node changes based on the captured URL

Using Content Variables

You can invoke a content variable in plain text mode (Standard editor) using the following syntax.
{{content.variableName}}

If you are using it in JavaScript mode, it is content.variableName
Here’s an entity node of a multi-language flight booking bot that captures the source airport of the users. It uses a content variable instead of a hard-coded user prompt.

When the bot reaches this node as a part of the user interaction, the user prompt changes depending on the language of the interaction (provided you entered the respective variable values for all the enabled languages).

Importing and Exporting

You can import and export bot variables between bots.

  1. On any of the Bot Variables page accessible from Build > Configurations -> (Environment/Content) Variables,
  2. Click the ellipses next to Add Variables
  3. To Import: Select Import to import variables from a JSON or CSV file
    • Since the import will replace the existing variables, you are advised to take a backup of the same.
    • After taking a Backup, Proceed with the Import
    • Select a JSON or CSV file to import (see below for the file format)
  4. To Export: From Export select the preferred format for the export file:
    • Bot variables are exported in the form of a JSON, CSV file based upon your selection.
    • This file includes both environment and content variables.

The Bot Variable file contains the following information, the same needs to be present in your Import file. CSV files need a header row. You are advised to refer to the Export (or backup) file and use the same format for the Import file.

  • key (mandatory) – name of the variable
  • scope  – the scope of the variable corresponds to the Setup Option at the time of variable declaration (if not provided will be set to prePopulated) and can be
    • prePopulated,
    • askOnInstall, or
    • hidden
  • value – the value of the variables
  • variableType (if not set will default to env)-
    • env for Environment and
    • locale for Content Variable
  • audioTag -for the player details in case IVR enabled
  • group – group name
  • hint – description of the variable

Sample CSV file:

Sample JSON file:

[
  {"key":"hosturl",
   "value":"https://bots.kore.ai",
   "hint":"This is the URL of environment which can be used across the endpoints configured in the bot",
   "audioTag":"",
   "variableType":"env",
   "scope":"prePopulated",
   "group":"URLS"}
]

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