사용자 환경을 개선할 대체 경로로 가상 비서 플로를 컨트롤하려는 경우가 있습니다. 다음 시나리오를 고려하세요:
- NLP 엔진은 사용자의 발화에 따라 의도를 식별했을 수 있습니다. 그러나 백엔드 시스템 또는 SDK가 호스팅 되는 웹 페이지에서 수집된 추가 정보 또는 기타 외부 정보에 따른 다른 작업이 더 적합할 수 있습니다.
- 환영 메시지의 일부로 진행 중인 최상의 거래를 사용하여 사용자를 맞이하는 항공편 예약 가상 비서를 생각해 봅시다. 사용자 선택에 따라 사용자에게 표시된 거래 정보에서 출발 도시, 도착 도시, 여행 등과 같은 여행 세부 정보를 미리 입력하여 '항공편 예약' 작업을 프로그래밍 방식으로 호출할 수 있습니다.
Kore.ai는 nlMeta 데이터를 사용하여 프로그래밍 방식으로 가상 비서에게 정보를 전달하는 방법을 제공합니다. 이 정보는 BotKit SDK, Widget SDK 및 Web SDK에서 엔티티 값 및 기타 작업 설정과 함께 트리거할 의도 같은 정보를 전달하는 데 필요한 대로 사용할 수 있습니다.
nlMeta
nlMeta는 봇에 정보를 전달하는 데 사용할 수 있는 객체입니다. 봇은 이 정보를 사용하여 다른 정보를 디코딩하기 전에 지정된 의도를 실행합니다.
샘플
다음은 필요한 nlMeta 객체를 입력하는 방법의 샘플입니다:
'nlMeta': { 'intent': '<intent_name>', 'childBotName': '<child_bot_name>', 'isRefresh': <true/false>, 'entities': { '<entity1_value>': value1, '<entity2_value>': value2, }, 'interruptionOptions': { 'hr': { 'h': 1; 'r': 1; 'nn': true } } }
매개 변수
다음은 이 객체에서 사용할 수 있는 매개 변수입니다:
매개 변수 | 설명 | ||||||
---|---|---|---|---|---|---|---|
nlMeta | 봇에 대한 자연어 정보를 위한 객체 | ||||||
intent | 봇에 의해 트리거 되어야 하는 제삼자를 통해 식별된 의도 | ||||||
childBotName(범용 봇인 경우) | 범용 봇이 트리거하려는 자식 봇 의도를 식별하는 경우에만 사용됩니다. 이는 범용 봇 패널에서 자식 봇의 위젯을 사용하려는 때에도 필요합니다. | ||||||
entities | 트리거할 의도에 따라 필요한 대로 엔티티-값 쌍이 있는 객체 | ||||||
isRefresh |
|
||||||
interruptionOptions | 봇이 nlMeta 정보를 수신할 때 작업이 진행 중이라면 중단 동작을 나타냅니다. 값은 다음과 같을 수 있습니다:
|
요청한 작업을 찾을 수 없다면 봇은 "대화에 필요한 대화 작업을 사용할 수 없음"이라는 표준 응답으로 응답합니다.
사용법
언급한 대로 nlMeta를 입력하고 BotKit SDK 및 웹/위젯 SDK를 통해 가상 비서로 전송할 수 있습니다. 다음은 이러한 작업이 달성되는 방법을 보여 줍니다:
- BotKit SDK – metaInfo 객체의 일부:
data.metaInfo = { 'nlMeta': { 'intent': 'Authenticate User', 'isRefresh': true, 'entities': { "Name": "John" }, 'interruptionOptions': 'discardAll' } }
- Web SDK – sendMessage 함수를 사용하여 nlMeta 정보를 매개 변수로 보낼 수 있습니다. 이 함수는 chatWindow.js 파일에서 찾을 수 있습니다. 다음과 같이 nlMeta 데이터를 사용해야 할 때 조건을 추가합니다:
if(_this.text() == “Existing”){ me.sendMessage(_this, attachmentinfo, {'nlMeta': { 'intent': 'Authenticate User'}}); } else{ me.sendMessage(_this, attachmentinfo); }
위의 예에서 텍스트 필드에 "Existing" 값이 포함되어 있으면 사용자 인증 의도가 트리거 됩니다.
- Widget SDK – nlMeta 정보는 버튼, 메뉴, 목록 등과 같은 다양한 템플릿에 대한 페이로드의 부분으로서 전송될 수 있으며 자세한 내용은 여기를 참조하세요.