이 페이지에서는 두 기능을 모두 사용할 수 있는 Google Chat 앱을 빌드하는 방법을 설명합니다. 자연어를 사용하여 Dialogflow 이 가이드에서는 Dialogflow CX: Google Chat과의 직접 통합 또한 Dialogflow ES를 통해 Dialogflow ES Google Chat 앱 Dialogflow ES Google Chat 참조하세요.
렌트를 도와주는 채팅 앱을 예로 들어보겠습니다. 자동차 사용자는 '차를 렌트하고 싶어'라고 쓸 수 있습니다. 이 채팅 앱에서 다음과 같은 질문을 할 수 있습니다. "어디에서 차량을 수령하시겠어요?" 이는 인간과 유사한 채팅 앱에서 사용자와 나눈 대화 렌터카를 예약하는 동안 사람의 음성을 이해하고 응답합니다.
이는 하나의 예에 불과합니다. Dialogflow 채팅 앱은 상호작용의 종류에 따라 다릅니다. 자연스러운 인간의 음성이 필요한 경우에는 Dialogflow 채팅 앱 이 사전 빌드된 에이전트 다음과 같이 Dialogflow로 무엇을 할 수 있는지 보여줍니다.
- 항공편 예약
- 진료 예약
- 음식 배달 주문
- 소매 제품 카탈로그에 관한 질문에 답하기 다른 색상으로 제공
-
그림 1. Dialogflow 채팅 앱용 사전 빌드된 에이전트 선택 -
그림 2. Dialogflow CX에서 에이전트를 테스트하여 에이전트의 로직과 구성이 의도한 대로 작동하는지 확인합니다. 이 다이어그램은 렌터카의 승차 및 반납 위치 설정과 같이 대화의 특정 단계와 관련된 주제별 페이지의 순차적 집합을 보여주며 이러한 페이지를 연결하는 로직을 구성합니다. 대화는 시뮬레이터에서 테스트됩니다. -
그림 3. Google Cloud 콘솔의 Chat API 구성 페이지에서 Dialogflow CX 에이전트를 사용하여 응답을 처리하도록 채팅 앱 구성하기 -
그림 4. Google Chat에서 Dialogflow Chat 앱으로 렌터카 예약하기
목표
- 환경을 설정합니다.
- Dialogflow CX 에이전트를 만들고 배포합니다.
- 다음을 기반으로 하는 채팅 앱을 만들고 배포합니다. Dialogflow CX 에이전트
- 채팅 앱을 테스트합니다.
기본 요건
- 비즈니스 또는 기업 다음 액세스 권한이 있는 Google Workspace 계정 Google Chat
- 결제가 사용 설정된 Google Cloud 프로젝트. 기존 프로젝트에 결제가 사용 설정되어 있는지 확인하려면 다음 안내를 따르세요. 자세한 내용은 결제 상태를 볼 수 있습니다. 프로젝트를 만들고 결제를 설정하려면 다음을 참조하세요. Google Cloud 프로젝트를 만듭니다.
아키텍처
다음 다이어그램은 Dialogflow로 빌드된 채팅 앱:
앞의 다이어그램에서 Dialogflow 에이전트와 상호작용하는 사용자는 채팅 앱에는 다음과 같은 정보 흐름이 있습니다.
- 사용자가 Chat에서 채팅 메시지 또는 채팅 창 Chat 스페이스.
- Google Cloud에 있는 Dialogflow 가상 에이전트는 메시지를 처리하여 응답을 생성합니다.
- 원하는 경우 Dialogflow 웹훅 Dialogflow 에이전트는 외부 서드 파티 서비스와 상호작용할 수 있습니다. 프로젝트 관리 시스템이나 티켓팅 도구로 활용할 수 있습니다
- Dialogflow 에이전트는 Chat의 채팅 앱 서비스입니다.
- 응답이 Chat 스페이스로 전송됩니다.
환경 설정
Google API를 사용하려면 먼저 Google Cloud 프로젝트에서 사용 설정해야 합니다. 단일 Google Cloud 프로젝트에서 하나 이상의 API를 사용 설정할 수 있습니다.Google Cloud 콘솔에서 Google Chat API 및 Dialogflow API를 사용 설정합니다.
올바른 Cloud 프로젝트에서 선택한 후 다음을 클릭합니다.
올바른 API를 사용 설정했는지 확인한 다음 사용 설정을 클릭합니다.
Dialogflow CX 에이전트 만들기
가 Dialogflow CX 에이전트 동시 대화를 처리하는 가상 에이전트로서 의견을 낼 수 있습니다. 자연어 이해 모듈로, 인간 언어의 미묘한 차이를 이해하는 데 있어 중요합니다. Dialogflow는 최종 사용자 텍스트를 앱과 서비스에서 구조화된 데이터로 대화하는 동안 이해할 수 있습니다 Dialogflow 에이전트를 설계하고 빌드하여 시스템에 필요한 모든 대화를 수행할 수 있습니다
Dialogflow 에이전트는 콜센터 상담사와 같습니다. 둘 다 학습시킵니다 예상된 대화 시나리오를 처리하도록 지원하며 학습이 필요하지 않은 표현되어야 합니다.
Dialogflow CX 에이전트를 만드는 방법은 다음과 같습니다.
Dialogflow CX 콘솔에서 Dialogflow CX 콘솔을 엽니다. 클릭 메뉴 > Dialogflow CX
Google Cloud 프로젝트를 선택합니다. 프로젝트를 찾으려면 다음 작업이 필요할 수 있습니다. 모두를 클릭한 후 검색합니다.
이제 사전 빌드된 에이전트를 선택하거나 직접 만들어 보세요. 상담사를 살펴보고 싶다면 자세히 알아보려면 다음 중 하나를 선택하세요. 사전 빌드된 에이전트 상담사가 할 수 있는 일을 알아보는 데도 도움이 됩니다
사전 빌드된 에이전트를 선택하려면 다음 단계를 따르세요.
- 사전 빌드된 에이전트 사용을 클릭합니다.
사전 빌드된 에이전트를 선택합니다. 이 가이드에서는 여행: 렌터카
상담사의 평가는 초급으로, 에이전트가 사용하는 기능 수에 따라 중급 또는 고급 대화 로직의 정교함에 따라 말이죠 중급 또는 고급 상담사의 경우 상담사별 Google Cloud 콘솔의 기능 및 API 사용 설정을 비롯한 Google Cloud 콘솔
에이전트로 가져오기를 클릭합니다.
자체 에이전트를 만들려면 다음 단계를 따르세요.
- 에이전트 만들기를 클릭합니다.
- 자동 생성을 선택하여 데이터 스토어 에이전트를 만들거나 자체 빌드를 선택하여 다른 종류의 에이전트를 만듭니다.
에이전트 빌드 프로세스를 자세히 살펴보려면 Dialogflow CX 에이전트를 만듭니다.
기본 에이전트 설정을 구성합니다.
만들기를 클릭합니다. Dialogflow CX가 에이전트를 만들기 시작하면 에이전트의 기본 시작 흐름을 표시합니다.
원하는 경우 에이전트를 맞춤설정합니다. 에이전트를 자세히 둘러보려면 자세히 알아보려면 Dialogflow CX 에이전트를 만듭니다.
에이전트를 테스트하는 것이 좋습니다.
- 에이전트 테스트를 클릭합니다.
- 환경에서 에이전트 테스트를 선택합니다.
- 환경에서 초안을 선택합니다.
- 흐름에서 기본 흐름 시작을 선택합니다.
- 페이지에서 시작 페이지를 선택합니다.
- 상담사와 대화 작성 창에
Hello
를 입력하고 Enter 키를 누릅니다. 에이전트는 자신을 소개하면서 응답합니다. - 샘플 테스트 대화를 통해 테스트를 완료합니다.
Dialogflow CX 에이전트가 생성됩니다. Dialogflow CX 콘솔로 돌아갑니다. 메뉴 > Dialogflow CX
를 클릭합니다.에이전트에서 > 이름 복사를 탭합니다. 이 이름을 다른 이름으로 저장 채팅 앱을 구성할 때 사용합니다
를 클릭합니다.
채팅 앱을 만들고 Dialogflow 에이전트와 연결
Dialogflow CX 에이전트를 만든 후 다음 단계에 따라 에이전트로 변환합니다. 채팅 앱:
Google Cloud 콘솔에서 Google Chat API로 이동합니다. 'Google Chat API'를 검색합니다. 및 Google Chat API를 클릭한 다음 관리를 클릭합니다.
구성을 클릭하고 채팅 앱을 설정합니다.
- 앱 이름에
Dialogflow App
를 입력합니다. - 아바타 URL에
https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png
입니다. - 설명에
Responds to real human conversation
를 입력합니다. - 기능에서 1:1 메시지 수신을 선택하고 스페이스 및 그룹 대화에 참여하기
- 연결 설정에서 Dialogflow를 선택합니다.
- Dialogflow 설정에서 Dialogflow CX를 선택합니다.
- 에이전트 또는 환경 리소스 이름에 Dialogflow CX 에이전트를 붙여넣습니다. 복사해 둔 사용자 이름을 Dialogflow CX 에이전트를 만듭니다.
- 특정 사용자 및 그룹이 이 채팅 앱을 사용할 수 있도록 설정하기 이메일 주소를 입력합니다.
- 로그에서 Logging에 오류 로깅을 선택합니다.
- 앱 이름에
저장을 클릭합니다.
채팅 앱이 메시지를 받고 응답할 준비가 되었습니다. 채팅 메시지
채팅 앱 테스트
Dialogflow CX Chat 앱 Google Chat
사용하는 Google Workspace 계정을 사용하여 Google Chat을 엽니다. 제공됩니다.
- 새 채팅을 클릭합니다.
- 1명 이상 사용자 추가 입력란에 채팅 앱
검색 결과에서 채팅 앱을 선택합니다. 직접 메시지가 열립니다.
앱과의 새 채팅 메시지에
Hello
를 입력하고enter
키를 누릅니다.Dialogflow 채팅 앱은 있습니다.
- 먼저 샘플 테스트 대화를 참조하세요.
샘플 테스트 대화
Dialogflow CX 채팅 앱을 Dialogflow CX 콘솔 또는 Google Chat에서 다음과 같은 대화를 나눌 수 있습니다. 이 설명은 Dialogflow CX 에이전트가 사용자의 자연어 응답을 생성하여 대화를 나눌 수 있습니다. 이 샘플 대화는 사전 빌드된 에이전트 여행: 렌터카라고 불립니다.
Dialog | 설명 |
---|---|
최종 사용자: 안녕하세요. 상담사: 안녕하세요. 저는 가상 렌터카 담당자입니다. 나는 할 수 있습니다 새로운 렌터카 예약을 시작하는 데 도움을 받을 수 있습니다. 어떻게 도와드릴까요? 어떠신가요? |
|
최종 사용자: 자동차를 렌트하고 싶습니다. 상담사: 차량을 어디에서 수령하시겠어요? |
|
최종 사용자: 라스베이거스 상담원: 알겠습니다. 라스베이거스에서 승차할 예정입니다. 상담사: 하차 위치가 거주 중인 고객과 다른가요? 수령 위치 |
|
최종 사용자: 예. 로스앤젤레스에 차를 맡기겠습니다. 상담사: 예, 로스앤젤레스에 하차할 예정입니다. 상담사: 차량을 수령하려는 날짜와 시간이 언제인가요? |
|
최종 사용자: 3월 5일 정오에 차를 수령하고 싶습니다. 상담사: 차량 반납 날짜와 시간이 언제인가요? |
|
최종 사용자: 3월 15일 정오 상담사: 다음 사항을 확인해 주세요. 차량 픽업 시간: 라스베이거스 2024-03-05 12:00:00 로스앤젤레스 2024년 3월 15일 12:00:00 괜찮으신가요? |
|
최종 사용자: 예, 감사합니다. 상담사: 좋습니다. 이제 차량을 선택해 보겠습니다. 상담사: 이코노미와 럭셔리 중 어느 것을 선호하시나요? 무엇인가요? |
|
최종 사용자: 경제 부탁해요. 상담사: Cymbal 자동차와 Cymbal 트럭 중 무엇을 선택하시겠어요? |
|
최종 사용자: Cymbal Truck. 상담사: Cymbal 트럭은 하루 $50.33입니다. 4명까지 수용할 수 있으며 AM/FM 라디오와 함께 제공됩니다. 결제를 진행하시겠어요? 최종 사용자: 예, 그렇습니다. |
|
상담사: 어떤 카드 유형을 사용하시겠어요? 최종 사용자: Altostrat 상담사: 카드 번호를 입력해 주세요. 최종 사용자: 1234 1234 1234 1234 상담사: 카드에 표시된 이름이 무엇인가요? 최종 사용자: Charlie 상담사: 청구서 수신 주소가 어떻게 되나요? 최종 사용자: 1800 Amphibious Blvd. 캘리포니아주 마운틴뷰 상담사: 청구지 우편번호가 무엇인가요? 최종 사용자: 94045 에이전트: Cymbal Car를 선택합니다. 동영상을 게시해서 2024-03-15 12:00:00 이 이동의 총액은 다음과 같습니다. 175.38달러입니다. 상담사: 대여해 주셔서 감사합니다. 좋은 하루 보내세요. |
|
Dialogflow에서 카드 메시지 전송
Dialogflow는 text 또는 카드 메시지를 전송합니다. 카드로 응답하기 로 지정합니다. 커스텀 페이로드 인치 fulfillment를 참조하세요.
다음 JSON은 카드 메시지를 커스텀 페이로드로 보내는 방법을 보여줍니다. 처리:
json
{
'cardsV2': [{
'cardId': 'createCardMessage',
'card': {
'header': {
'title': 'A card message!',
'subtitle': 'Sent from Dialogflow',
'imageUrl': 'https://developers.google.com/chat/images/chat-product-icon.png',
'imageType': 'CIRCLE'
},
'sections': [
{
'widgets': [
{
'buttonList': {
'buttons': [
{
'text': 'Read the docs!',
'onClick': {
'openLink': {
'url': 'https://developers.google.com/workspace/chat'
}
}
}
]
}
}
]
}
]
}
}]
}
제한사항 및 고려사항
- 채팅 상호작용 이벤트
제한적으로 지원되며 몇 가지 고려사항이 있습니다.
- 다음
상호작용 이벤트 유형
지원됨:
MESSAGE
ADDED_TO_SPACE
CARD_CLICKED
MESSAGE
또는ADDED_TO_SPACE
이벤트의 경우 Dialogflow 에이전트는argumentText
채팅 메시지 메시지에 슬래시 명령어의 경우 대신text
필드가 사용됩니다.CARD_CLICKED
이벤트의 경우 Dialogflow 에이전트로 전송된 쿼리 입력 형식은CARD_CLICKED.functionName
이며 여기서functionName
입니다. 는function
필드의 값에 해당합니다. 작업 객체 대화형 카드 요소 (예: 버튼)에 연결됩니다.- 각 Chat 상호작용 이벤트의 전체 JSON 페이로드
쿼리 매개변수의 커스텀 페이로드로 Dialogflow에 전송됩니다.
GCP 콘솔에서
Dialogflow 웹훅
WebhookRequest.payload
필드의 값을 쿼리하여
- 다음
상호작용 이벤트 유형
지원됨:
- 응답 시 고려사항
슬래시 명령어와
카드 또는 대화상자로부터 데이터 수신:
- Dialogflow Chat 앱이 슬래시가 포함된 메시지를 수신하는 경우
명령어의 경우 쿼리 입력에는
text
필드의 값만 포함됩니다.text
필드는 슬래시 명령어의 이름으로 시작합니다 (예:/command
). Dialogflow 에이전트의 인텐트를 구성하는 데 사용할 수 있습니다. 슬래시 명령어를 감지합니다. - Dialogflow 에이전트가 채팅 상호작용 이벤트 JSON 페이로드 이를 수행하려면 Dialogflow 웹훅 쿼리 매개변수의 커스텀 페이로드를 검사합니다.
- 툴바에서 대화상자를 표시하려면
Dialogflow 에이전트는 단일 커스텀 JSON 페이로드로
DIALOG
가 포함된 메시지가 포함됩니다. 액션 응답입니다. - 카드에서 입력된 데이터를 처리하기 위해 Dialogflow 에이전트는
CARD_CLICKED
텍스트로 시작하고 해당 페이로드를 포함하는 단일 커스텀 JSON 페이로드 action이 있습니다.
- Dialogflow Chat 앱이 슬래시가 포함된 메시지를 수신하는 경우
명령어의 경우 쿼리 입력에는
- 링크 미리보기는 지원되지 않습니다.
- Dialogflow 에이전트가 하나의 메시지로만 응답하면
Google Chat에 동기식으로 전송됩니다 Dialogflow 에이전트가 응답하는 경우
여러 개의 메시지가 있는 경우 모든 메시지가 Chat으로 전송됩니다.
비동기식으로
create
Chat API에서spaces.messages
리소스에 대해 메서드를 한 번씩 실행합니다. 메시지가 표시됩니다. - Dialogflow CX 통합을 Chat과 사용하는 경우 Dialogflow 에이전트 및 채팅 앱을 설정해야 합니다. Google Cloud 프로젝트에 액세스할 수 있습니다 Dialogflow를 설정해야 하는 경우 여러 Cloud 프로젝트에서 Chat을 사용하는 경우 중간 서버를 설정하여 연결을 용이하게 할 수 있습니다. 방법을 알아보려면 이것 보기 Dialogflow CX용 Chat 통합 예시 를 참조하세요.
문제 해결
Google Chat 앱 또는 card가 오류를 반환하는 경우 Chat 인터페이스에 '문제가 발생했습니다'라는 메시지가 표시됨 또는 '요청을 처리할 수 없습니다'와 같은 메시지가 표시됩니다. 채팅 UI가 오류 메시지가 표시되지 않지만 채팅 앱 또는 카드에서 예기치 않은 결과가 발생합니다. 예를 들어 카드 메시지가 나타납니다.
채팅 UI에 오류 메시지가 표시되지 않을 수도 있지만 오류 해결에 도움이 되는 오류 메시지 및 로그 데이터를 사용할 수 있음 채팅 앱의 오류 로깅이 사용 설정된 경우 보는 데 도움이 필요한 경우 오류를 수정하는 방법에 대한 자세한 내용은 Google Chat 오류 문제 해결하기
삭제
서비스 요금이 Google Cloud 계정에 청구되지 않도록 리소스 사용을 중단하려면 Cloud 프로젝트입니다.
-
Google Cloud 콘솔에서 리소스 관리 페이지로 이동합니다. 클릭
메뉴 > IAM 및 관리자
> 리소스 관리를 클릭합니다.
Resource Manager로 이동 를 통해 개인정보처리방침을 정의할 수 있습니다.
- 프로젝트 목록에서 삭제할 프로젝트를 선택한 후 를 삭제합니다.
- 대화상자에서 프로젝트 ID를 입력한 후 종료를 클릭하여 삭제합니다. 프로젝트입니다
관련 주제
- Dialogflow CX는
상태 머신
Dialogflow 에이전트 설계에 대한 접근 방식으로
더 나은 최종 사용자 경험을 제공하며
살펴보겠습니다 Dialogflow를 빌드할 때
채팅 앱을 사용하는 경우 Dialogflow CX를 사용하는 것이 좋습니다.
- 에이전트 빌드 및 구성에 대한 자세한 내용은 다음을 참조하세요. Dialogflow CX 에이전트
- 빌드 및 구성 방법을 안내하는 자세한 둘러보기 자세한 내용은 Dialogflow CX 에이전트를 만듭니다.
- Gemini로 Google Chat용 앱 빌드하기 Codelab: Dialogflow CX 데이터를 빌드하는 방법의 예시를 확인합니다. Google Cloud의 Knowledge Chat 앱을 Codelab
- Gemini로 Google Chat용 앱 빌드하기 Codelab: Dialogflow CX 빌드 방법의 예시 대화형 에이전트, 피드백 채팅 앱 보기 Codelab에서
- Dialogflow ES Dialogflow를 채팅 앱과 함께 사용하는 또 다른 방법입니다.