자연어를 이해하고 자연어로 응답하는 Dialogflow CX Google Chat 앱 빌드

이 페이지에서는 Dialogflow를 사용하여 자연어를 이해하고 대답할 수 있는 Google Chat 앱을 빌드하는 방법을 설명합니다. 이 가이드에서는 Google Chat과 직접 통합된 Dialogflow CX를 사용합니다. Dialogflow ES를 사용하여 Dialogflow ES Google Chat 가이드를 따라 Dialogflow ES Google Chat 앱을 빌드할 수도 있습니다.

예를 들어 사용자가 자동차를 렌트하는 데 도움이 되는 Chat 앱을 생각해 보겠습니다. 사용자가 '자동차를 렌트하고 싶습니다'라고 작성할 수 있습니다. Chat 앱은 '어디에서 차량을 수령하시겠어요?'와 같은 질문으로 응답하여 사용자와 인간과 같은 대화를 시작할 수 있습니다. 이 대화에서 Chat 앱은 자동차 대여를 예약하는 동안 인간의 음성을 이해하고 인간의 음성으로 응답합니다.

이는 단지 하나의 예일 뿐입니다. Dialogflow Chat 앱은 모든 종류의 상호작용에 유용합니다. 자연스러운 인간 음성이 필요한 경우 Dialogflow Chat 앱을 호출합니다. 사전 빌드된 에이전트를 사용하면 빠르게 시작하고 다음과 같은 Dialogflow의 기능을 보여줄 수 있습니다.

  • 항공편 예약
  • 병원 예약
  • 음식 배달 주문
  • 상품을 다른 색상으로 구매할 수 있는지와 같은 소매 제품 카탈로그에 관한 질문에 답변합니다.
  • 사전 빌드된 Dialogflow 에이전트 선택 페이지
    그림 1. Dialogflow Chat 앱에 사전 빌드된 에이전트를 선택합니다.
  • Dialogflow CX에서 에이전트를 테스트합니다.
    그림 2. Dialogflow CX에서 에이전트를 테스트하여 에이전트의 로직과 구성이 의도한 대로 작동하는지 확인합니다. 이 다이어그램은 렌터카의 픽업 및 반납 위치 설정과 같이 대화의 특정 단계와 관련된 주제별 페이지의 순차적 집합을 보여주고 이를 연결하는 로직을 구성합니다. 대화는 시뮬레이터에서 테스트됩니다.
  • Dialogflow Chat 앱 구성
    그림 3. Google Cloud 콘솔의 Chat API 구성 페이지에서 Dialogflow CX 에이전트를 사용하여 응답을 처리하도록 Chat 앱 구성
  • Dialogflow CX Chat 앱 테스트
    그림 4. Google Chat에서 Dialogflow Chat 앱을 사용하여 렌터카 예약에 관해 대화하는 모습

목표

  • 환경을 설정합니다.
  • Dialogflow CX 에이전트를 만들고 배포합니다.
  • Dialogflow CX 에이전트를 기반으로 하는 Chat 앱을 만들고 배포합니다.
  • Chat 앱을 테스트합니다.

기본 요건

아키텍처

다음 다이어그램은 Dialogflow로 빌드된 채팅 앱의 아키텍처를 보여줍니다.

Dialogflow로 구현된 채팅 앱의 아키텍처

위의 다이어그램에서 Dialogflow Chat 앱과 상호작용하는 사용자는 다음과 같은 정보 흐름을 갖습니다.

  1. 사용자가 Chat에서 채팅 메시지 또는 Chat 스페이스를 통해 Chat 앱에 메시지를 보냅니다.
  2. Google Cloud에 있는 Dialogflow 가상 에이전트는 메시지를 수신하고 처리하여 응답을 생성합니다.
  3. 원하는 경우 Dialogflow webhook을 사용하여 Dialogflow 에이전트가 프로젝트 관리 시스템 또는 티켓 판매 도구와 같은 외부 서드 파티 서비스와 상호작용할 수 있습니다.
  4. Dialogflow 에이전트는 Chat의 Chat 앱 서비스로 응답을 다시 보냅니다.
  5. 응답이 Chat 스페이스로 전송됩니다.

환경 설정

Google API를 사용하려면 먼저 Google Cloud 프로젝트에서 사용 설정해야 합니다. 단일 Google Cloud 프로젝트에서 하나 이상의 API를 사용 설정할 수 있습니다.
  1. Google Cloud 콘솔에서 Google Chat API 및 Dialogflow API를 사용 설정합니다.

    API 사용 설정

  2. 올바른 Cloud 프로젝트에서 API를 사용 설정했는지 확인한 후 다음을 클릭합니다.

  3. 올바른 API를 사용 설정했는지 확인한 후 사용 설정을 클릭합니다.

Dialogflow CX 에이전트 만들기

Dialogflow CX 에이전트는 최종 사용자와의 동시 실행 대화를 처리하는 가상 에이전트입니다. 이는 인간 언어의 미묘한 차이를 이해하는 자연어 이해 모듈입니다. Dialogflow는 대화 도중 최종 사용자의 텍스트를 앱과 서비스가 이해할 수 있는 구조화된 데이터로 변환합니다. 시스템에 필요한 대화 유형을 처리하도록 Dialogflow 에이전트를 직접 설계하고 빌드할 수 있습니다.

Dialogflow 에이전트는 콜센터 상담사와 비슷합니다. 둘 다 예상되는 대화 시나리오를 처리하도록 학습해야 하며, 학습이 지나치게 명시적일 필요는 없습니다.

Dialogflow CX 에이전트를 만드는 방법은 다음과 같습니다.

  1. Dialogflow CX 콘솔에서 Dialogflow CX 콘솔을 엽니다. 메뉴 > Dialogflow CX를 클릭합니다.

    Dialogflow CX 콘솔로 이동

  2. Google Cloud 프로젝트를 선택합니다. 프로젝트를 찾으려면 모두를 클릭한 다음 프로젝트를 검색해야 할 수도 있습니다.

  3. 이제 사전 빌드된 상담사를 선택하거나 직접 만들 수 있습니다. 나중에 상담사 맞춤설정을 자세히 살펴보려면 사전 빌드된 상담사 중 하나를 선택하세요. 이 상담사는 상담사가 할 수 있는 작업을 알아보는 데도 도움이 됩니다.

    사전 빌드된 상담사를 선택하려면 다음 단계를 따르세요.

    1. 사전 빌드된 에이전트 사용을 클릭합니다.
    2. 사전 빌드된 에이전트를 선택합니다. 이 가이드에서는 여행: 자동차 대여를 선택합니다.

      에이전트는 사용하는 기능의 수와 대화 로직의 정교함에 따라 초급, 중급, 고급으로 평가됩니다. 중급 또는 고급 에이전트를 선택하려면 Google Cloud 콘솔에서 기능 및 API를 사용 설정하는 등 에이전트별 맞춤설정 및 설정이 필요할 수 있습니다.

    3. 에이전트로 가져오기를 클릭합니다.

    자체 에이전트를 만들려면 다음 단계를 따르세요.

    1. 에이전트 만들기를 클릭합니다.
    2. 자동 생성을 선택하여 데이터 스토어 에이전트를 만들거나 자체 빌드를 선택하여 다른 종류의 에이전트를 만듭니다.

    에이전트 빌드 프로세스에 관한 자세한 안내는 Dialogflow CX 에이전트 만들기를 참고하세요.

  4. 기본 에이전트 설정을 구성합니다.

    1. 표시 이름에 표시 이름을 입력합니다.
    2. 선호하는 위치를 선택합니다. 고급 위치 설정을 변경하려면 수정을 클릭합니다.
    3. 원하는 시간대를 선택합니다.
    4. 에이전트의 기본 언어를 선택합니다. 에이전트를 만든 후에는 기본 언어를 변경할 수 없습니다.
  5. 만들기를 클릭합니다. Dialogflow CX에서 에이전트 생성을 시작하고 에이전트의 기본 시작 흐름을 표시합니다.

  6. 원하는 경우 에이전트를 맞춤설정합니다. 에이전트 맞춤설정 프로세스에 관한 자세한 안내는 Dialogflow CX 에이전트 만들기를 참고하세요.

  7. 권장사항에 따라 상담사를 테스트하세요.

    1. 에이전트 테스트를 클릭합니다.
    2. 환경에서 에이전트 테스트를 선택합니다.
    3. 환경에서 초안을 선택합니다.
    4. 흐름에서 기본 시작 흐름을 선택합니다.
    5. 페이지에서 시작 페이지를 선택합니다.
    6. 상담사와 채팅 작성창에 Hello을 입력하고 Enter 키를 누릅니다. 에이전트가 자신을 소개하며 응답합니다.
    7. 샘플 테스트 대화를 진행하여 테스트를 완료합니다.
  8. Dialogflow CX 에이전트가 생성됩니다. Dialogflow CX 콘솔로 돌아갑니다. 메뉴 > Dialogflow CX를 클릭합니다.

    Dialogflow CX 콘솔로 이동

  9. 상담사에서 > 이름 복사를 클릭합니다. Chat 앱을 구성할 때 이 이름을 사용하므로 저장합니다.

Chat 앱을 만들고 Dialogflow 에이전트와 연결

Dialogflow CX 에이전트를 만든 후 다음 단계에 따라 Chat 앱으로 전환합니다.

  1. Google Cloud 콘솔에서 Google Chat API로 이동합니다. 'Google Chat API'를 검색하고 Google Chat API를 클릭한 다음 관리를 클릭합니다.

    Chat API로 이동

  2. 구성을 클릭하고 Chat 앱을 설정합니다.

    1. 앱 이름Dialogflow App를 입력합니다.
    2. 아바타 URLhttps://developers.google.com/workspace/chat/images/quickstart-app-avatar.png를 입력합니다.
    3. 설명Responds to real human conversation을 입력합니다.
    4. 기능에서 1:1 메시지 수신스페이스 및 그룹 대화 참여를 선택합니다.
    5. 연결 설정에서 Dialogflow를 선택합니다.
    6. Dialogflow 설정에서 Dialogflow CX를 선택합니다.
    7. 에이전트 또는 환경 리소스 이름Dialogflow CX 에이전트 만들기의 끝부분에서 복사한 Dialogflow CX 에이전트 이름을 붙여넣습니다.
    8. 도메인의 특정 사용자 및 그룹에서 이 Chat 앱을 사용할 수 있도록 설정하고 이메일 주소를 입력합니다.
    9. 로그에서 Logging에 오류 로깅을 선택합니다.
  3. 저장을 클릭합니다.

Chat 앱이 Chat에서 메시지를 수신하고 응답할 준비가 되었습니다.

채팅 앱 테스트

Google Chat에서 메시지를 보내 Dialogflow CX Chat 앱을 테스트합니다.

  1. 신뢰할 수 있는 테스터로 추가할 때 제공한 Google Workspace 계정을 사용하여 Google Chat을 엽니다.

    Google Chat으로 이동

  2. 새 채팅을 클릭합니다.
  3. 사용자 1명 이상 추가 입력란에 Chat 앱의 이름을 입력합니다.
  4. 검색 결과에서 채팅 앱을 선택합니다. 채팅 메시지가 열립니다.

  5. 앱의 새 직접 메시지에 Hello를 입력하고 enter를 누릅니다.

    Dialogflow Chat 앱은 자신을 소개하여 응답합니다.

  6. 샘플 테스트 대화를 진행하여 테스트를 완료합니다.

샘플 테스트 대화

Dialogflow CX 콘솔 또는 Google Chat에서 Dialogflow CX Chat 앱을 테스트하려면 다음과 같이 대화하세요. 이 설명을 통해 Dialogflow CX 에이전트가 사용자의 자연어를 해석하고 대화의 각 단계에서 자체 자연어 응답을 생성하는 방식을 이해할 수 있습니다. 이 샘플 대화는 여행: 렌터카라는 사전 빌드된 상담사를 기반으로 합니다.

Dialog 설명
최종 사용자: 안녕하세요.
상담사: 안녕하세요. 저는 가상 렌터카 상담사입니다. 새 렌터카 예약을 시작할 수 있도록 도와드리겠습니다. 오늘은 무엇을 도와드릴까요?
  1. 기본 시작 흐름기본 시작 인텐트 경로가 호출됩니다.
  2. 상태 핸들러의 fulfillment ('Hi! '...') 응답 큐에 추가됩니다.
  3. 에이전트가 응답 큐를 최종 사용자에게 보냅니다.
최종 사용자: 차를 렌트하고 싶습니다.
상담사: 차량을 어디에서 수령하시겠어요?
  1. 시작 페이지car_rental.reservation_create 인텐트 경로가 일치합니다.
  2. 세션이 수령 위치 페이지로 전환됩니다.
  3. 수령 위치 페이지 양식이 작성되지 않았으므로 에이전트는 pickup_location 매개변수를 사용하여 사용자에게 프롬프트를 표시합니다('어디에서 수령하시겠어요?'). 응답 큐에 추가됩니다.
  4. 에이전트가 응답 큐를 최종 사용자에게 보냅니다.
최종 사용자: 라스베이거스
상담사: 라스베이거스에서 수령하실 수 있습니다.
상담사: 하차 위치가 수령 위치와 다른가요?
  1. 최종 사용자 입력은 이전 대화 차례에서 상담사가 요청한 pickup_location 매개변수를 채웁니다.
  2. 기본 시작 흐름car_rental.return_different_location 인텐트 경로가 일치합니다.
  3. 수령 위치 페이지의 양식 작성 경로가 평가되고 호출됩니다. 최종 사용자가 제공한 실제 값으로 해석된 매개변수 참조가 있는 응답 큐에 추가된 fulfillment ('Ok, your pickup...')가 선택됩니다.
  4. 세션이 위치 확인 페이지로 전환됩니다.
  5. 위치 확인 페이지에 항목 처리('반납 위치가 다른가요?')가 있습니다. 응답 큐에 추가됩니다.
  6. 에이전트가 응답 큐를 최종 사용자에게 보냅니다.
최종 사용자: 예. 로스앤젤레스에서 차를 반납하겠습니다.
상담사: 로스앤젤레스에서 수령하실 수 있습니다.
상담사: 차량을 언제 수령하고 싶으신가요?
  1. 기본 시작 흐름car_rental.return_different_location 인텐트 경로가 일치합니다.
  2. 세션이 하차 위치 페이지로 전환됩니다.
  3. 최종 사용자 입력은 이전 대화 차례에서 상담사가 요청한 drop_off_location 매개변수를 채웁니다.
  4. Drop Off Location 페이지의 양식 완성 경로가 평가되고 호출됩니다. 응답 큐에 추가된 fulfillment ('Ok, your drop off...')가 있습니다.
  5. 세션이 대여 기간 페이지로 전환됩니다.
  6. 대여 기간 페이지에 불완전한 양식 값이 있으므로 사용자에게 pickup_date_time 매개변수('어떤 날짜와 시간에 수령하시겠어요?')를 묻는 메시지가 표시됩니다. 응답 큐에 추가됩니다.
  7. 에이전트가 응답 큐를 최종 사용자에게 보냅니다.
최종 사용자: 3월 5일 정오에 차량을 수령하고 싶습니다.
상담사: 차량을 반납하려는 날짜와 시간은 언제인가요?
  1. 최종 사용자 입력은 이전 대화 차례에서 상담사가 요청한 pickup_date_time 매개변수를 채웁니다.
  2. 대여 기간 페이지에 또 다른 누락된 양식 값이 있으므로 사용자에게 drop_off_date_time 매개변수('반납 날짜와 시간을 알려주세요')를 묻는 메시지가 표시됩니다. 응답 큐에 추가됩니다.
  3. 에이전트가 응답 큐를 최종 사용자에게 보냅니다.
최종 사용자: 3월 15일 정오
상담사: 확인해 주시겠어요?

2024년 3월 5일 12시 00분에 라스베이거스에서 차량을 수령하고 2024년 3월 15일 12시 00분에 로스앤젤레스에서 반납하시게 됩니다.

맞나요?
  1. 최종 사용자 입력은 이전 대화 차례에서 상담사가 요청한 drop_off_date_time 매개변수를 채웁니다.
  2. 세션이 대여 기간 확인 페이지로 전환됩니다.
  3. 대여 기간 확인 페이지에 항목 fulfillment('So to confirm...')가 있습니다. 응답 큐에 추가됩니다.
  4. 에이전트가 응답 큐를 최종 사용자에게 보냅니다.
최종 사용자: 예, 감사합니다.
상담사: 좋습니다. 이제 차량을 선택해 보겠습니다.
상담사: 이코노미 차량과 럭셔리 차량 중 어느 쪽을 원하시나요?
  1. Confirm Rental Duration 페이지의 small_talk.confirmation.yes 인텐트 경로가 일치합니다.
  2. 상담사는 메시지('좋습니다. 이제 선택해 보겠습니다.') 응답 큐에 추가됩니다.
  3. 세션이 차량 구분 페이지로 전환됩니다.
  4. 차량 구분 페이지 양식이 완전하지 않으므로 상담사가 vehicle_type 매개변수를 사용하여 사용자에게 메시지를 표시합니다('이코노미와 럭셔리 중 어떤 차량을 원하세요?'). 응답 큐에 추가됩니다.
  5. 에이전트가 응답 큐를 최종 사용자에게 보냅니다.
최종 사용자: 이코노미로 해 주세요.
상담사: 심벌 케이지 차량과 심벌 트럭 중 어느 쪽을 원하시나요?
  1. $session.params.vehicle_type="economy_vehicle" 인텐트 경로가 일치합니다.
  2. 세션이 이코노미 옵션 페이지로 전환됩니다.
  3. 이코노미 옵션 페이지에 항목 fulfillment가 있습니다('Would you like the...'). 응답 큐에 추가됩니다.
  4. 에이전트가 응답 큐를 최종 사용자에게 보냅니다.
최종 사용자: Cymbal Truck
상담사: Cymbal 트럭 요금은 하루에 50.33달러입니다. 4명이 앉을 수 있으며 AM/FM 라디오가 제공됩니다. 결제를 진행하시겠어요?
최종 사용자: 예.
  1. $session.params.vehicle_type="Cymbal Truck" 인텐트 경로가 일치하고 vehicle_model 매개변수가 채워집니다.
  2. 세션이 심벌 트럭 확인 페이지로 전환됩니다.
  3. Cymbal 트럭 확인 페이지에 항목 fulfillment('Cymbal 트럭은 하루에 50.33달러입니다...')가 있습니다. 응답 큐에 추가됩니다.
  4. 에이전트가 응답 큐를 최종 사용자에게 보냅니다.
  5. 사용자의 응답이 small_talk.confirmation.yes 경로와 일치합니다.
상담사: 어떤 카드 유형을 사용하시나요?
최종 사용자: 알토스트라트
상담사: 카드 번호를 입력하세요.
최종 사용자: 1234 1234 1234 1234
상담사: 카드에 기재된 이름이 무엇인가요?
최종 사용자: 찰리
상담사: 청구서 수신지 주소가 어떻게 되나요?
최종 사용자: 1800 Amphibious Blvd. Mountain View, CA
상담사: 청구서 수신지 우편번호가 무엇인가요?
최종 사용자: 94045
상담사: 2024년 3월 5일 12시(PST)에 라스베이거스에서 심벌 카를 수령하고 2024년 3월 15일 12시(PST)에 반납하셔야 합니다. 이 이동의 총 금액은 $175.38입니다.
상담사: YouTube에서 대여해 주셔서 감사합니다. 좋은 하루 보내세요.
  1. 세션이 결제 페이지로 전환됩니다.
  2. 결제 양식이 작성되지 않았으므로 상담사가 사용자에게 card_type, card_number, billing_name, billing_street_address, billing_zip_code 매개변수('어떤 카드 유형을...')를 프롬프트합니다. 응답 큐에 순차적으로 추가되고 사용자가 응답할 때 전송됩니다. 사용자의 응답에 따라 각 매개변수 값이 설정됩니다.
  3. 세션이 대여 확인 페이지로 전환됩니다.
  4. 대여 확인 페이지에 항목 fulfillment가 있습니다('Ok, your pickup will be...'). 응답 큐에 추가됩니다.
  5. 에이전트가 응답 큐를 최종 사용자에게 보냅니다.
  6. 세션이 세션 종료 페이지로 전환됩니다.

Dialogflow에서 카드 메시지 전송

Dialogflow는 텍스트 또는 카드 메시지로 응답할 수 있습니다. 카드 메시지로 응답하려면 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 필드 값에 해당합니다.
    • 각 채팅 상호작용 이벤트의 전체 JSON 페이로드는 쿼리 매개변수의 맞춤 페이로드로 Dialogflow에 전송되며 WebhookRequest.payload 필드의 값을 쿼리하여 Dialogflow 웹훅으로 액세스할 수 있습니다.
  • 슬래시 명령어에 응답하고 카드 또는 대화상자에서 데이터를 수신하기 위한 고려사항은 다음과 같습니다.
    • Dialogflow Chat 앱이 슬래시 명령어가 포함된 메시지를 수신하면 쿼리 입력에는 text 필드의 값만 포함됩니다. text 필드는 슬래시 명령어의 이름 (예: /command)으로 시작하며, 이를 사용하여 슬래시 명령어를 감지하도록 Dialogflow 에이전트의 인텐트를 구성할 수 있습니다.
    • Dialogflow 에이전트가 채팅 상호작용 이벤트 JSON 페이로드를 처리해야 하는 경우 Dialogflow 웹훅을 사용하여 쿼리 매개변수의 맞춤 페이로드를 검사하면 됩니다.
    • Dialogflow 에이전트에서 대화를 표시하려면 DIALOG 작업 응답이 포함된 메시지가 포함된 단일 맞춤 JSON 페이로드로 응답합니다.
    • 카드에서 입력된 데이터를 처리하기 위해 Dialogflow 에이전트는 CARD_CLICKED 텍스트로 시작하는 인텐트를 감지하고 적절한 작업이 포함된 단일 맞춤 JSON 페이로드로 응답할 수 있습니다.
  • 링크 미리보기는 지원되지 않습니다.
  • Dialogflow 에이전트가 하나의 메시지로만 응답하면 메시지가 Google Chat에 동기식으로 전송됩니다. Dialogflow 에이전트가 여러 메시지로 응답하는 경우 모든 메시지는 Chat API의 spaces.messages 리소스에서 create 메서드를 메시지별로 한 번씩 호출하여 Chat에 비동기식으로 전송됩니다.
  • Chat과 Dialogflow CX 통합을 사용하는 경우 Dialogflow 에이전트와 Chat 앱을 동일한 Google Cloud 프로젝트에 설정해야 합니다. 다른 Cloud 프로젝트에서 Dialogflow 및 Chat을 설정해야 하는 경우 연결을 용이하게 하는 중간 서버를 설정할 수 있습니다. 방법을 알아보려면 GitHub의 Dialogflow CX용 Chat 통합 예를 참고하세요.

문제 해결

Google Chat 앱 또는 카드가 오류를 반환하면 Chat 인터페이스에 '문제가 발생했습니다'라는 메시지가 표시됩니다. 또는 '요청을 처리할 수 없습니다.' Chat UI에 오류 메시지가 표시되지 않지만 Chat 앱 또는 카드에서 예기치 않은 결과가 발생하는 경우가 있습니다. 예를 들어 카드 메시지가 표시되지 않을 수 있습니다.

Chat UI에 오류 메시지가 표시되지 않을 수 있지만 Chat 앱의 오류 로깅이 사용 설정된 경우 오류를 수정하는 데 도움이 되는 설명 오류 메시지와 로그 데이터를 사용할 수 있습니다. 오류를 보고, 디버그하고, 수정하는 방법에 관한 도움말은 Google Chat 오류 문제 해결하기를 참고하세요.

삭제

이 튜토리얼에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 Cloud 프로젝트를 삭제하는 것이 좋습니다.

  1. Google Cloud 콘솔에서 리소스 관리 페이지로 이동합니다. 메뉴 > IAM 및 관리자 > 리소스 관리를 클릭합니다.

    Resource Manager로 이동

  2. 프로젝트 목록에서 삭제할 프로젝트를 선택하고 삭제 를 클릭합니다.
  3. 대화상자에서 프로젝트 ID를 입력한 다음 종료를 클릭하여 프로젝트를 삭제합니다.
  • Dialogflow CX는 Dialogflow 에이전트 설계에 상태 머신 접근 방식을 사용하여 대화를 명확하고 명시적으로 제어하고, 최종 사용자 환경을 개선하고, 개발 워크플로를 개선할 수 있습니다. Dialogflow Chat 앱을 빌드할 때는 Dialogflow CX를 사용하는 것이 좋습니다.
  • Dialogflow ES는 Chat 앱에서 Dialogflow를 사용하는 또 다른 방법입니다.