본 방법에서는 고객의 계좌 관련 데이터가 데이터 테이블에 저장되는 뱅킹 봇 시나리오를 살펴보겠습니다. 사용자의 요청에 따라 데이터가 업데이트될 방법을 살펴보겠습니다. 데이터 테이블의 정의 및 Kore.ai 봇 플랫폼에서 데이터 테이블을 구현하는 방법에 대한 자세한 내용은 여기를 참조하세요.
전제 조건
- 봇 구축 지식,
- 위에서 언급한 표에 액세스할 수 있는 뱅킹 봇 및 해당 표에 있는 데이터(데이터 생성 및 추가를 위한 활용 사례 예시는 여기를 참조합니다).
설정
다음 시나리오를 각각 하나씩 살펴보겠습니다.
- 다음을 위한 대화 작업:
- 필요한 정보 수집,
- 서비스를 호출하여 고객 정보를 업데이트합니다.
대화 작업 설정
필요한 정보를 수집하기 위한 대화 작업을 생성하고 서비스 노드를 사용하여 데이터 테이블을 수집된 값으로 업데이트합니다.
대화 작업 생성
- 왼쪽 탐색 메뉴에서 봇 작업 -> 대화 작업을 선택합니다.
- 대화 작업에서 +를 클릭하여 새 작업 생성
- IntentName 입력(예: UpdateCustomer)
- 생성 및 진행하여 대화 빌더 페이지를 엽니다
- 의도 노드 기본 설정을 유지하고 의도 노드를 닫습니다.
- 의도 노드 옆의 +를 클릭하고 엔티티를 추가하여 고객 ID를 캡처합니다:
엔티티 이름 유형 사용자 프롬프트 CustId 문자열 고객 ID를 입력하세요 - 우선, 주어진 고객 ID에 대한 테이블에서 데이터를 가져온 다음 논리 노드를 사용하여 프로세스 흐름을 제어합니다.
데이터 가져오기
서비스 호출을 사용하여 테이블에서 데이터를 가져올 수 있습니다:
- 엔티티 노드에 대해 +를 클릭합니다.
- 서비스 -> 새 서비스 노드 옵션을 선택합니다.
- 일반 설정 섹션에서 다음을 설정합니다:
- 이름(예: GetCustomerData)
- 표시 이름(예: 고객 데이터 가져오기)
- 서비스 유형 데이터 서비스 선택
- 유형 테이블 선택
- 요청 정의에서 요청 추가를 클릭하여 테이블에서 데이터를 가져올 요청을 정의합니다.
- 데이터 서비스 요청 정의 페이지에서 다음을 입력합니다:
- 테이블 이름 선택을 사용자 지정 가능으로 선택합니다.
- 데이터 가져오기로 조치
- 필터 선택 CustId = {{context.entities.CustId}}를 선택합니다.
- 정의를 저장하고 서비스 노드를 닫습니다.
- 메시지 노드를 추가하여 다음 컨텍스트 변숫값을 사용하여 가져오는 레코드를 표시합니다. 하나의 레코드만 가져오므로 행에 대한 스태틱 [0] 참조를 사용합니다:
'For the customer number entered, we have the following details: {{context.GetCustomerData.response.body.queryResult[0].CustName}}, {{context.GetCustomerData.response.body.queryResult[0].CustEmail}}, {{context.GetCustomerData.response.body.queryResult[0].Address}}, {{context.GetCustomerData.response.body.queryResult[0].CustType}}'
데이터 업데이트
엔티티 노드와 논리 노드를 사용하여 고객의 입력값을 캡처하고 프로세스 흐름을 제어할 것입니다.
- 위에 추가된 마지막 메시지 노드에 대해 + 를 클릭합니다.
- 엔티티 노드를 선택하고 다음 설정을 사용하여 항목 목록(열거) 유형 엔티티를 추가합니다.
표시 이름 값 이메일 ID 이메일 ID 주소 주소 - 로직 노드를 추가하고 위의 엔티티 노드의 값을 기반으로 고객의 이메일 ID 또는 주소를 가져오며, 여기서 CustEmail 및 CustAddress 는 고객 이메일 ID 및 고객 주소를 캡처하는 엔티티입니다.
- 또한 현재 정보로 컨텍스트 변수를 입력하며, 이러한 변수는 데이터 테이블을 업데이트하는 데 사용됩니다.
- 이메일 ID 및 주소 엔티티에서 스크립트 노드를 트리거 하여 다음 스크립트를 사용하여 컨텍스트 변수를 적절히 수정합니다:
if (context.entities.CustUpdateChoice == 'Address') { context.custAdd = context.entities.CustAddress; } else { context.custEmail = context.entities.CustEmail; }
- 서비스 -> 새 서비스 노드 옵션을 선택합니다.
- 일반 설정 섹션에서 다음을 설정합니다:
- 이름(예: UpdateCust)
- 표시 이름(예: 고객 데이터 업데이트)
- 서비스 유형 데이터 서비스 선택
- 유형 테이블 선택
- 요청 정의에서 요청 추가를 클릭하여 테이블에 데이터를 추가할 요청을 정의합니다.
- 데이터 서비스 요청 정의 페이지에서 다음을 입력합니다:
- 메시지 노드를 추가하여 성공 메시지를 표시합니다.
- 봇과 대화 옵션을 사용하여 메시지가 표시되면 값을 입력하고 메시지가 표시되는지 확인합니다.
결론
이 게시물에서 다음을 살펴보았습니다:
- 서비스 노드를 사용하여 테이블에서 데이터를 가져오고 이를 추가 처리에 사용하는 방법,
- 서비스 노드를 사용하여 대화 작업에서 테이블로 데이터를 업데이트하는 방법