본 방법에서는 고객의 계좌 관련 데이터가 데이터 테이블에 저장되는 뱅킹 봇 시나리오를 살펴보겠습니다. 사용자로부터 수집한 필수 정보를 어떻게 저장할 수 있는지 살펴보겠습니다. 데이터 테이블의 정의 및 Kore.ai 봇 플랫폼에서 데이터 테이블을 구현하는 방법에 대한 자세한 내용은 여기를 참조하세요.
전제 조건
- 봇 구축 지식,
- 은행 봇.
설정
다음 시나리오를 각각 하나씩 살펴보겠습니다.
- 위의 요건으로 데이터 테이블 정의
- 다음을 위한 대화 작업:
- 필요한 정보 수집,
- 서비스를 호출하여 고객 정보를 업데이트합니다.
데이터 테이블 설정
다음 정보를 보관할 데이터 테이블을 만듭니다:
- CustId – 고객의 고유 식별자
- CustName – 고객의 이름
- CustEmail – 고객의 이메일 ID
- CustType – 고객 유형 – 정기, 선호 등.
- Address – 고객 주소
테이블 생성
- Kore.ai 봇 빌더 플랫폼에 로그인합니다.
- 데이터 탭을 선택합니다.
- 새 테이블 버튼을 클릭합니다.
- 새 테이블 페이지에서 다음을 입력합니다:
- 이름(예: customertable)
- 설명(예: 고객 세부 정보를 포함한 테이블)
- 열 섹션에서 다음 세부 정보를 추가합니다:
열 이름 유형 필수 추가 설정 CustId 숫자 예 암호화됨 및 최대 길이 5 CustName 문자열 예 – Address 문자열 아니요 – CustType 문자열 아니요 기본값(선호) CustEmail 문자열 아니요 – - 색인 섹션에서 CustId가 고유하도록 색인을 추가합니다.
- 생성을 클릭하면 테이블이 준비됩니다.
- 봇 할당에서 이 테이블이 사용될 봇을 추가하고(예: 뱅킹 봇) 읽기, 쓰기 및 삭제 권한을 부여합니다. 데이터를 삭제하지 않을 것이므로 삭제 권한은 선택 사항입니다.
대화 작업 설정
필요한 정보를 수집하기 위한 대화 작업을 생성하고 서비스 노드를 사용하여 데이터 테이블을 수집된 값으로 업데이트합니다.
대화 작업 생성
- 왼쪽 탐색 메뉴에서 봇 작업 -> 대화 작업을 선택합니다.
- 대화 작업에서 +를 클릭하여 새 작업 생성
- IntentName 입력 (예: AddCustomer)
- 생성 및 진행하여 대화 빌더 페이지를 엽니다
- 의도 노드 기본 설정을 유지하고 의도 노드를 닫습니다.
- 의도 노드 옆의 +를 클릭하고 다음과 같은 4개의 엔티티를 추가합니다:
엔티티 이름 유형 사용자 프롬프트 CustName 문자열 이름 입력 CustEmail 이메일 이메일 ID 입력 CustAddress 도시 주소 도시 입력 CustType 항목 목록(열거됨) 소득 범위 선택 CustType은 고객의 소득 수준에 따라 베이직, 선호 또는 프리미엄이 될 수 있습니다. 이를 위해 다음과 같이 스태틱 목록을 사용하여 CustType 값을 입력합니다.
- CustID를 생성하려면 테이블에서 마지막 고객 ID를 얻고 여기에 하나를 추가해야 합니다. 이를 위해 먼저 테이블에서 데이터를 가져온 다음 스크립트 노드를 사용하여 ID를 처리합니다.
데이터 가져오기
서비스 호출을 사용하여 테이블에서 데이터를 가져올 수 있습니다:
- 마지막 엔티티 노드에 대해 +를 클릭합니다.
- 서비스 -> 새 서비스 노드 옵션을 선택합니다.
- 일반 설정 섹션에서 다음을 설정합니다:
- 이름(예: GetLastCustId)
- 표시 이름(예: 고객 데이터 가져오기)
- 서비스 유형 데이터 서비스 선택
- 유형 테이블 선택
- 요청 정의에서 요청 추가를 클릭하여 테이블에서 데이터를 가져올 요청을 정의합니다.
- 데이터 서비스 요청 정의 페이지에서 다음을 입력합니다:
- 정의를 테스트 및 저장하고 서비스 노드를 닫습니다.
- 다음 스크립트를 사용하여 다음 고객 ID에 대한 값을 얻기 위해 데이터 서비스에서 가져온 값을 처리하는 스크립트 노드를 추가합니다.
var resultSet = context.GetLastCustId.response.body.queryResult; var id = 0; if (!resultSet.length) { id=1; } else { for (var i=0; i<resultSet.length; i++) { if (id < resultSet[i].CustId) { id = resultSet[i].CustId; } } id++; } context.lastID = id;
- 이제 테이블에 추가될 모든 데이터가 있습니다.
데이터 추가
서비스 호출을 사용하여 테이블에서 데이터를 추가할 수 있습니다:
- 위에 추가된 마지막 엔티티 노드에 대해 + 를 클릭합니다.
- 서비스 -> 새 서비스 노드 옵션을 선택합니다.
- 일반 설정 섹션에서 다음을 설정합니다:
- 이름(예: AddCustData)
- 표시 이름(예: 고객 데이터 추가)
- 서비스 유형 데이터 서비스 선택
- 유형 테이블 선택
- 요청 정의에서 요청 추가를 클릭하여 테이블에 데이터를 추가할 요청을 정의합니다.
- 데이터 서비스 요청 정의 페이지에서 다음을 입력합니다:
- 메시지 노드를 추가하여 다음 응답 형식을 사용하여 추가된 값을 표시합니다:
'Customer account created for: {{context.GetCustData.response.body.queryResult[0].CustName}}, {{context.GetCustData.response.body.queryResult[0].CustEmail}}, {{context.GetCustData.response.body.queryResult[0].CustAddress}}, {{context.GetCustData.response.body.queryResult[0].CustType}}'
- 봇과 대화 옵션을 사용하여 메시지가 표시되면 값을 입력하고 메시지가 표시되는지 확인합니다.
결론
이 게시물에서 다음을 살펴보았습니다:
- 데이터 테이블을 생성하는 방법,
- 테이블에 열 추가,
- 서비스 노드를 사용하여 테이블에서 데이터를 가져오고 이를 추가 처리에 사용하는 방법,
- 서비스 노드를 사용하여 대화 작업에서 테이블로 데이터를 추가하는 방법,