동적 선택 사용자 입력 통제
주제에서 가상 에이전트 동적 선택 사용자 입력 컨트롤을 사용하여 사용자가 사용할 수 있는 선택 항목 목록을 동적으로 만듭니다. 이러한 선택 항목은 테이블을 쿼리하거나 스크립트를 사용하여 동적으로 생성함으로써 생성합니다.
선택 목록 표시
동적 선택 목록에는 페이지당 최대 10개의 항목이 포함됩니다. NLU 대화에 10개가 넘는 항목이 있는 경우 추가 항목을 표시하고 검색 결과를 필터링할 수도 있습니다. 선택 목록 프롬프트에는 검색 아이콘, 결과를 필터링하기 위해 선택할 수 있는 검색 아이콘이 포함되어 있습니다. LLM 대화에 10개가 넘는 항목이 있는 경우 스크롤 막대가 나타납니다. LLM 대화에 16개 이상의 항목이 있는 경우 검색 창이 나타납니다.
다중 선택 항목 선택이 켜져 있으면 검색 결과를 필터링하기 위한 옵션 검색 필드 내에서 검색할 수 있습니다. 해당하는 모든 선택 항목을 선택하거나 입력한 다음, 보내기 아이콘 보내 LLM 주제를 통해 선택 항목을 보내면 LLM이 선택 항목이 확인 기준을 충족하는지 여부에 대해 응답합니다.
채팅 창에 발언을 입력하여 LLM 대화의 목록에서 선택 항목을 선택할 수도 있습니다. 입력 가상 에이전트 과 일치하는 항목이 없으면 올바른 선택이 아님을 알리고 다른 입력을 시도하라는 메시지를 표시합니다.
-
헤더 카드에는 설명 텍스트와 함께 크거나 작은 이미지 또는 YouTube 비디오 카드가 포함될 수 있습니다. 선택 목록에는 기본적으로 최대 5개의 항목이 포함되지만 검색 기능은 표시되지 않습니다. 항목이 5개가 넘는 경우 사용자는 추가 항목을 표시하도록 선택할 수 있습니다.
-
헤더 카드 아래에 표시되는 항목 수를 제어하려면 시스템 속성을 추가합니다 com.glide.cs.web_header_picker_page_limit . 값을 사용하여 선택 목록의 항목 수를 지정합니다. 시스템 속성 생성에 대한 자세한 내용은 시스템 속성 추가를 참조하십시오.
동적 선택 목록 노드를 하나의 선택 사항으로만 채우는 경우 노드를 테스트하거나 사용할 때 "[선택]이 [노드 이름]으로 있습니다. 이것이 맞습니까?"라는 메시지가 나타납니다. 동적 선택 목록 노드에서 다중 선택 항목을 사용하여 이 메시지가 수신되지 않도록 합니다.
다음으로 이동하여 메시지 내용을 변경할 수도 있습니다. 시스템 속성을 편집합니다.glide.cs.retry_question_message 이 메시지 값은 기본적으로 문자열입니다. {1}로 {0} 있습니다. 이것이 맞습니까? 동적 선택 목록 외부의 여러 케이스에서 슬롯을 채우는 데 사용됩니다. 변경한 내용은 이 속성을 사용할 때마다 반영됩니다.
LLM 주제 디스커버리에 대한 동적 선택 사용자 입력 제어 속성
| 속성 | 설명 |
|---|---|
| 노드 이름 |
주제 플로우에서 이 노드를 식별하는 이름입니다. |
| 변수 이름 |
이 프롬프트에 대한 사용자 응답을 저장하는 변수의 이름입니다. 변수 이름은 노드 이름 속성에서 자동으로 생성됩니다. |
| 프롬프트 |
사용자에 대한 프롬프트 또는 질문입니다. 프롬프트는 텍스트 문자열 또는 텍스트를 반환하는 스크립트일 수 있습니다. 이 값은 기본값이 지정되지 않은 경우에만 사용됩니다. 예: 이름이 무엇입니까? 서식 있는 텍스트를 생성하여 프롬프트 스타일을 변경할 수 있습니다.
|
| NLU 엔터티 |
엔터티를 NLU 노드와 연결하는 옵션입니다. 엔터티가 NLU 이 노드 가상 에이전트 의 입력 변수와 연결된 경우 사용자의 발언에 따라 지정된 값을 슬롯으로 채울 수 있습니다. 주제 의도와 연결된 엔터티 목록에서 엔터티를 선택합니다. 노드에 대한 엔터티를 지정하면 사용자에게 인식된 엔터티를 확인하도록 요청하지 않음 토글 스위치가 표시됩니다. 사용하도록 설정하면 사용자에게 추출된 엔터티를 확인하라는 메시지가 표시되지 않습니다. 이 필드는 인스턴스에서 검색이 활성화된 경우에만 NLU 사용할 수 있습니다. |
| 선택 | |
| 선택 항목 채우기 기준 |
사용할 동적 변수의 유형입니다. 다음 옵션 중 하나를 선택합니다.
|
| 테이블 |
검색할 테이블로, 선택 항목을 채우는 방법으로 기록을 선택한 경우에만 사용할 수 있습니다. |
| 선택 항목 필터링 |
조건 작성기를 사용 가상 에이전트 디자이너 하거나 스크립트를 제공하는 옵션입니다. 다음 중 하나를 선택합니다.
|
| 사용자가 둘 이상의 선택 항목을 선택할 수 있도록 허용 |
사용자가 선택 목록에서 여러 선택 항목을 선택할 수 있도록 허용하는 옵션입니다. |
| 기록 응답 메시지가 없습니다. |
테이블 검색에서 기록이 반환되지 않을 때 사용자에게 표시되는 메시지입니다. 메시지는 텍스트 문자열 또는 텍스트를 반환하는 스크립트일 수 있습니다. |
| 고급 | |
| 헤더 카드 |
토글하여 필드를 열어 이미지 또는 YouTube 동영상을 포함할 수 있는 카드를 추가합니다. 자세한 내용은 정적 선택 또는 동적 선택 컨트롤에 헤더 카드 삽입 문서를 참조하십시오. |
| 기본값 | |
| 기본값 |
질문 또는 프롬프트에 대한 사용자 응답에 대해 미리 정의된 값입니다. 기본값 확인 필드에 정의된 응답은 사용자에게 기본값을 확인하도록 요청합니다. 사용자가 아니요로 응답하면 값은 null이 됩니다. 기본값은 텍스트 문자열 또는 텍스트를 반환하는 스크립트일 수 있습니다. 예를 들어 닷워킹을 사용하는 경우 기본값은 스크립트 변수 > 마지막 사용자 이름일 수 있습니다. 또는 스크립트를 사용하는 경우 기본값은 {{vaScripts.lastUsername}}일 수 있습니다. |
| 확인 메시지 | |
| 입력 완료 확인 |
노드 상호작용이 완료되면 사용자에게 표시되는 봇 응답입니다. 메시지는 텍스트 문자열 또는 텍스트를 반환하는 스크립트일 수 있습니다. 예를 들어 닷워킹을 사용하는 경우: 감사합니다, (입력 변수 > 사용자 이름)! 또는 스크립트를 사용하는 경우 { {vaInputs.username}} 감사합니다! |
| 기본값 확인 |
기본값 필드의 값이 올바른지 사용자에게 확인하도록 요청하는 메시지입니다. 이 메시지는 프롬프트 필드의 값 대신 사용됩니다. 여기에는 텍스트 문자열 또는 텍스트를 반환하는 스크립트가 포함될 수 있습니다. 예를 들어 닷워킹을 사용하는 경우: (입력 변수 > 사용자 이름)입니까? 또는 스크립트를 사용하는 경우 확인 메시지가 다음과 같을 수 있습니다. {{vaScripts.lastUsername}}입니까? |
| 대화 전환 | |
| 이 섹션은 인스턴스에서 검색이 활성화된 경우에만 NLU 사용할 수 있습니다. | |
| 사용자가 제목을 변경할 수 있도록 켜기 |
이 노드에 대한 예측을 활성화 NLU 하는 옵션입니다. 활성화하면 사용 중인 입력 컨트롤 유형에 관계없이 사용자는 텍스트를 입력하여 질문에 답할 수 있습니다. 가상 에이전트 는 이 발언을 사용하여 다른 기존 의도와 일치시켜 사용자가 주제를 전환할 수 있도록 합니다. |
| 이 노드 숨기기 또는 건너뛰기 | |
| 다음과 같은 경우 이 노드를 조건부로 표시합니다. |
대화에 이 노드를 표시하기 위한 조건을 지정하는 노코드 조건문 또는 로우코드 스크립트입니다. 조건은 true로 평가되어야 합니다. |
| 다음과 같은 경우 사용자가 이 노드를 건너뛸 수 있도록 허용 |
사용자가 대화에서 이 노드를 건너뛸 수 있도록 허용하는 조건을 지정하는 노코드 조건문 또는 로우코드 스크립트입니다. 조건은 true로 평가되어야 합니다. 조건 작성기나 스크립트를 사용하여 이 필드를 설정할 수 있습니다. |
| 다음과 같은 경우 재요청 건너뛰기 | 사용자가 대화에서 다시 프롬프트를 건너뛸 수 있도록 허용하는 조건을 지정하는 노코드 조건문 또는 로우코드 스크립트입니다. 주제 루프백 또는 대화 상자 법칙을 통해 이전 노드로 다시 돌아가면 가상 에이전트는 이 노드를 바이패스하고 원래 값을 자동으로 유지합니다. |
LLM 주제 디스커버리를 위한 동적 선택 사용자 입력 통제 예
| 입력 속성 | 사용자 프롬프트 나열 |
|---|---|
|
|
|
동적 선택 NLU 주제 디스커버리에 대한 사용자 입력 제어 속성
| 속성 | 설명 |
|---|---|
| 노드 이름 |
주제 플로우에서 이 노드를 식별하는 이름입니다. |
| 변수 이름 |
이 프롬프트에 대한 사용자 응답을 저장하는 변수의 이름입니다. 변수 이름은 노드 이름 속성에서 자동으로 생성됩니다. |
| 프롬프트 |
사용자에 대한 프롬프트 또는 질문입니다. 프롬프트는 텍스트 문자열 또는 텍스트를 반환하는 스크립트일 수 있습니다. 이 값은 기본값이 지정되지 않은 경우에만 사용됩니다. 예: 이름이 무엇입니까? 서식 있는 텍스트를 생성하여 프롬프트 스타일을 변경할 수 있습니다.
|
| NLU 엔터티 |
엔터티를 NLU 노드와 연결하는 옵션입니다. 엔터티가 NLU 이 노드 가상 에이전트 의 입력 변수와 연결된 경우 사용자의 발언에 따라 지정된 값을 슬롯으로 채울 수 있습니다. 주제 의도와 연결된 엔터티 목록에서 엔터티를 선택합니다. 노드에 대한 엔터티를 지정하면 사용자에게 인식된 엔터티를 확인하도록 요청하지 않음 토글 스위치가 표시됩니다. 사용하도록 설정하면 사용자에게 추출된 엔터티를 확인하라는 메시지가 표시되지 않습니다. 이 필드는 인스턴스에서 검색이 활성화된 경우에만 NLU 사용할 수 있습니다. |
| 선택 | |
| 선택 항목 채우기 기준 |
사용할 동적 변수의 유형입니다. 다음 옵션 중 하나를 선택합니다.
|
| 테이블 |
검색할 테이블로, 선택 항목을 채우는 방법으로 기록을 선택한 경우에만 사용할 수 있습니다. |
| 선택 항목 필터링 |
조건 작성기를 사용 가상 에이전트 디자이너 하거나 스크립트를 제공하는 옵션입니다. 다음 중 하나를 선택합니다.
|
| 사용자가 둘 이상의 선택 항목을 선택할 수 있도록 허용 |
사용자가 선택 목록에서 여러 선택 항목을 선택할 수 있도록 허용하는 옵션입니다. |
| 기록 응답 메시지가 없습니다. |
테이블 검색에서 기록이 반환되지 않을 때 사용자에게 표시되는 메시지입니다. 메시지는 텍스트 문자열 또는 텍스트를 반환하는 스크립트일 수 있습니다. |
| 고급 | |
| 헤더 카드 |
토글하여 필드를 열어 이미지 또는 YouTube 동영상을 포함할 수 있는 카드를 추가합니다. 자세한 내용은 정적 선택 또는 동적 선택 컨트롤에 헤더 카드 삽입 문서를 참조하십시오. |
| 기본값 | |
| 기본값 |
질문 또는 프롬프트에 대한 사용자 응답에 대해 미리 정의된 값입니다. 기본값 확인 필드에 정의된 응답은 사용자에게 기본값을 확인하도록 요청합니다. 사용자가 아니요로 응답하면 값은 null이 됩니다. 기본값은 텍스트 문자열 또는 텍스트를 반환하는 스크립트일 수 있습니다. 예를 들어 닷워킹을 사용하는 경우 기본값은 스크립트 변수 > 마지막 사용자 이름일 수 있습니다. 또는 스크립트를 사용하는 경우 기본값은 {{vaScripts.lastUsername}}일 수 있습니다. |
| 확인 메시지 | |
| 입력 완료 확인 |
노드 상호작용이 완료되면 사용자에게 표시되는 봇 응답입니다. 메시지는 텍스트 문자열 또는 텍스트를 반환하는 스크립트일 수 있습니다. 예를 들어 닷워킹을 사용하는 경우: 감사합니다, (입력 변수 > 사용자 이름)! 또는 스크립트를 사용하는 경우 { {vaInputs.username}} 감사합니다! |
| 기본값 확인 |
기본값 필드의 값이 올바른지 사용자에게 확인하도록 요청하는 메시지입니다. 이 메시지는 프롬프트 필드의 값 대신 사용됩니다. 여기에는 텍스트 문자열 또는 텍스트를 반환하는 스크립트가 포함될 수 있습니다. 예를 들어 닷워킹을 사용하는 경우: (입력 변수 > 사용자 이름)입니까? 또는 스크립트를 사용하는 경우 확인 메시지가 다음과 같을 수 있습니다. {{vaScripts.lastUsername}}입니까? |
| 대화 전환 | |
| 이 섹션은 인스턴스에서 검색이 활성화된 경우에만 NLU 사용할 수 있습니다. | |
| 사용자가 제목을 변경할 수 있도록 켜기 |
이 노드에 대한 예측을 활성화 NLU 하는 옵션입니다. 활성화하면 사용 중인 입력 컨트롤 유형에 관계없이 사용자는 텍스트를 입력하여 질문에 답할 수 있습니다. 가상 에이전트 는 이 발언을 사용하여 다른 기존 의도와 일치시켜 사용자가 주제를 전환할 수 있도록 합니다. |
| 이 노드 숨기기 또는 건너뛰기 | |
| 다음과 같은 경우 이 노드를 조건부로 표시합니다. |
대화에 이 노드를 표시하기 위한 조건을 지정하는 노코드 조건문 또는 로우코드 스크립트입니다. 조건은 true로 평가되어야 합니다. |
| 다음과 같은 경우 사용자가 이 노드를 건너뛸 수 있도록 허용 |
사용자가 대화에서 이 노드를 건너뛸 수 있도록 허용하는 조건을 지정하는 노코드 조건문 또는 로우코드 스크립트입니다. 조건은 true로 평가되어야 합니다. 조건 작성기나 스크립트를 사용하여 이 필드를 설정할 수 있습니다. |
| 다음과 같은 경우 재요청 건너뛰기 | 사용자가 대화에서 다시 프롬프트를 건너뛸 수 있도록 허용하는 조건을 지정하는 노코드 조건문 또는 로우코드 스크립트입니다. 주제 루프백 또는 대화 상자 법칙을 통해 이전 노드로 다시 돌아가면 가상 에이전트는 이 노드를 바이패스하고 원래 값을 자동으로 유지합니다. |
NLU 주제 검색을 위한 동적 선택 사용자 입력 통제 예
- 목록의 끝에는 더 많은 결과를 표시할 수 있는 링크가 포함되어 있습니다.
- 검색 결과를 필터링하기 위한 프롬프트에 검색 아이콘(
)이 표시됩니다. 사용자는 아이콘을 선택하여 검색 상자를 열고 필터를 입력합니다.
- 여러 선택 항목을 선택할 때 검색 결과를 필터링하기 위한 옵션 검색 필드 내에서 검색할 수 있습니다. 이 주제에 있는 보조 필드를 사용하도록 스크립트를 입력하면 검색 필터 결과가 보조 필드에도 적용됩니다. 해당하는 모든 선택 항목을 선택하거나 입력한 다음, 보내기 아이콘 보내
선택합니다.
동적 선택 스크립트 예
(function execute() {
var pagingUtil = new global.VirtualAgentChoicePagingUtil(null, "sys_user", 10, "user_name,name",
"active=true", null, vaVars);
var selectedOptions = pagingUtil.getSavedSelectedOptions("user", vaSystem);
if (!selectedOptions || selectedOptions.length == 0) {
// Secondary labels can be passed to selected options
selectedOptions.push({ "value": "abel.tuter", "label": "Abel Tuter"
,"secondary_label": ["abel.tuter@example.com", "male"]
});
selectedOptions.push({ "value": "Beth.anglin", "label": "Beth Anglin"
,"secondary_label": ["beth.anglin@example.com", "female"]
});
}
vaSystem.setSelectedOptions(selectedOptions, "user", false);
// Topic authors have the ability to define which values should go in the
// secondary labels by adding secondary label functions
pagingUtil.addSecondaryLabelFunction(function (gr) {
return gr.getValue("email");
});
pagingUtil.addSecondaryLabelFunction(function (gr) {
return gr.getValue("gender");
});
var gr = pagingUtil.getPagingGlideRecordSecure("name", false);
var options = pagingUtil.getSecureOptions(gr, null,'user_name', ['user_name']);
return options;
})()동적 선택 목록 값 표현식 예시
(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)
선택 값 표현식 속성의 스크립트는 선택 배열을 정의하고 반환합니다. 이 예시에서 스크립트는 options라는 배열을 만들고 GlideRecord 쿼리에 있는 각 레코드를 이 배열에 추가합니다. 배열의 각 요소에는 해당 GlideRecord의 데이터를 사용하여 값 및 레이블 키에 값이 부여됩니다. 컨트롤의 Table 속성은 스크립트에서 사용하는 테이블을 정의합니다. 이 예제 스크립트는 gr.setLimit(5) 를 사용하여 반환되는 기록 수를 5로 제한합니다. 이 방법을 사용하면 반환된 기록이 지나치게 큰 선택 목록을 만들지 못하도록 할 수 있습니다.
| 키 | 설명 |
|---|---|
| 값 | 선택 항목의 값입니다. 사용자가 컨트롤에서 선택 항목을 선택하면 이 값은 변수 이름 속성에 명명된 변수에 저장됩니다. |
| 레이블 | 선택 목록에서 이 선택 항목에 대해 나타나는 레이블입니다. |
채널 지원
| 채널 | LLM 지원 | NLU/키워드 지원 | 제약 조건 |
|---|---|---|---|
| 웹 UI | 지원되지 않음 | 지원됨 | 없음 |
| 모바일 UI | 지원되지 않음 | 지원됨 | 없음 |
| Now Assist 패널 | 지원되지 않음 | 지원됨 | 없음 |
| Microsoft Teams | 지원됨 | 지원됨 | 없음 |
| Slack | 지원되지 않음 | 지원됨 | 헤더 카드는 지원되지 않습니다. |
| Workplace | 지원되지 않음 | 지원됨 | 헤더 카드는 지원되지 않습니다. |
| Facebook Messenger | 지원되지 않음 | 지원되지 않음 | 해당 사항 없음 |
| SMS Twilio | 지원되지 않음 | 지원됨 | 헤더 카드는 지원되지 않습니다. |
| LINE | 지원되지 않음 | 지원되지 않음 | 해당 사항 없음 |
| 지원됨 | 지원됨 | 없음 | |
| Apple Messages for Business | 지원되지 않음 | 지원됨 | 없음 |
| Alexa (음성) | 지원되지 않음 | 지원됨 | 화면 장치의 경우 터치 스크롤을 사용하십시오. 링크를 클릭할 수 없습니다. 화면이 없는 장치의 경우 음성 페이지 매김을 사용합니다. |