봇 변수는 다른 작업, 노드 및 기타 봇 요소에 일반적으로 사용된 값을 캡처하는 데 도움이 됩니다. 봇 설정에서 봇 변수를 키-값 쌍으로 설정하고 대화형 흐름 중에 실행 시 키를 값으로 대체할 수 있습니다.
자주 사용하는 값을 한 곳에서 캡처함으로써 봇 변수는 재사용성과 일관성의 이점을 제공합니다. 예를 들어 스테이징 엔드포인트를 사용하여 항공편 예약 봇을 테스트한다고 가정해 보겠습니다. 엔드포인트를 변수로 설정하면 여러 위치에서 API를 빠르게 호출할 수 있습니다.
봇을 게시하는 동안 스테이징 엔드포인트를 프로덕션으로 간단하게 변경할 수 있습니다.
마찬가지로 변수를 사용하여 대화 흐름 정의의 메시지 및 프롬프트 내용을 외부화할 수 있습니다.
Kore.ai 플랫폼을 통해 봇 개발자는 환경과 콘텐츠의 두 가지 변수를 정의할 수 있습니다.
환경 변수
(이전에는 전역 변수라고 함) 환경 변수는 주요 봇 변수 유형으로 키-값 쌍을 정의하고 봇 전체에서 변수를 사용합니다. 변수가 전역에서 선언되므로 봇 설정의 모든 포인트에서 사용할 수 있습니다. 개발자가 환경 변수를 사용할 수 있는 일반적인 사용 사례는 다음과 같습니다.
- 엔드포인트 URL이 서로 다른 환경에서 봇을 관리합니다. 환경에 따라 봇을 내보내고 가져올 수 있으며, 인프라 팀은 변수 설정 파일만 수정해야 합니다.
- 봇 설정에서 반복되는 봇 응답을 변수로 정의하고 관리합니다.
- 권한 부여 토큰
- 채널 관련 토큰 및 URL
플랫폼의 v8.1 출시 이후 온 프레미스 설치의 경우 수집을 사용하여 이러한 환경 변수에 대해 여러 값을 저장할 수 있습니다. 자세한 내용은 여기를 참조하세요.
콘텐츠 변수
봇 빌드에는 기본적으로 광범위한 콘텐츠 관리 작업이 필요합니다. 다국어 봇의 경우 개발자와 전 세계에 분산된 콘텐츠 작성자 또는 저작권 팀 간에 지루한 협업 과정이 수반됩니다. 콘텐츠 변수를 사용하면 콘텐츠 작성 또는 편집에서 봇 흐름 개발 과정을 추상화하여 이러한 문제를 해결할 수 있습니다. 콘텐츠 변수를 사용하면 프로그래머는 사용자에게 표시되는 프롬프트, 메시지 또는 데이터와 같은 봇 콘텐츠를 봇 구성 요소로 하드 코딩하지 않고 각 봇 언어에 대해 중앙에서 관리되는 콘텐츠 변수 파일의 특정 변수를 가리킬 수 있습니다. 봇 설정을 노출하지 않고 언어별 콘텐츠 변수 파일을 콘텐츠 편집기로 내보낼 수 있습니다. 작성자는 내보낸 파일의 콘텐츠를 작성하여 봇으로 다시 가져올 수 있습니다.
봇 변수 정의하기
봇 변수를 추가하거나 편집하려면 다음 단계를 따릅니다.
- 변수를 추가하려는 봇을 엽니다.
- 빌드 상위 메뉴를 선택합니다
- 왼쪽 메뉴의 설정에서 환경 변수 또는 콘텐츠 변수를 선택합니다.
- 변수 페이지에서 변수 추가를 클릭하고 다음 세부 정보를 입력합니다.
- 변수 이름: Bots Environment와 같이 특수 문자를 사용하지 않고 이름을 입력합니다.
- 값: 문자열 식을 추가합니다. 이 문자열은 호출되는 모든 위치에서 변수를 대체합니다.
참고: 콘텐츠 변수의 경우 각 봇 언어마다 다른 값을 입력해야 합니다. 자세한 방법은 다음 섹션을 참조하세요.
- 메모 필드에 개발자 메모를 입력합니다. 이 필드는 선택 사항이지만, 유용한 메모를 입력하면 개발자가 대상 봇에서 관련 값을 이해하고 제공하는 데 도움이 될 수 있습니다.
- 그룹을 사용하여 변수를 분류할 수 있습니다.
- 가능한 경우 네임스페이스를 할당합니다(자세한 내용은 여기를 참조하세요).
- 저장을 클릭합니다.
- 3-5단계를 반복하여 변수를 추가하거나 편집합니다.
환경 변수 사용
다음 구문을 사용하여 일반 텍스트 모드(표준 편집기)에서 환경 변수를 호출할 수 있습니다. {{env.variableName}}
JavaScript 모드에서 사용하는 경우 env.variablename입니다. 여기 botType 및 매개 변수라는 두 가지 환경 변수를 사용하여 개발, 테스트 및 프로덕션과 같은 다양한 봇 환경을 결정하는 봇의 예시가 나와 있습니다. 봇 작업 중 하나의 다음 스크립트 노드는 현재 봇 환경에 따라 봇의 기본 URL을 캡처합니다.
다음 서비스 노드의 URL은 캡처된 URL에 따라 변경됩니다
콘텐츠 변수 사용
다음 구문을 사용하여 일반 텍스트 모드(표준 편집기)에서 콘텐츠 변수를 호출할 수 있습니다. {{content.variableName}}
JavaScript 모드에서 사용하는 경우 content.variableName입니다. 다음은 사용자의 출발 공항을 캡처하는 다국어 항공편 예약 봇의 엔티티 노드입니다. 하드 코딩된 사용자 프롬프트 대신 콘텐츠 변수를 사용합니다.
사용자 상호 작용의 일환으로 봇이 노드에 도달하면 상호 작용의 언어에 따라 사용자 프롬프트가 변경됩니다(활성화된 모든 언어에 대해 해당 변수 값을 입력한 경우).
가져오기 및 내보내기
봇 간에 봇 변수를 가져오고 내보낼 수 있습니다.
- 빌드 > 설정 -> (환경/콘텐츠) 변수에서 액세스할 수 있는 봇 변수 페이지
- 변수 추가 옆의 생략 표시를 클릭합니다.
- 가져오려면 다음 단계를 따르세요. JSON 또는 CSV 파일에서 변수를 가져오려면 가져오기를 선택합니다
- 가져오기는 기존 변수를 대체하므로 동일한 변수를 백업하는 것이 좋습니다.
- 백업을 수행한 후 가져오기진행합니다.
- 가져올 JSON 또는 CSV 파일을 선택합니다(파일 형식은 아래 참조).
- 내보내려면 다음 단계를 따르세요. 내보내기에서 내보내기 파일의 원하는 형식을 선택합니다.
봇 변수 파일에는 다음과 같은 정보가 포함되어 있으며 불러오기 파일에도 동일한 정보가 있어야 합니다. CSV 파일에는 헤더 행이 필요합니다. 내보내기(또는 백업) 파일을 참조하고 가져오기 파일에 동일한 형식을 사용하는 것이 좋습니다.
- 키(필수) – 변수 이름
- 범위 – 변수의 범위는 변수를 선언할 때 설정 옵션에 해당하며(제공되지 않는 경우 prePopulated) 다음과 같습니다.
- prePopulated
- askOnInstall 또는
- hidden
- value – 변수 값
- variableType(설정되지 않은 경우 env로 기본 설정)-
- 환경 변수의 경우 env
- 콘텐츠 변수의 경우 locale
- audioTag– IVR이 활성화된 경우 플레이어 세부 정보 표시
- group – 그룹 이름
- hint– 변수에 대한 설명
[ {"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"} ]