Tworzenie dodatku do Google Chat za pomocą Dialogflow ES

Z tej strony dowiesz się, jak utworzyć aplikację Google Chat jako dodatek do Google Workspace, który używa Dialogflow ES do rozumienia języka naturalnego i odpowiadania na niego. Możesz też użyć Dialogflow CX, który jest bezpośrednio zintegrowany z Google Chat, aby utworzyć aplikację Google Chat Dialogflow CX, korzystając z przewodnika po Dialogflow CX i Google Chat.

Cele

  • skonfigurować środowisko,
  • utworzyć i wdrożyć agenta Dialogflow ES,
  • utworzyć i wdrożyć aplikację do obsługi czatu opartą na agencie Dialogflow ES,
  • przetestować aplikację do obsługi czatu.

Wymagania wstępne

Architektura

Ten schemat przedstawia architekturę aplikacji do obsługi czatu utworzonej za pomocą Dialogflow:

Architektura aplikacji do obsługi czatu zaimplementowanej za pomocą Dialogflow.

Na powyższym schemacie użytkownik wchodzący w interakcję z aplikacją do obsługi czatu Dialogflow ma następujący przepływ informacji:

  1. Użytkownik wysyła wiadomość w Google Chat do aplikacji do obsługi czatu – na czacie lub w pokoju czatu w Google Chat.
  2. Agent wirtualny Dialogflow, który znajduje się w , odbiera i przetwarza wiadomość, aby wygenerować odpowiedź.
  3. Opcjonalnie, za pomocą webhooka Dialogflow, agent Dialogflow może wchodzić w interakcję z zewnętrznymi usługami innych firm, takimi jak system zarządzania projektami czy narzędzie do obsługi zgłoszeń.
  4. Agent Dialogflow wysyła odpowiedź z powrotem do usługi aplikacji do obsługi czatu w Google Chat.
  5. Odpowiedź jest dostarczana do pokoju czatu.

Konfigurowanie środowiska

Zanim zaczniesz korzystać z interfejsów API Google, musisz je włączyć w projekcie w chmurze Google. W jednym projekcie Google Cloud możesz włączyć co najmniej 1 interfejs API.
  1. W Konsoli interfejsów API Google włącz interfejsy Google Chat API i Dialogflow API.

    Włączanie interfejsów API

  2. Sprawdź, czy włączasz interfejsy API w odpowiednim projekcie w chmurze, a potem kliknij Dalej.

  3. Sprawdź, czy włączasz odpowiednie interfejsy API, a potem kliknij Włącz.

Tworzenie agenta Dialogflow ES

Jeśli nie masz jeszcze agenta Dialogflow ES:

  1. Otwórz konsolę Dialogflow ES.
  2. Kliknij Utwórz agenta.
  3. Nadaj mu nazwę, wybierz język domyślny i strefę czasową.
  4. Powiąż go z projektem w chmurze.
  5. Kliknij Utwórz.
  6. Utwórz intencje i encje zgodnie z potrzebami przepływu rozmowy w aplikacji do obsługi czatu. Możesz zacząć od intencji powitalnej.
  7. Zanotuj identyfikator projektu.

Szczegółowe informacje znajdziesz w przewodniku Tworzenie agenta.

Tworzenie aplikacji do obsługi czatu i łączenie jej z agentem Dialogflow

Po utworzeniu agenta Dialogflow ES wykonaj te czynności, aby przekształcić go w aplikację do obsługi czatu:

  1. W Konsoli interfejsów API Google otwórz Google Chat API. Wyszukaj „Google Chat API” i kliknij Google Chat API, a potem kliknij Zarządzaj.

    Otwórz Chat API

  2. Kliknij Konfiguracja i skonfiguruj aplikację do obsługi czatu:

    1. W polu Nazwa aplikacji wpisz Dialogflow App.
    2. W polu URL awatara wpisz https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png.
    3. W polu Opis wpisz Responds to real human conversation.
    4. W sekcji Funkcje wybierz Dołączanie do pokoi i rozmów grupowych.
    5. W sekcji Ustawienia połączenia wybierz Dialogflow.
    6. W sekcji Ustawienia Dialogflow wybierz Dialogflow ES.
    7. Wybierz Udostępnij tę aplikację do obsługi czatu konkretnym osobom i grupom w swojej domenie i wpisz swój adres e-mail.
    8. W sekcji Logi wybierz Loguj błędy w usłudze Logging.
  3. Kliknij Zapisz.

Aplikacja do obsługi czatu jest gotowa do odbierania wiadomości i odpowiadania na nie w Google Chat.

Testowanie aplikacji do obsługi czatu

Przetestuj aplikację do obsługi czatu Dialogflow ES, wysyłając do niej wiadomość w Google Chat.

  1. Otwórz Google Chat na koncie Google Workspace, które zostało podane podczas dodawania siebie jako zaufanego testera.

    Otwórz Google Chat

  2. Kliknij Nowy czat.
  3. W polu Dodaj co najmniej 1 osobę wpisz nazwę aplikacji do obsługi czatu.
  4. Wybierz aplikację do obsługi czatu z wyników. Otworzy się czat.

  5. Na nowym czacie z aplikacją wpisz Hello i naciśnij enter.

    Aplikacja do obsługi czatu Dialogflow odpowie wiadomością powitalną.

Odpowiedzi tekstowe

Odpowiedzi tekstowe są wysyłane do Google Chat jako wiadomości tekstowe. Dzięki temu formatowaniu możesz pogrubić lub pochylić tekst, otaczając go określonymi symbolami (markdown light).

Odpowiedź w postaci wiadomości tekstowej wygląda tak samo jak domyślna odpowiedź tekstowa w konsoli Dialogflow. Jednak surowa odpowiedź interfejsu API będzie wyglądać nieco inaczej. Ustawia też konfigurację platformy na GOOGLE_HANGOUTS, co może być przydatne podczas tworzenia agentów do wielu integracji.

"fulfillmentMessages": [
{
   "text": {
   "text": [
        "This is a test."
   ]
},
  "platform": "GOOGLE_HANGOUTS"
},

Karty

Odpowiedzi w postaci kart są wysyłane do Google Chat jako wiadomości z kartami.

Grafika

Odpowiedzi w postaci obrazów są wysyłane do Google Chat jako widżety obrazów Google Chat.

Niestandardowy ładunek

Aby wysyłać inne typy wiadomości Google Chat, możesz użyć niestandardowego ładunku.

Niestandardowy ładunek Google Chat umożliwia tworzenie bardziej zaawansowanych kart. Karta może mieć 1 sekcję lub więcej. Każda sekcja może mieć nagłówek. Aby zobaczyć niektóre kombinacje, które możesz utworzyć, zapoznaj się z przewodnikiem Rozszerzanie kart Google Chat w dodatkach do Google Workspace. Jednak używanie niestandardowych ładunków oznacza, że musisz podać format JSON.

Oto przykład niestandardowego ładunku umożliwiającego utworzenie wiadomości z kartą:

{ "hangouts": { "hostAppDataAction": { "chatDataAction": {
  "createMessageAction": { "message": { "cardsV2": [{
    "cardId": "pizza",
    "card": {
      "header": {
        "title": "Pizza Delivery Customer Support",
        "subtitle": "pizzadelivery@example.com",
        "imageUrl": "https://goo.gl/aeDtrS"
      },
      "sections": [{ "widgets": [{ "textParagraph": {
        "text": " Your pizza is here!"
      }}]}]
    }
  }]}}
}}}}

Ograniczenia i kwestie do rozważenia

  • W przypadku korzystania z dodatków do Google Workspace z Dialogflow obiekty zdarzeń Google Chat mają następujące ograniczenia i kwestie do rozważenia:
    • Zdarzenia strony głównej aplikacji: obsługa zdarzeń APP_HOME nie jest jeszcze dostępna.
    • Dane wejściowe zapytania Dialogflow: tekst wysyłany jako dane wejściowe zapytania do agenta Dialogflow zależy od typu zdarzenia:
      • MESSAGE: wartość pola argumentText z wiadomości Google Chat.
      • APP_COMMAND: Ciąg znaków "APP_COMMAND_PAYLOAD".
      • ADDED_TO_SPACE: wysyłane jest domyślne zdarzenie powitalne.
      • REMOVED_FROM_SPACE: Ciąg znaków "REMOVED_FROM_SPACE_PAYLOAD".
      • CARD_CLICKED: ciąg znaków "BUTTON_CLICKED_PAYLOAD".
      • WIDGET_UPDATED: Ciąg znaków "WIDGET_UPDATED_PAYLOAD" (używany do autouzupełniania).
    • Pełny ładunek zdarzenia: pełny ładunek JSON zdarzenia interakcji Google Chat jest wysyłany do Dialogflow w polu WebhookRequest.payload. Możesz uzyskać do niego dostęp w webhooku Dialogflow. Więcej informacji znajdziesz w dokumentacji żądania webhooka Dialogflow ES.
  • Kwestie do rozważenia dotyczące odpowiadania na polecenia i odbierania danych z kart lub okien:
    • Jeśli agent Dialogflow musi przetworzyć ładunek JSON zdarzenia interakcji Google Chat, może to zrobić za pomocą webhooka Dialogflow aby sprawdzić niestandardowy ładunek w parametrze zapytania.
    • Aby wyświetlić okno z agenta Dialogflow, odpowiedz pojedynczym niestandardowym ładunkiem JSON, który zawiera RenderActions obiekt z nawigacją pushCard.
    • Aby przetworzyć dane wprowadzone z kart, możesz użyć a webhooka Dialogflow i odpowiedzieć pojedynczym niestandardowym ładunkiem JSON zawierającym odpowiednią czynność.
  • Podglądy linków nie są obsługiwane.
  • Jeśli agent Dialogflow odpowie tylko 1 wiadomością, zostanie ona wysłana do Google Chat synchronicznie. Jeśli agent Dialogflow odpowie kilkoma wiadomościami, wszystkie zostaną wysłane do Google Chat asynchronicznie przez wywołanie create metody w zasobie spaces.messages w interfejsie Chat API raz dla każdej wiadomości.
  • W przypadku korzystania z integracji Dialogflow ES z Google Chat agent Dialogflow i aplikacja do Google Chat muszą być skonfigurowane w tym samym projekcie w chmurze Google.

Rozwiązywanie problemów

Aby debugować aplikację do obsługi czatu, zacznij od sprawdzenia dzienników błędów. Ponieważ ta aplikacja korzysta z Dialogflow, masz do dyspozycji kilka zasobów do logowania i rozwiązywania problemów:

Zwalnianie miejsca

Aby uniknąć obciążania konta opłatami za zasoby użyte w tym samouczku, zalecamy usunięcie projektu w chmurze.

  1. W Konsoli interfejsów API Google otwórz stronę Zarządzanie zasobami. Kliknij Menu > Uprawnienia i administracja > Zarządzanie zasobami.

    Otwórz Resource Manager

  2. Na liście projektów wybierz projekt do usunięcia, a potem kliknij Usuń .
  3. W oknie wpisz identyfikator projektu i kliknij Wyłącz, aby usunąć projekt.
  • Dialogflow CX to inny sposób korzystania z Dialogflow w aplikacji do obsługi czatu.