Dialogflow를 Google Chat과 통합하면 두 서비스의 기능을 활용할 수 있습니다.
- Google Chat. 일대일 대화 및 Chat 스페이스를 위한 프런트엔드 사용자 인터페이스가 포함된 메시징 플랫폼을 제공합니다. Google Chat을 통해 아이콘, 이미지, 버튼, 텍스트 입력 필드 또는 Google 지도와 같은 앱을 통합하는 카드를 빌드하여 사용자 인터페이스를 개선할 수 있습니다.
- Dialogflow. 자동 대화 및 동적 응답을 위한 자연어 이해 플랫폼을 제공합니다. Dialogflow를 통해 사용자 인텐트를 해석하고 처리할 수 있습니다(예: 예약 또는 구매 처리).
Google Chat으로 사용자 요청을 처리할 수도 있지만 Dialogflow를 사용하면 사용자가 일반 대화를 통해 요청을 표현할 수 있습니다.
작동 방식
Dialogflow가 사용 설정된 Google Chat 앱을 빌드하면 다음 앱을 사용할 수 있습니다.
- 일반 대중. 라이선스가 부여된 Google Workspace 사용자는 Google Workspace Marketplace를 통해 앱을 다운로드할 수 있습니다.
- Google Workspace 도메인. Google Workspace 관리자는 사용자가 Google Chat에 추가할 수 있는 앱을 지정할 수 있습니다.
- 앱 테스터. 앱을 테스트하는 동안 앱에 대한 액세스를 제한할 수 있습니다.
Google Chat에서 사용자는 앱과 직접 대화하거나 스페이스 내에서 앱을 호출할 수 있습니다. 다음과 같은 결과가 발생합니다.
- 사용자가 Chat 앱으로 메시지를 보냅니다.
- Google Chat은 Chat 앱에 JSON 요청을 보냅니다. 이 앱은 Cloud Functions에서 호스팅될 수 있습니다.
- Chat 앱이 JSON 요청을 수신하고 이를 파싱합니다. 파싱 중에 Chat 앱이 Dialogflow를 호출합니다.
- Chat 앱은 Dialogflow에 사용자의 자연어 메시지 텍스트가 포함된 요청을 보냅니다.
- Dialogflow가 사용자의 텍스트를 해석하고 Chat 앱에 응답을 보냅니다.
- Chat 앱은 Dialogflow의 응답을 파싱하고 Google Chat에 JSON 응답을 보냅니다.
- Google Chat이 Chat 앱의 JSON 응답을 수신하고 UI에서 문자 메시지, 카드 메시지 또는 대화상자 메시지의 형식으로 응답을 렌더링합니다.
- Google Chat은 이 응답을 있는 그대로 공유하거나 카드 기반 UI를 사용하여 리치 응답을 제공합니다.
이 페이지에서는 Dialogflow를 Google Chat과 통합하고 다양한 채팅 응답을 구성하는 방법을 설명합니다.
제한사항
Google Chat 통합에서 Dialogflow 에이전트는 기본 에이전트 언어만 사용할 수 있습니다.
시작하기 전에
라이선스가 부여된 Google Workspace 사용자만 Google Chat 앱을 사용할 수 있습니다. Google Workspace 관리자는 다음을 수행해야 합니다.
Dialogflow 에이전트 빌드
Dialogflow 에이전트를 아직 빌드하지 않았지만 에이전트가 Google Chat과 어떻게 상호작용하는지 확인하려면 이 빠른 시작에 따라 간단한 에이전트를 만듭니다. 단, 에이전트를 삭제하지 마세요. 그 다음 Google Chat 인터페이스로 에이전트를 설정합니다.
Google Chat 설정
Google Chat에서 Dialogflow 에이전트를 설정하려면 다음 중 하나를 사용합니다.
Dialogflow 콘솔을 사용한 Google Chat 설정
Dialogflow 콘솔을 사용하여 Google Chat을 통합하려면 다음 단계를 따르세요.
- Dialogflow ES 콘솔로 이동합니다.
- 왼쪽 메뉴에서 Dialogflow 프로젝트를 선택합니다.
- 통합을 클릭합니다.
- Google Chat을 클릭합니다. Google Chat이 옵션 중 하나가 아닌 경우 문제 해결을 참조하세요.
- 앱에 액세스할 수 있는 사용자를 선택합니다.
- [선택사항] 에이전트를 실행할 환경을 선택합니다.
- 시작을 클릭합니다.
이제 Google Chat 앱이 활성화되었으며 선택한 사용자가 사용할 수 있습니다.
앱을 구성하려면 Google Chat을 다시 클릭한 다음 봇 세부정보 구성을 클릭합니다. 그러면 앱 아바타와 같은 앱 매개변수를 구성할 수 있는 Google Chat API에 대한 Google Cloud 콘솔 페이지가 표시됩니다.
Google Cloud 콘솔을 사용한 Google Chat 설정
Google Cloud 콘솔을 사용하여 Google Chat을 통합하려면 다음 단계를 따르세요.
Dialogflow 프로젝트를 선택합니다.
menu를 클릭합니다.
API 및 서비스를 클릭한 다음 라이브러리를 클릭합니다.
Google Chat API를 검색하여 클릭합니다.
사용 설정을 클릭합니다.
구성 탭을 클릭합니다.
앱을 구성합니다.
공개 상태 창에서 앱에 액세스할 수 있는 사용자를 선택합니다.
- 앱 테스터. 특정 사용자에게 채팅을 사용할 수 있도록 설정을 선택하고 이메일 주소를 입력합니다.
- 일반 대중 또는 Enterprise Google Workspace 도메인. 앱을 게시합니다.
저장을 클릭합니다. 이제 Google Chat 앱이 활성화되었으며 선택한 사용자가 사용할 수 있습니다.
테스트
Chat 앱을 테스트하기 전에 Google Chat 설정에 설명된 대로 시작했는지 확인하세요.
다음 방법 중 하나를 사용하여 앱을 테스트할 수 있습니다.
앱과 직접 채팅
- Google Chat을 엽니다.
- Chat 창에서 +를 클릭하고 앱 찾기를 선택합니다.
- 앱을 검색하여 선택합니다. Google Chat에서 앱을 표시하지 않는 경우 문제 해결을 참조하세요.
- Chat을 클릭합니다.
- 채팅 항목 필드에 앱을 테스트할 자연어 구문을 입력합니다.
스페이스에서 앱 호출
- Google Chat을 엽니다.
- 스페이스 창에서 +를 클릭하고 스페이스 만들기를 선택합니다.
- 스페이스 이름인 Test를 입력합니다.
- 만들기를 클릭합니다.
- 채팅 항목 필드에 @를 입력하고 앱을 선택하여 이름을 자동 완성합니다.
- 자동 완성 앱 이름이 생성되면 앱을 테스트할 자연어 구문을 입력합니다.
문제 해결
오류 | 솔루션 |
---|---|
Dialogflow ES 콘솔 > 통합 페이지에 Google Chat이 옵션으로 표시되지 않습니다. | 페이지 새로고침 시도: 왼쪽 메뉴에서 인텐트를 클릭한 후 통합을 클릭합니다. |
Google Chat에서 앱이 사용 가능한 것으로 표시되지 않습니다. | Google Workspace 관리자가 Google Workspace 계정에 사용자를 추가했는지, 사용자가 Chat 앱을 설치하도록 허용했는지 확인합니다. 그런 다음 Google Chat 설정에 설명된 대로 Chat 앱을 시작했는지 확인합니다. |
리치 응답 메시지
통합하면 일부 서식 있는 응답 메시지를 Google Chat 메시지 형식으로 변환합니다.
텍스트 응답
텍스트 응답은 문자 메시지로 Google Chat에 전송됩니다. 이 서식을 사용하면 텍스트를 특정(마크다운 라이트) 기호로 래핑하여 텍스트를 굵게 또는 기울임꼴로 만들 수 있습니다.
문자 메시지 응답은 Dialogflow 콘솔의 기본 텍스트 응답과 시각적으로 유사합니다. 하지만 원시 API 응답은 약간 다르게 보입니다. 또한 플랫폼 구성을 GOOGLE_HANGOUTS로 설정합니다. 이 구성은 여러 통합을 위한 에이전트를 빌드할 때 유용할 수 있습니다.
"fulfillmentMessages": [
{
"text": {
"text": [
"This is a test."
]
},
"platform": "GOOGLE_HANGOUTS"
},
카드
카드 응답은 카드 메시지로 Google Chat에 전송됩니다.
이미지
이미지 응답은 Google Chat 이미지 위젯으로 Google Chat에 전송됩니다.
커스텀 페이로드
다른 유형의 Google Chat 메시지를 전송하려면 커스텀 페이로드를 사용하면 됩니다.
Google Chat 커스텀 페이로드를 사용하면 고급 카드를 만들 수 있습니다. 카드 하나에 섹션이 한 개 이상 있을 수 있습니다. 각 섹션에는 헤더가 있을 수 있습니다. Google Chat 메시지 형식 카드 참조 가이드를 살펴보고 이를 사용하여 만들 수 있는 몇 가지 조합을 알아볼 수 있습니다. 하지만 커스텀 페이로드를 사용하면 JSON 형식을 제공해야 합니다.
다음은 Card v1 형식을 사용하는 커스텀 페이로드의 예시입니다.
{ "hangouts": { "header": { "title": "Pizza Delivery Customer Support", "subtitle": "pizzadelivery@example.com", "imageUrl": "https://goo.gl/aeDtrS" }, "sections": [{ "widgets": [{ "keyValue": { "icon": "TRAIN", "topLabel": "Order No.", "content": "12345" } }, { "keyValue": { "topLabel": "Status", "content": "In Delivery" } }] }, { "header": "Location", "widgets": [{ "image": { "imageUrl": "https://dummyimage.com/600x400/000/fff" } }] }, { "header": "Buttons - I could leave the header out", "widgets": [{ "buttons": [{ "textButton": { "text": "OPEN ORDER", "onClick": { "openLink": { "url": "https://example.com/orders/..." } } } }] }] }] } }
Chat 앱 중지
Google Chat 앱을 사용할 수 없도록 하려면 다음 중 하나를 사용하세요.
Dialogflow 콘솔을 사용하여 Chat 앱 중지
- Dialogflow ES 콘솔로 이동합니다.
- 왼쪽 메뉴에서 Dialogflow 프로젝트를 선택합니다.
- 통합을 클릭합니다.
- Google Chat을 클릭합니다. Google Chat이 옵션 중 하나가 아닌 경우 문제 해결을 참조하세요.
- 중지를 클릭합니다.
Google Cloud 콘솔을 사용하여 Chat 앱 중지
Google Cloud 콘솔에서 Dialogflow 프로젝트를 선택합니다.
menu를 클릭합니다.
API 및 서비스를 클릭한 다음 라이브러리를 클릭합니다.
Google Chat API를 검색하여 클릭합니다.
관리를 클릭합니다.
구성 탭을 클릭합니다.
앱 상태 필드에서 사용 중지됨을 선택합니다.
추가 정보
Google Chat 사용에 대한 자세한 내용은 다음을 참조하세요.