동적 선택 사용자 입력 통제

  • 릴리스 버전: Washingtondc
  • 업데이트 날짜 2024년 03월 12일
  • 읽기13분
  • 주제에서 가상 에이전트 동적 선택 사용자 입력 컨트롤을 사용하여 사용자가 사용할 수 있는 선택 목록을 동적으로 만들 수 있습니다. 이러한 선택 항목은 테이블을 쿼리하거나 스크립트를 사용하여 동적으로 만듭니다.

    선택 목록 표시

    동적 선택 목록에는 페이지당 최대 10개의 항목이 포함됩니다. 10개 이상의 항목이 있는 경우 사용자는 추가 항목을 표시하고 검색 결과를 필터링할 수도 있습니다. 선택 목록 프롬프트에는 사용자가 결과를 필터링하기 위해 선택할 수 있는 검색 아이콘이 포함되어 있습니다.

    팁:
    페이지당 나열되는 항목의 기본 수를 변경하려면 시스템 속성을 수정할 com.glide.cs.picker_page_limit 수 있습니다. 기본값은 10입니다.

    다중 선택 사항 선택이 켜져 있으면 검색 결과를 필터링하기 위해 옵션 검색 필드 내에서 검색할 수 있습니다. 적용되는 모든 선택 사항을 선택하거나 입력한 다음 보내기 아이콘 보내기 화살표 아이콘을 선택합니다. LLM이 활성화 가상 에이전트된 를 통해 선택 사항을 보내면 LLM은 선택 사항이 검증 기준을 충족하는지 여부로 응답합니다.

    동적 선택 컨트롤은 선택 목록 위에 표시되는 헤더 카드를 추가하는 옵션도 제공합니다. 헤더 카드는 웹 및 모바일 채널에서 지원됩니다.
    • 헤더 카드에는 설명 텍스트와 함께 크거나 작은 이미지 또는 YouTube 동영상 카드가 포함될 수 있습니다. 선택 목록에는 기본적으로 최대 5개의 항목이 포함되지만 검색 기능은 표시되지 않습니다. 5개 이상의 항목이 있는 경우 사용자는 추가 항목을 표시하도록 선택할 수 있습니다.

    • 헤더 카드 아래에 표시되는 항목 수를 제어하려면 시스템 속성을 추가합니다 com.glide.cs.web_header_picker_page_limit . 값을 사용하여 선택 목록의 항목 수를 지정합니다. 시스템 속성 만들기에 대한 자세한 내용은 시스템 속성 추가를 참조하세요.

    LLM 주제 검색을 위한 동적 선택 사용자 입력 제어 속성

    속성 설명
    노드 이름 주제 플로우에서 이 동적 선택 사용자 정의 노드를 식별하는 이름입니다.
    상세 정보 설명 사용자에게 필요한 한 가지 정보입니다. 예: 사용자에게 인시던트를 선택하도록 요청.
    선택
    선택 항목 채우기 기준 사용할 동적 변수의 유형입니다. 다음 옵션 중 하나를 선택합니다.
    • 기록: 선택한 테이블에서 기록을 반환합니다. 이러한 옵션의 값은 GlideRecord 객체입니다.
    • 스크립트: 옵션 배열을 반환하는 식입니다.
      주:

      스크립트 표현식을 사용할 때 대규모 데이터 세트에 대한 보다 효율적인 페이지 매김 반환 결과를 얻으려면 다음 스크립트를 검토하고 이 스크립트를 사용할지 여부를 결정합니다.

      (function execute() {
       
      var pagingUtil = new global.VirtualAgentChoicePagingUtil(null, "sys_user", null, "user_name,name",
      "active=true", null, vaVars);
       
      var gr = pagingUtil.getPagingGlideRecordSecure("name", false);
      
      var options = pagingUtil.getSecureOptions(gr, null,'user_name', ['user_name','name']);
      
      return options;
      })()
      

      앞의 스크립팅 상세 정보에 대한 자세한 내용은 GlideRecords 에 대한 정보와 추가 정보를 검토하십시오.

      • fieldName: 필드 이름은 선택적 정보입니다. null로 전달합니다.
      • table: 사용 가능한 옵션을 표시하기 위해 쿼리할 테이블 이름입니다.
      • pageSize: 페이지 크기는 선택적 정보입니다. null로 전달합니다.
      • searchColumns: 모든 searchText에 적용되는 쉼표로 구분된 목록의 테이블 열입니다.
      • encodedQuery: 테이블 행에 적용할 초기 질의입니다. 예: active=true.
      • searchText: 검색 텍스트는 선택적 정보입니다. null로 전달합니다.
      • vaVars: 가상 에이전트 컨텍스트 변수(vaVars)에 대한 참조입니다.
      • orderByColumn: 옵션을 정렬하는 데 사용되는 테이블 열입니다.
      • orderDescending: 옵션이 내림차순으로 표시됩니다. true 또는 false 값만 허용됩니다.
      • gr: Glide 기록 이름입니다.
      • startRow: 시작 행은 선택적 정보입니다. null로 전달합니다.
      • valueColumn: 각 옵션의 값으로 사용할 테이블 열 이름입니다.
      • labelColumns: 각 옵션 표시에 사용할 테이블 열의 배열입니다.
    테이블 선택 항목을 채우는 방법으로 기록을 선택한 경우 검색할 테이블을 선택합니다.

    이 필드는 기록 옵션을 선택한 경우에만 사용할 수 있습니다.

    선택 항목 필터링 조건 작성기를 가상 에이전트 디자이너 사용하거나 스크립트를 제공하는 옵션입니다. 다음 중 하나를 선택합니다.
    • 조건 작성기: 테이블에서 기록의 하위 집합을 선택하는 데 사용되는 필터를 생성합니다.
    • 스크립트: 표시할 옵션(선택 목록)에 대한 열거형 목록을 정의합니다. 이름-값 쌍은 문자열 객체로 저장됩니다.

    이 필드는 기록 옵션을 선택한 경우에만 사용할 수 있습니다.

    고급
    사용자 프롬프트 적용

    LLM에서 생성된 메시지 대신 사용자에게 표시되는 사용자 지정 메시지의 필드를 열려면 전환합니다. 데이터 알약 선택기를 사용하여 일반 언어로 사용자 지정 메시지를 만들거나, 스크립트를 입력하거나, 조건을 정의할 수 있습니다.

    이 노드 숨기기
    다음과 같은 경우 이 노드를 조건부로 표시

    대화에 이 노드를 표시하기 위한 조건을 지정하는 노코드 조건문 또는 로우코드 스크립트입니다. 조건은 true로 평가되어야 합니다.

    LLM 주제 검색을 위한 동적 선택 사용자 입력 제어의 예

    주:
    가상 에이전트 디자이너 컨트롤은 다른 채널에서 다르게 표시되고 작동할 수 있습니다.
    입력 속성 목록 프롬프트

    기본 속성에는 이름, 설명, 목록으로 선택 항목 채우기 및 필터링 옵션이 포함됩니다. 고급 옵션에는 사용자 프롬프트 적용(Enforce user prompt) 및 텍스트 입력, 조건 또는 스크립트로 정의된 LLM에 대한 추가 지침(Additional instructions to LLM)이 포함됩니다.

    그림 1. 웹 UI 동적 선택 목록 프롬프트
    동적 선택 목록은 사용자가 생성한 인시던트 목록을 반환합니다.
    선택 목록에는 페이지당 10개의 항목이 표시됩니다. 10개 이상의 결과가 반환되는 경우:
    • 목록 끝에는 더 많은 결과를 표시할 수 있는 링크가 포함되어 있습니다.
    • 검색 아이콘()이 검색 결과 필터링 프롬프트에 표시됩니다. 사용자는 아이콘을 선택하여 검색 상자를 열고 필터를 입력합니다.
    • 복수 선택 항목을 선택할 때 검색 결과를 필터링하기 위해 옵션 검색 필드 내에서 검색할 수 있습니다. 적용되는 모든 선택 사항을 선택하거나 입력한 다음 보내기 아이콘 보내기 화살표 아이콘을 선택합니다. 선택 항목을 보내면 LLM은 선택 항목이 검증 기준을 충족하는지 여부로 응답합니다.

    NLU 주제 검색을 위한 동적 선택 사용자 입력 통제 속성

    속성 설명
    노드 이름 주제 플로우에서 이 동적 선택 사용자 정의 노드를 식별하는 이름입니다.
    변수 이름 이 프롬프트에 대한 사용자 응답을 저장하는 변수의 이름입니다. 변수 이름은 노드 이름 속성에서 자동으로 만들어집니다.
    프롬프트

    사용자에 대한 프롬프트 또는 질문입니다. 프롬프트는 텍스트 문자열 또는 텍스트를 반환하는 스크립트일 수 있습니다. 이 값은 기본값이 지정되지 않은 경우에만 사용됩니다. 예: 이름이 뭐예요?

    NLU 엔터티

    NLU 엔터티를 노드와 연결하는 옵션입니다. NLU 엔터티가 이 노드의 입력 변수와 연결된 경우 가상 에이전트는 사용자의 발언에 따라 지정된 값을 슬롯으로 채울 수 있습니다. 주제 의도와 연결된 엔터티 목록에서 엔터티를 선택합니다.

    노드에 대한 엔터티를 지정하면 사용자에게 인식된 엔터티 확인을 요청하지 않음 토글 스위치가 표시됩니다. 활성화하면 추출된 엔터티를 확인하라는 메시지가 표시되지 않습니다.

    이 필드는 인스턴스에서 검색이 활성화된 경우에만 NLU 사용할 수 있습니다.

    선택
    선택 항목 채우기 기준 사용할 동적 변수의 유형입니다. 다음 옵션 중 하나를 선택합니다.
    • 기록: 선택한 테이블에서 기록을 반환합니다. 이러한 옵션의 값은 GlideRecord 객체입니다.
    • 스크립트: 옵션 배열을 반환하는 식입니다.
    테이블 선택 항목을 채우는 방법으로 기록을 선택한 경우 검색할 테이블을 선택합니다.

    이 필드는 기록 옵션을 선택한 경우에만 사용할 수 있습니다.

    선택 항목 필터링 조건 작성기를 가상 에이전트 디자이너 사용하거나 스크립트를 제공하는 옵션입니다. 다음 중 하나를 선택합니다.
    • 조건 작성기: 테이블에서 기록의 하위 집합을 선택하는 데 사용되는 필터를 생성합니다.
    • 스크립트: 표시할 옵션(선택 목록)에 대한 열거형 목록을 정의합니다. 이름-값 쌍은 문자열 객체로 저장됩니다.

    이 필드는 기록 옵션을 선택한 경우에만 사용할 수 있습니다.

    기록 응답 메시지가 없습니다. 테이블 검색에서 기록을 반환하지 않을 때 사용자에게 표시되는 메시지입니다. 메시지는 텍스트 문자열 또는 텍스트를 반환하는 스크립트일 수 있습니다.
    고급
    이 노드 숨기기
    다음과 같은 경우 이 노드를 조건부로 표시

    대화에 이 노드를 표시하기 위한 조건을 지정하는 노코드 조건문 또는 로우코드 스크립트입니다. 조건은 true로 평가되어야 합니다.

    헤더 카드
    삽입 선택 목록 위에 헤더 카드를 삽입하려면 스위치를 전환합니다. 카드 추가 대화 상자 또는 스크립트를 사용할 수 있습니다.

    동적 선택 사용자 입력 컨트롤의 헤더 카드 섹션으로, 삽입 토글 및 도움을 원하십니까 라디오 버튼이 활성화되어 있습니다.

    자세한 내용은 정적 선택 또는 동적 선택 컨트롤에 헤더 카드 삽입 문서를 참조하십시오.

    도움을 받으시겠습니까?
    인터페이스를 사용하거나 가상 에이전트 디자이너 스크립트를 제공하는 옵션입니다. 다음 옵션 중 하나를 선택합니다.
    • : 스크립팅 없이 헤더 카드를 작성하려면 카드 추가를 선택합니다.
    • 아니요, 스크립트를 사용합니다. 스크립트 대화 상자를 열려면 스크립트 추가를 선택합니다.
    이 필드는 헤더 카드 옵션을 활성화한 경우에만 사용할 수 있습니다.
    카드 추가 대화 상자
    이 섹션은 헤더 카드가 활성화된 경우에만 사용할 수 있습니다.
    카드 유형
    헤더 카드의 유형입니다. 다음 중 하나를 선택합니다.
    • 텍스트가 있는 큰 이미지
    • 텍스트가 있는 작은 이미지
    • Youtube 비디오 카드
    대화 상자의 필드는 선택에 따라 변경됩니다.
    제목

    이미지 또는 비디오 제목입니다. 제목 텍스트를 입력하거나 데이터 정제 또는 스크립트를 사용하여 제목을 지정합니다.

    제목 링크 비디오 제목 하이퍼링크의 URL입니다. 링크 텍스트를 입력하거나 데이터 정제 또는 스크립트를 사용하여 링크를 지정합니다. 이 필드가 비어 있으면 제목이 일반 텍스트로 표시됩니다.

    이 필드는 YouTube 비디오 카드 옵션을 선택한 경우에만 사용할 수 있습니다.

    설명 이미지 또는 비디오에 대한 간략한 설명입니다.
    YouTube 동영상 ID YouTube URL 끝에 있는 영숫자 문자열입니다. 예를 들어 URL https://www.youtube.com/watch?v=AacDp2mUQ1I 에서 YouTube 동영상 ID는 AacDp2mUQ1I입니다.

    이 필드는 YouTube 비디오 카드 옵션을 선택한 경우에만 사용할 수 있습니다.

    이미지 URL 링크
    이미지 또는 이미지 파일의 URL 링크입니다. 이 필드를 설정하려면 다음 중 하나를 수행합니다.
    • 링크 텍스트를 입력하거나, 데이터 알약을 사용하거나, 스크립트를 사용하여 URL 링크를 지정합니다.
    • 이미지 업로드를 선택하여 이미지 파일을 업로드합니다.

    이 필드는 텍스트가 있는 큰 이미지 또는 텍스트가 있는 작은 이미지 옵션을 선택한 경우에만 사용할 수 있습니다.

    이미지 대체 텍스트 접근성 프로그램의 이미지를 설명하는 화면에서 읽을 수 있는 대체 텍스트입니다. 이 텍스트는 이미지와 함께 사용됩니다. 텍스트 필드, 데이터 알약 또는 스크립트를 사용하여 텍스트를 입력합니다.

    이 필드는 텍스트가 있는 큰 이미지 또는 텍스트가 있는 작은 이미지 옵션을 선택한 경우에만 사용할 수 있습니다.

    기본값
    기본값

    질문 또는 프롬프트에 대한 사용자 응답에 대해 미리 정의된 값입니다. 기본값 확인 필드에 정의된 응답은 사용자에게 기본값을 확인하도록 요청합니다. 사용자가 no로 응답하면 값이 null이 됩니다. 기본값은 텍스트 문자열 또는 텍스트를 반환하는 스크립트일 수 있습니다. 예를 들어 닷워킹을 사용하는 경우 기본값은 스크립트 변수 > 성 사용자 이름일 수 있습니다. 또는 스크립트를 사용하는 경우 기본값은 {{vaScripts.lastUsername}}일 수 있습니다.

    확인 메시지
    입력 완료 확인

    노드 상호작용이 완료되면 사용자에게 표시되는 봇 응답입니다. 메시지는 텍스트 문자열 또는 텍스트를 반환하는 스크립트일 수 있습니다. 예를 들어 닷워킹을 사용하는 경우: 감사합니다, (입력 변수 > 사용자 이름)! 또는 스크립트를 사용하는 경우 감사의 표시는 다음과 같을 수 있습니다 : 감사합니다, {{vaInputs.username}}!

    기본값 확인

    기본값 필드의 값이 올바른지 사용자에게 확인하도록 요청하는 메시지입니다. 이 메시지는 프롬프트 필드의 값 대신 사용됩니다. 텍스트 문자열 또는 텍스트를 반환하는 스크립트를 포함할 수 있습니다. 예를 들어 닷워킹을 사용하는 경우: (입력 변수 > 사용자 이름)입니까? 또는 스크립트를 사용하는 경우 확인 메시지가 다음과 같을 수 있습니다: Are you {{vaScripts.lastUsername}}?.

    대화 전환
    이 섹션은 인스턴스에서 NLU 검색이 활성화된 경우에만 사용할 수 있습니다.
    사용자가 제목을 변경할 수 있도록 켜기

    이 노드에 대해 NLU 예측을 활성화하는 옵션입니다. 사용하도록 설정하면 사용자는 사용 중인 입력 컨트롤의 유형에 관계없이 텍스트를 입력하여 질문에 답변할 수 있습니다. Virtual Agent는 이 발언을 사용하여 다른 기존 의도와 일치시키므로 사용자가 주제를 전환할 수 있습니다.

    이 노드 숨기기 또는 건너뛰기
    다음과 같은 경우 이 노드를 조건부로 표시

    대화에 이 노드를 표시하기 위한 조건을 지정하는 노코드 조건문 또는 로우코드 스크립트입니다. 조건은 true로 평가되어야 합니다.

    다음과 같은 경우 사용자가 이 노드를 건너뛸 수 있도록 허용

    사용자가 대화에서 이 노드를 건너뛸 수 있도록 허용하는 조건을 지정하는 노코드 조건문 또는 로우코드 스크립트입니다.

    NLU 주제 검색을 위한 동적 선택 사용자 입력 통제의 예

    주:
    가상 에이전트 디자이너 컨트롤은 다른 채널에서 다르게 표시되고 작동할 수 있습니다.
    입력 속성 목록 프롬프트
    그림 2. 동적 선택 사용자 입력 제어 기본 속성
    기본 속성에는 노드 이름, 프롬프트, NLU 엔터티 및 목록으로 선택 항목 채우기가 포함됩니다.
    그림 3. 웹 UI 동적 선택 목록 프롬프트
    동적 선택 목록은 사용자가 생성한 인시던트 목록을 반환합니다.
    선택 목록에는 페이지당 10개의 항목이 표시됩니다. 10개 이상의 결과가 반환되는 경우:
    • 목록 끝에는 더 많은 결과를 표시할 수 있는 링크가 포함되어 있습니다.
    • 검색 아이콘()이 검색 결과 필터링 프롬프트에 표시됩니다. 사용자는 아이콘을 선택하여 검색 상자를 열고 필터를 입력합니다.
    • 복수 선택 항목을 선택할 때 검색 결과를 필터링하기 위해 옵션 검색 필드 내에서 검색할 수 있습니다. 적용되는 모든 선택 사항을 선택하거나 입력한 다음 보내기 아이콘 보내기 화살표 아이콘을 선택합니다.
    그림 4. 헤더 카드가 있는 웹 UI 동적 선택 목록 프롬프트
    프롬프트는 "무엇을 확인하고 싶습니까?"라고 묻고 호텔 사진과 제목이 뒤따릅니다. 선택에는 식사, 스위트 및 시설이 포함됩니다.
    선택 목록에는 페이지당 5개의 항목이 포함됩니다. 5개 이상의 결과가 반환되면 목록에 더 많은 결과를 표시할 수 있는 옵션이 제공됩니다.
    주:
    헤더 카드를 사용하면 검색 기능이 억제됩니다.

    동적 선택 목록 값 식 예시

    (function execute(table) {
            var options = [];
            var gr = new GlideRecordSecure(table);
            gr.addEncodedQuery('active=true');
            gr.setLimit(5);
            gr.query();
            while(gr.next()) {
                options.push({ 'value': gr.getUniqueValue(), 'label': gr.getValue('short_description') });
            }
            return options;
    })(table)
    

    Choice Value Expression 속성의 스크립트는 선택 배열을 정의하고 반환합니다. 이 예시에서 스크립트는 options라는 배열을 만들고 GlideRecord 쿼리에서 찾은 각 기록을 이 배열에 추가합니다. 배열의 각 요소에는 해당 GlideRecord의 데이터를 사용하여 레이블 키에 값이 지정됩니다. 컨트롤의 Table 속성은 스크립트에서 사용하는 테이블을 정의합니다. 이 예시 스크립트는 gr.setLimit(5) 를 사용하여 반환되는 기록 수를 5로 제한합니다. 이 방법을 사용하면 반환된 레코드가 지나치게 큰 선택 목록을 만드는 것을 방지할 수 있습니다.

    표 1. 동적 선택 제어 값 표현식 키
    설명
    선택 항목의 값입니다. 사용자가 컨트롤에서 선택 항목을 선택하면 이 값은 변수 이름 속성에 명명된 변수에 저장됩니다.
    레이블 선택 목록에서 이 선택 항목에 대해 나타나는 레이블입니다.

    채널 지원

    표 2. 동적 선택 사용자 입력 컨트롤에 대한 채널 지원
    채널 지원 제약 조건
    웹 UI 지원됨 없음
    모바일 UI 지원됨 없음
    Now Assist 패널 지원됨 없음
    Microsoft Teams 지원됨 없음
    Slack 지원됨 헤더 카드는 지원되지 않습니다.
    Workplace 지원됨 헤더 카드는 지원되지 않습니다.
    Facebook Messenger 지원되지 않음 해당 사항 없음
    Sms Twilio 지원됨 헤더 카드는 지원되지 않습니다.
    LINE 지원되지 않음 해당 사항 없음
    WhatsApp 지원됨 없음
    Apple Messages for Business 지원됨 없음
    Alexa (음성) 지원됨 화면 장치의 경우 터치 스크롤을 사용합니다. 링크를 클릭할 수 없습니다. 화면이 아닌 장치의 경우 음성 페이지 매김을 사용합니다.