생성형 대체 기능은 Google의 최신 생성형 대규모 언어 모델(LLM)을 사용하여 최종 사용자 입력이 양식 채우기를 위한 인텐트 또는 매개변수와 일치하지 않을 때 가상 에이전트 응답을 생성합니다.
이 기능은 LLM에 응답 방법을 알려주는 텍스트 프롬프트로 구성할 수 있습니다. 사전 정의된 텍스트 프롬프트를 사용하거나 자체 프롬프트를 추가할 수 있습니다. 사전 정의된 프롬프트를 통해 가상 에이전트는 기본적인 대화 상황을 처리할 수 있습니다. 예를 들면 다음과 같습니다.
- 사용자에게 인사하고 작별 인사를 건넵니다.
- 사용자가 이해하지 못하는 경우 에이전트가 말한 내용을 반복합니다.
- 사용자가 요청하면 기다립니다.
- 대화를 요약합니다.
흐름, 페이지 또는 매개변수 채우기 중에 사용되는 no-match 이벤트 핸들러에서 생성적 대체를 사용 설정할 수 있습니다. 일치 항목 없음 이벤트에 생성형 대체가 사용 설정된 경우 해당 이벤트가 트리거될 때마다 D대화형 에이전트(Dialogflow CX)에서 생성된 응답을 만들어 사용자에게 다시 알립니다. 응답 생성이 실패하면 일반 사전 정의된 에이전트 응답이 대신 발급됩니다.
제한사항
이 기능은 Gemini API에서 지원하는 언어로 제공됩니다.
생성형 대체 사용 설정
에이전트에서 흐름, 페이지 또는 매개변수 fulfillment에 사용할 수 있는 no-match 이벤트 핸들러에서 생성적 대체를 사용 설정할 수 있습니다.
전체 흐름의 no-match 이벤트에 대해 생성적 대체를 사용 설정합니다.
- Dialogflow CX 콘솔로 이동합니다.
- 프로젝트를 선택합니다.
- 에이전트를 선택한 후 흐름을 선택합니다.
- 흐름의 시작 페이지를 클릭하여 펼칩니다.
- 이벤트 핸들러에서 sys.no-match-default를 클릭합니다.
- 에이전트 응답에서 생성적 대체 사용 설정을 선택합니다.
- 저장을 클릭합니다.
특정 no-match 이벤트에서 생성적 대체를 사용 설정합니다.
- 대상 No-match 이벤트 핸들러(No-match default, No-match 1 등과 같이 No-match로 시작하는 모든 이벤트)로 이동합니다.
- 에이전트 응답에서 생성적 대체 사용 설정을 선택합니다.
- 저장을 클릭합니다.
생성적 대체 구성
위에서 언급한 것처럼 생성적 대체 기능은 생성된 응답을 만들기 위해 대규모 언어 모델로 요청을 전달합니다. 요청은 자연어와 에이전트의 현재 상태 및 대화 정보가 혼합된 텍스트 프롬프트의 형태를 취합니다. 프롬프트 및 생성된 응답은 차단된 문구 목록에서 확인됩니다. 차단된 문구가 포함되어 있거나 안전하지 않은 것으로 간주되는 경우 생성에 실패하고 일반 사전 정의된 응답(동일한 fulfilment에서 에이전트가 말한 대로)이 대신 발급됩니다.
이 기능은 여러 방법으로 구성할 수 있습니다.
- 사전 정의된 프롬프트를 선택합니다.
- 커스텀 프롬프트를 정의합니다.
- 차단된 문구 목록에서 문구를 추가하거나 삭제합니다.
프롬프트를 만들 때 생성해야 할 컨텍스트에 대한 자연어 설명 외에 다음 자리표시자를 사용할 수도 있습니다.
용어 | 정의 |
---|---|
$conversation | 마지막 사용자 발화를 제외한 에이전트와 사용자 간의 대화입니다. |
${conversation USER:"<사용자 프리픽스>" AI:"<에이전트 프리픽스>" TURNS:<차례 횟수>} | $conversation 자리표시자의 매개변수화된 버전입니다. 최종 사용자 프리픽스(USER ), 에이전트 프리픽스(AI ), 포함할 이전 차례 횟수(TURNS )를 맞춤설정할 수 있습니다. 모든 자리표시자 매개변수 값을 지정해야 합니다. 예를 들면 다음과 같습니다. ${conversation USER:"Human says:" AI:"Agent says:" TURNS:4} |
$last-user-utterance | 마지막 사용자 발화입니다. |
$flow-description | 활성 흐름의 흐름 설명입니다. |
$route-descriptions | 활성 인텐트의 인텐트 설명입니다. |
흐름과 인텐트 설명이 올바른지 확인합니다.
사전 정의된 프롬프트 선택
- 에이전트 설정에서 생성형 AI 탭으로 이동한 후 생성적 대체 하위 탭으로 이동합니다.
- 템플릿 드롭다운에서 옵션 중 하나를 선택합니다.
- 저장을 클릭합니다.
이 기능은 기본 템플릿(표시되지 않음)과 자신만의 프롬프트를 작성하기 위한 가이드 역할을 할 수 있는 예시 템플릿이라는 두 가지 템플릿 프롬프트를 제공합니다.
자체 프롬프트 정의
- 에이전트 설정에서 생성형 AI 탭으로 이동한 후 생성적 대체 하위 탭으로 이동합니다.
- 템플릿 드롭다운에서 + 새 템플릿을 선택합니다.
- 템플릿 이름을 추가합니다.
- 텍스트 프롬프트를 추가합니다.
- 저장을 클릭합니다.
예시 템플릿을 수정하고 새 템플릿으로 저장하는 것으로 시작할 수도 있습니다.
- 템플릿 드롭다운에서 예시를 선택합니다.
- 수정을 클릭합니다.
- 템플릿 이름을 수정합니다.
- 텍스트 프롬프트를 수정합니다.
- 저장을 클릭합니다.
차단된 문구 목록 수정
- 에이전트 설정에서 생성형 AI 탭으로 이동한 후 일반 하위 탭으로 이동합니다.
- 차단된 문구 섹션에서 목록을 검사, 추가 또는 목록에서 문구를 삭제합니다.
- 저장을 클릭합니다.
생성적 대체 테스트
시뮬레이터에서 생성적 대체 기능을 테스트할 수 있습니다. no-match 이벤트가 생성형 응답을 만들도록 구성된 흐름/페이지에서 사용자 발화가 일치하지 않음으로 이어질 때마다(그리고 생성이 성공한 경우) 에이전트는 생성된 응답을 출력합니다.
Codelab
생성형 대체 Codelab도 참조하세요.
문제 해결
기능을 디버깅하려면 Dialogflow 콘솔 시뮬레이터에서 확인된 대규모 언어 모델(LLM) 입력 프롬프트를 검사하면 됩니다.
원본 응답 버튼을 클릭합니다.
'생성적 대체 프롬프트' 필드를 찾습니다. 이러한 필드를 일반 텍스트로 읽고 LLM 입력이 적절한지 확인합니다. 구문에
$
가 포함된 경우 시뮬레이터 입력을 검사하고 프롬프트의$
가 의도적인지 확인합니다. 예를 들어price is $10
의$
는 의도적인 반면visit $city
에서는 그렇지 않을 가능성이 높으며 오용이나 버그를 암시할 수 있습니다. 확실하지 않은 경우 지원팀에 문의하세요.기본이 아닌 프롬프트 템플릿을 사용하지만 '생성적 대체 프롬프트' 필드가 표시되지 않으면 지원팀에 문의하세요.