시작
Kore.ai 대화형 플랫폼
챗봇 개요
자연어 처리(NLP)
봇 개념 및 용어들
빠른 시작 가이드
봇 빌더 접근 방법
사용 고지 사항 (영어)
Kore.ai 봇 빌더로 작업하기
봇 구축 시작하기
릴리스 정보
현재 버전 (영어)
이전 버전 (영어)

개념
디자인
스토리보드
대화 작업
개요
Using the Dialog Builder Tool
노드 유형
사용자 의도 노드
대화 노드
엔티티 노드
양식 노드
확인 노드
서비스 노드
봇 조치 노드
Service Node
WebHook 노드
스크립트 노드
노드 그룹화하기
Agent Transfer Node
사용자 프롬프트
음성 통화 속성
대화 관리
노드 및 전환
구성 요소 전환
컨텍스트 개체
이벤트 기반 봇 조치
지식 그래프
소개
지식 추출
지식 그래프 생성
봇에 지식 그래프 추가
그래프 생성
지식 그래프 작성
FAQ 추가
작업 실행
기존 소스에서 FAQ 구축
특성, 동의어 및 불용어
변수 네임스페이스 관리
수정
용어 편집 및 삭제
용어 편집 및 삭제
질문과 응답 편집
Knowledge Graph Training
지식 그래프 분석
봇 온톨로지 가져오기 및 내보내기
지식 그래프 가져오기
지식 그래프 내보내기
지식 그래프 생성
CSV 파일에서
JSON 파일
지식 그래프 생성
경고 작업
스몰 토크
Digital Skills
디지털 양식
Views
Digital Views
Panels
Widgets
기차
봇 성능 향상 – NLP 최적화
기계 학습
소개
모델 검증
기초 의미
지식 그래프 학습
특성
순위 및 해결
고급 NLP 설정
NLP 설정 및 지침
봇 인텔리전스
소개
컨텍스트 관리
컨텍스트 관리
대화 관리
다중 – 의도 탐지
엔티티 수정
기본 대화
정서 관리
어조 분석
Test & Debug
봇과 대화
발화 테스트
배치 테스트하기
대화 테스트
배포
채널 활성화
봇 게시
분석
봇 분석하기
Conversations Dashboard
Performance Dashboard
사용자 정의 대시보드
소개
맞춤형 메타 태그
사용자 정의 대시보드 생성 방법
Conversation Flows
NLP 지표
Containment Metrics
사용량 지표
스마트 봇
소개
범용 봇
소개
범용 봇 정의
범용 봇 생성
범용 봇 학습
범용 봇 커스터마이징
범용 봇용 추가 언어 활성화
스토어
Manage Assistant
플랜 및 사용량
Overview
Usage Plans
Support Plans
플랜 관리
봇 인증
다국어 봇
개인 식별 정보 삭제하기
봇 변수 사용
IVR 통합
일반 설정
봇 관리

방법
간단한 봇 생성하기
Design Conversation Skills
뱅킹 봇 생성
뱅킹 봇 – 자금 이체
뱅킹 봇 – 잔액 업데이트
Knowledge Graph (KG) 구축
스마트 경고를 예약하는 방법
Design Digital Skills
디지털 양식 설정 방법
디지털 보기 설정 방법
데이터 테이블에 데이터를 추가하는 방법
데이터 테이블 내 데이터 업데이트 방법
UI 양식에서 데이터 테이블에 데이터를 추가하는 방법
Train the Assistant
특성 사용 방법
의도와 엔티티에 대한 패턴 사용 방법
컨텍스트 전환 관리 방법
Deploy the Assistant
상담사 전환을 설정하는 방법
봇 기능 사용 방법
콘텐츠 변수 사용 방법
전역 변수 사용 방법
Kore.ai 웹 SDK 튜토리얼
Kore.ai 위젯 SDK 튜토리얼
Analyze the Assistant
사용자 정의 대시보드 생성 방법
사용자 지정 태그를 사용하여 봇 메트릭을 필터링하는 방법

API 및 SDK
API 참조
Kore.ai API 사용
API 목록
API 컬렉션
koreUtil Libraries
SDK 참조
상담사 전환을 설정하는 방법
봇 기능 사용 방법
콘텐츠 변수 사용 방법
전역 변수 사용 방법
소개
Kore.ai 웹 SDK 튜토리얼
Kore.ai 위젯 SDK 튜토리얼

관리
소개
봇 관리자 콘솔
대시보드
사용자 관리
사용자 관리
그룹 관리
역할 관리
봇 관리 모듈
등록
사용자 초대
사용자 등록을 위한 대량 초대 보내기
사용자 및 사용자 데이터 가져오기
Active Directory에서 사용자 동기화
보안 및 준수
싱글 사인 온 사용
보안 설정
Kore.ai 커넥터
봇 관리자용 분석
Billing (지원하지 않음)
  1. Docs
  2. Virtual Assistants
  3. Builder
  4. Dialog Task
  5. 작업에서 세션 변수 사용하기

작업에서 세션 변수 사용하기

작업을 정의할 때 봇 플랫폼이 제공하는 세션 변수 또는 정의한 사용자 정의 변수, 변수의 범위를 정의하는 컨텍스트에 액세스할 수 있습니다. 예를 들어, 일부 API 요청에서는 작업을 실행하기 전에 세션 변수를 설정해야 합니다. 또는 다음 노드로 전환하려면 세션 변수 액세스를 위한 대화 작업 구성 요소가 필요합니다. 또한 대화 작업은 추가적인 시스템 변수를 사용하여 context 개체에 액세스할 수 있습니다. 자세한 내용은 컨텍스트 개체를 참조하세요. 세션 변수를 사용하여 작업에 대해 JavaScript를 정의할 수 있으며 JavaScript 탭에서 사용자 프롬프트 편집기를 사용할 수 있습니다.

세션 변수

이 세션에서는 컨텍스트 변수, 사용자 정의 JavaScript 코드에서 작업에 대해 사용할 수 있는 컨텍스트 변수의 범위를 설명합니다. 각 컨텍스트 유형에 따라 키/값 쌍을 GET 또는 PUT하는 JavaScript 구문은 다음과 같습니다.

   "EnterpriseContext" : {
       "get" : function(key){...},//get the specified key
       "put" : function(key, value, ttl){...} //put the value at the key for the specified ttl, ttl is in minutes
   },
   "BotContext" : {
       "get" : function(key){...},//get the specified key
       "put" : function(key, value, ttl){...} //put the value at the key for the specified ttl, ttl is in minutes
   },
   "UserContext" : {
       "get" : function(key){...},//get the specified key
   },
   "UserSession" : {
       "get" : function(key){...},//get the specified key
       "put" : function(key, value, ttl){...} //put the value at the key for the specified ttl, ttl is in minutes
   },
   "BotUserSession" : {
       "get" : function(key){...},//get the specified key
       "put" : function(key, value, ttl){...} //put the value at the key for the specified ttl, ttl is in minutes
   }

예:

    BotContext.put("topicSessionVariable","music",2000);
    UserSession.put("firstName","Mary",20000);
    UserContext.get("firstName");

세션 변수 유형

다음 유형의 세션 변수를 봇 플랫폼에서 사용할 수 있습니다.

  • EnterpriseContext – 엔터프라이즈 내 모든 봇과 사용자가 사용할 수 있는 키-값 쌍입니다. 예: GitHub 봇을 사용하면 사용자는 하나 이상의 엔터프라이즈 저장소에 액세스해야 합니다. 다음 JavaScript 코드를 사용하여 저장소 데이터를 Gitrepository (엔터프라이즈 컨텍스트)로 유지할 수 있습니다.
    var userRepository = {
    "title": _labels_[repository],
    "value": repository
    };
    EnterpriseContext.put('Gitrepository', userRepository, 200000);
  • BotContext – 특정 봇의 모든 사용자가 사용할 수 있는 키/값 쌍입니다. 예: 사용자의 위치에 따라 세션에서 금융 거래에 대한 기본 통화를 설정할 수 있습니다. 다음 JavaScript 코드를 사용하여 기본 통화 데이터를 currency (봇 컨텍스트)로 유지할 수 있습니다.
    var defaultCurrency = { TODO Custom JavaScript for location-based currency }
    BotContext.put('currency', defaultCurrency, 200000);
  • UserContext – 사용자의 모든 봇이 사용할 수 있는 키-값 쌍입니다. 이 키는 읽기 전용이며 시스템에서 다음과 같은 사용자 데이터로 제공됩니다.
      • UserContext.get("_id") – Kore.ai 사용자 ID입니다.
      • UserContext.get("emailId") – 사용자 ID와 연결된 이메일 주소입니다.
      • UserContext.get("lastName") – 사용자의 성입니다.
      • UserContext.get("firstName") – 사용자의 이름입니다.
      • UserContext.get("profImage") – 사용자의 이미지 또는 아바타 파일 이름입니다.
      • UserContext.get("profColor") – 사용자의 계정 색상입니다.
      • UserContext.get("activationStatus") – 사용자의 계정 상태입니다. 다음과 같을 수 있습니다.
        • active – 사용자는 활성 상태이며 다른 Kore.ai 사용자와 상호 작용할 수 있습니다.
        • inactive – 사용자는 비활성 상태이지만 시스템에 사용자 데이터가 유지됩니다.
        • suspended – 관리자가 일시 중단한 사용자입니다. 사용자는 Kore.ai에 로그인할 수 없지만 메시지는 일시 중단된 사용자에게 계속 보낼 수 있습니다.
        • locked – 사용자가 최대 로그인 시도 횟수를 초과했습니다.
      • UserContext.get("jTitle") – 정의된 경우 사용자의 직함입니다.
      • UserContext.get("orgId") – 정의된 경우 사용자 계정의 조직 ID입니다.
      • UserContext.get("customData") – 사용자 정보를 웹 채널에 전달하는 데 사용합니다. 현재는 webSDK 전용입니다.자세한 내용은 여기를 참조하세요.
      • UserContext.get("identities") – 정의된 경우 대체 사용자 ID입니다.
        • val – 대체 ID
        • type – 대체 ID의 유형입니다.

    예: UserSession 변수를 사용하여 값을 세션에 PUT할 수 있습니다. 두 가지 UserContext 변수를 통한 GET을 기반으로 키를 fullName으로 정의합니다.

    var name = UserContext.get("firstName")+UserContext.get("lastName");
    UserSession.put("fullName") = name;
  • UserSession – 엔터프라이즈 내 모든 봇의 특정 사용자에 대해 정의할 수 있는 키/값 쌍입니다. 예: 상거래, 운송 및 가정 배달 서비스를 위한 사용자 집 주소와 같이 사용자 위치를 저장하여 모든 봇이 사용할 수 있도록 해야 합니다. 예: 다음 JavaScript 코드를 사용하여 기본 위치 데이터를 HomeLocation (사용자 세션)으로 유지할 수 있습니다.
    var location = {
     "title": labels[location],
     "value": {
     "latitude": location.latitude,
     "longitude": request.location.longitude
     }
    };
    UserSession.put('HomeLocation', location, '20000');
  • BotUserSession – 특정 사용자가 입력한 값에 따라 특정 봇에 정의할 수 있는 키/값 쌍입니다. 예: 봇에 하나 이상의 작업에 대해 사용자 위치를 유지해야 합니다. 여행 봇의 경우 같은 집 주소와 목적지 주소를 기준으로 항공편과 호텔을 예약할 수 있습니다. 예: 다음 JavaScript 코드를 사용하여 기본 집 및 목적지 데이터를 HomeLocation (봇 사용자 세션) 및 DestinationLocation (봇 사용자 세션)으로 유지할 수 있습니다.
    var homelocation = {
     "title": labels[request.sourceLocation],
     "value": {
     "latitude": request.sourceLocation.latitude,
     "longitude": request.sourceLocation.longitude
     }
    };
    BotUserSession.put('HomeLocation', homelocation, '20000');
    var destlocation = {
     "title": labels[request.destLocation],
     "value": {
     "latitude": request.destLocation.latitude,
     "longitude": request.destLocation.longitude
     }
    };
    BotUserSession.put('DestinationLocation', destlocation, '20000’);

표준 키

세션 키 및 컨텍스트 키 외에도 재사용 가능한 데이터를 위한 Kore.ai 변수 플레이스 홀더가 있습니다. 다음 중 하나를 선택합니다.

  • _labels_ – GUID 대신 친숙한 레이블을 반환하는 데 사용됩니다. 예: 웹 서비스 API에서 사용자 데이터를 요청할 때 반환되는 프로젝트 또는 워크스페이스의 ID는 GUID입니다. _labels_ 키를 사용하여 GUID 대신 최종 사용자에게 GUID의 친숙한 이름을 알려줄 수 있습니다. Kore.ai에서 드롭다운 컨트롤은 _labels_ 키의 응답을 다음과 같이 저장합니다. 예:
    {
        "_labels_": {
            "15379386734832": "roadlabs.com",
            "26377329985341": "Test Project",
            "workspace": "roadlabs.com",
            "project": "Test Project"
        },
        "_fields_": {
            "workspace": "15379386734832",
            "project": "26377329985341"
        }
    }

    응답에 _labels_ 키를 사용하는 방법:

    print('<a href="https://app.asana.com/0/' + workspace.id + '/' + id + '/f" target="_blank">' + title + '</a> in workspace '+_labels_[workspace.id]);
  • _tenant_ – 정의된 경우 엔터프라이즈에 대한 테넌트를 반환하는 데 사용됩니다. 예: JIRAhttps://koreteam.atlassian.net/browse/BBF-3265에서 koreteam과 같은 URL에 대한 테넌트가 필요합니다. _tenant_ 키를 사용하여 다음과 같은 작업 응답에서 링크를 작성할 수 있습니다.
    var title = request.fields.issuetype.name + ' <a href ="https://' + _tenant_ + '/browse/' + response.key + '" target = "_blank">' + request.fields.summary + '</a>  has been created.';
  • _fields_ – 페이로드 응답의 일부가 아닌, 사용자가 제공한 조치 작업 필드 입력을 반환하는 데 사용됩니다. 예: JIRA 조치 작업에서 최종 사용자에게 워크스페이스 이름을 입력하라는 메시지가 표시됩니다. _fields_ 키를 사용하여 최종 사용자 입력을 다음과 같이 저장할 수 있습니다.
    _fields_["workspace"]
  • _last_run – 웹 서비스 풀의 UTC 날짜 타임스탬프를 ISO 8601 형식을 사용하여 반환하는 데 사용됩니다. 예: 2016-03-05T12:44:38+00:00. 예: 웹 서비스 요청이 페이로드 응답에서 모든 활동을 반환하는 경우 _last_run 키를 사용하여 다음 _last_run 값의 앞 또는 뒤에 표시되는 결과를 필터링할 수 있습니다.

작업에서 세션 변수 사용하기

작업을 정의할 때 봇 플랫폼이 제공하는 세션 변수 또는 정의한 사용자 정의 변수, 변수의 범위를 정의하는 컨텍스트에 액세스할 수 있습니다. 예를 들어, 일부 API 요청에서는 작업을 실행하기 전에 세션 변수를 설정해야 합니다. 또는 다음 노드로 전환하려면 세션 변수 액세스를 위한 대화 작업 구성 요소가 필요합니다. 또한 대화 작업은 추가적인 시스템 변수를 사용하여 context 개체에 액세스할 수 있습니다. 자세한 내용은 컨텍스트 개체를 참조하세요. 세션 변수를 사용하여 작업에 대해 JavaScript를 정의할 수 있으며 JavaScript 탭에서 사용자 프롬프트 편집기를 사용할 수 있습니다.

세션 변수

이 세션에서는 컨텍스트 변수, 사용자 정의 JavaScript 코드에서 작업에 대해 사용할 수 있는 컨텍스트 변수의 범위를 설명합니다. 각 컨텍스트 유형에 따라 키/값 쌍을 GET 또는 PUT하는 JavaScript 구문은 다음과 같습니다.

   "EnterpriseContext" : {
       "get" : function(key){...},//get the specified key
       "put" : function(key, value, ttl){...} //put the value at the key for the specified ttl, ttl is in minutes
   },
   "BotContext" : {
       "get" : function(key){...},//get the specified key
       "put" : function(key, value, ttl){...} //put the value at the key for the specified ttl, ttl is in minutes
   },
   "UserContext" : {
       "get" : function(key){...},//get the specified key
   },
   "UserSession" : {
       "get" : function(key){...},//get the specified key
       "put" : function(key, value, ttl){...} //put the value at the key for the specified ttl, ttl is in minutes
   },
   "BotUserSession" : {
       "get" : function(key){...},//get the specified key
       "put" : function(key, value, ttl){...} //put the value at the key for the specified ttl, ttl is in minutes
   }

예:

    BotContext.put("topicSessionVariable","music",2000);
    UserSession.put("firstName","Mary",20000);
    UserContext.get("firstName");

세션 변수 유형

다음 유형의 세션 변수를 봇 플랫폼에서 사용할 수 있습니다.

  • EnterpriseContext – 엔터프라이즈 내 모든 봇과 사용자가 사용할 수 있는 키-값 쌍입니다. 예: GitHub 봇을 사용하면 사용자는 하나 이상의 엔터프라이즈 저장소에 액세스해야 합니다. 다음 JavaScript 코드를 사용하여 저장소 데이터를 Gitrepository (엔터프라이즈 컨텍스트)로 유지할 수 있습니다.
    var userRepository = {
    "title": _labels_[repository],
    "value": repository
    };
    EnterpriseContext.put('Gitrepository', userRepository, 200000);
  • BotContext – 특정 봇의 모든 사용자가 사용할 수 있는 키/값 쌍입니다. 예: 사용자의 위치에 따라 세션에서 금융 거래에 대한 기본 통화를 설정할 수 있습니다. 다음 JavaScript 코드를 사용하여 기본 통화 데이터를 currency (봇 컨텍스트)로 유지할 수 있습니다.
    var defaultCurrency = { TODO Custom JavaScript for location-based currency }
    BotContext.put('currency', defaultCurrency, 200000);
  • UserContext – 사용자의 모든 봇이 사용할 수 있는 키-값 쌍입니다. 이 키는 읽기 전용이며 시스템에서 다음과 같은 사용자 데이터로 제공됩니다.
      • UserContext.get("_id") – Kore.ai 사용자 ID입니다.
      • UserContext.get("emailId") – 사용자 ID와 연결된 이메일 주소입니다.
      • UserContext.get("lastName") – 사용자의 성입니다.
      • UserContext.get("firstName") – 사용자의 이름입니다.
      • UserContext.get("profImage") – 사용자의 이미지 또는 아바타 파일 이름입니다.
      • UserContext.get("profColor") – 사용자의 계정 색상입니다.
      • UserContext.get("activationStatus") – 사용자의 계정 상태입니다. 다음과 같을 수 있습니다.
        • active – 사용자는 활성 상태이며 다른 Kore.ai 사용자와 상호 작용할 수 있습니다.
        • inactive – 사용자는 비활성 상태이지만 시스템에 사용자 데이터가 유지됩니다.
        • suspended – 관리자가 일시 중단한 사용자입니다. 사용자는 Kore.ai에 로그인할 수 없지만 메시지는 일시 중단된 사용자에게 계속 보낼 수 있습니다.
        • locked – 사용자가 최대 로그인 시도 횟수를 초과했습니다.
      • UserContext.get("jTitle") – 정의된 경우 사용자의 직함입니다.
      • UserContext.get("orgId") – 정의된 경우 사용자 계정의 조직 ID입니다.
      • UserContext.get("customData") – 사용자 정보를 웹 채널에 전달하는 데 사용합니다. 현재는 webSDK 전용입니다.자세한 내용은 여기를 참조하세요.
      • UserContext.get("identities") – 정의된 경우 대체 사용자 ID입니다.
        • val – 대체 ID
        • type – 대체 ID의 유형입니다.

    예: UserSession 변수를 사용하여 값을 세션에 PUT할 수 있습니다. 두 가지 UserContext 변수를 통한 GET을 기반으로 키를 fullName으로 정의합니다.

    var name = UserContext.get("firstName")+UserContext.get("lastName");
    UserSession.put("fullName") = name;
  • UserSession – 엔터프라이즈 내 모든 봇의 특정 사용자에 대해 정의할 수 있는 키/값 쌍입니다. 예: 상거래, 운송 및 가정 배달 서비스를 위한 사용자 집 주소와 같이 사용자 위치를 저장하여 모든 봇이 사용할 수 있도록 해야 합니다. 예: 다음 JavaScript 코드를 사용하여 기본 위치 데이터를 HomeLocation (사용자 세션)으로 유지할 수 있습니다.
    var location = {
     "title": labels[location],
     "value": {
     "latitude": location.latitude,
     "longitude": request.location.longitude
     }
    };
    UserSession.put('HomeLocation', location, '20000');
  • BotUserSession – 특정 사용자가 입력한 값에 따라 특정 봇에 정의할 수 있는 키/값 쌍입니다. 예: 봇에 하나 이상의 작업에 대해 사용자 위치를 유지해야 합니다. 여행 봇의 경우 같은 집 주소와 목적지 주소를 기준으로 항공편과 호텔을 예약할 수 있습니다. 예: 다음 JavaScript 코드를 사용하여 기본 집 및 목적지 데이터를 HomeLocation (봇 사용자 세션) 및 DestinationLocation (봇 사용자 세션)으로 유지할 수 있습니다.
    var homelocation = {
     "title": labels[request.sourceLocation],
     "value": {
     "latitude": request.sourceLocation.latitude,
     "longitude": request.sourceLocation.longitude
     }
    };
    BotUserSession.put('HomeLocation', homelocation, '20000');
    var destlocation = {
     "title": labels[request.destLocation],
     "value": {
     "latitude": request.destLocation.latitude,
     "longitude": request.destLocation.longitude
     }
    };
    BotUserSession.put('DestinationLocation', destlocation, '20000’);

표준 키

세션 키 및 컨텍스트 키 외에도 재사용 가능한 데이터를 위한 Kore.ai 변수 플레이스 홀더가 있습니다. 다음 중 하나를 선택합니다.

  • _labels_ – GUID 대신 친숙한 레이블을 반환하는 데 사용됩니다. 예: 웹 서비스 API에서 사용자 데이터를 요청할 때 반환되는 프로젝트 또는 워크스페이스의 ID는 GUID입니다. _labels_ 키를 사용하여 GUID 대신 최종 사용자에게 GUID의 친숙한 이름을 알려줄 수 있습니다. Kore.ai에서 드롭다운 컨트롤은 _labels_ 키의 응답을 다음과 같이 저장합니다. 예:
    {
        "_labels_": {
            "15379386734832": "roadlabs.com",
            "26377329985341": "Test Project",
            "workspace": "roadlabs.com",
            "project": "Test Project"
        },
        "_fields_": {
            "workspace": "15379386734832",
            "project": "26377329985341"
        }
    }

    응답에 _labels_ 키를 사용하는 방법:

    print('<a href="https://app.asana.com/0/' + workspace.id + '/' + id + '/f" target="_blank">' + title + '</a> in workspace '+_labels_[workspace.id]);
  • _tenant_ – 정의된 경우 엔터프라이즈에 대한 테넌트를 반환하는 데 사용됩니다. 예: JIRAhttps://koreteam.atlassian.net/browse/BBF-3265에서 koreteam과 같은 URL에 대한 테넌트가 필요합니다. _tenant_ 키를 사용하여 다음과 같은 작업 응답에서 링크를 작성할 수 있습니다.
    var title = request.fields.issuetype.name + ' <a href ="https://' + _tenant_ + '/browse/' + response.key + '" target = "_blank">' + request.fields.summary + '</a>  has been created.';
  • _fields_ – 페이로드 응답의 일부가 아닌, 사용자가 제공한 조치 작업 필드 입력을 반환하는 데 사용됩니다. 예: JIRA 조치 작업에서 최종 사용자에게 워크스페이스 이름을 입력하라는 메시지가 표시됩니다. _fields_ 키를 사용하여 최종 사용자 입력을 다음과 같이 저장할 수 있습니다.
    _fields_["workspace"]
  • _last_run – 웹 서비스 풀의 UTC 날짜 타임스탬프를 ISO 8601 형식을 사용하여 반환하는 데 사용됩니다. 예: 2016-03-05T12:44:38+00:00. 예: 웹 서비스 요청이 페이로드 응답에서 모든 활동을 반환하는 경우 _last_run 키를 사용하여 다음 _last_run 값의 앞 또는 뒤에 표시되는 결과를 필터링할 수 있습니다.
메뉴