Tworzenie dodatku do Google Chat za pomocą Dialogflow ES

Na tej stronie 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óre jest bezpośrednio zintegrowane z Google Chat, aby utworzyć aplikację Dialogflow CX Google Chat, korzystając z przewodnika Dialogflow CX Google Chat.

Cele

  • skonfigurować środowisko,
  • Utwórz i wdroż agenta Dialogflow ES.
  • Utwórz i wdroż aplikację do obsługi czatu opartą na agencie Dialogflow ES.
  • Przetestuj aplikację Google Chat.

Wymagania wstępne

Architektura

Poniższy diagram przedstawia architekturę aplikacji do czatu utworzonej za pomocą Dialogflow:

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

Na powyższym diagramie użytkownik wchodzący w interakcję z aplikacją Dialogflow Chat ma następujący przepływ informacji:

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

Konfigurowanie środowiska

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

    Włączanie interfejsów API

  2. Sprawdź, czy włączasz interfejsy API w odpowiednim projekcie w Cloud, 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ązać go z projektem Cloud,
  5. Kliknij Utwórz.
  6. Utwórz intencje i jednostki zgodnie z potrzebami przepływu konwersacji w aplikacji do czatu. Możesz zacząć od intencji powitania.
  7. Zanotuj identyfikator projektu.

Szczegółowe informacje znajdziesz w artykule 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 czatowania:

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

    Otwórz Chat API

  2. Kliknij Konfiguracja i skonfiguruj aplikację Chat:

    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. Udostępnij tę aplikację do obsługi czatu konkretnym osobom i grupom w domenie i wpisz swój adres e-mail.
    8. W sekcji Logi wybierz Loguj błędy w usłudze Logging.
  3. Kliknij Zapisz.

Aplikacja Chat jest gotowa do odbierania wiadomości i odpowiadania na nie.

Testowanie aplikacji Google Chat

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

  1. Otwórz Google Chat, korzystając z konta 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 Chat.
  4. Wybierz aplikację Chat 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 SMS-y. Dzięki temu formatowaniu możesz pogrubić tekst lub zastosować kursywę, umieszczając tekst w określonych symbolach (markdown light).

SMS z odpowiedzią 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 formie kart są wysyłane do Google Chat jako wiadomości z kartami.

Obrazy

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 w Google Chat, możesz użyć niestandardowego ładunku.

Niestandardowy ładunek Google Chat umożliwia tworzenie bardziej zaawansowanych kart. Jedna karta może mieć jedną lub wiele sekcji. Każda sekcja może mieć nagłówek. W przewodniku po rozszerzeniach Google Workspace do kart w Google Chat znajdziesz niektóre kombinacje, które możesz utworzyć. Korzystanie z niestandardowych ładunków oznacza jednak, że musisz podać format JSON.

Oto przykład niestandardowego ładunku do utworzenia 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

  • Podczas korzystania z dodatków do Google Workspace w Dialogflow obiekty zdarzeń w Google Chat mają następujące ograniczenia i kwestie do rozważenia:
    • Zdarzenia na stronie 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 na czacie.
      • APP_COMMAND: Ciąg znaków "APP_COMMAND_PAYLOAD".
      • ADDED_TO_SPACE: wysyłane jest domyślne wydarzenie 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 na czacie jest wysyłany do Dialogflow w polu WebhookRequest.payload. Dostęp do niego uzyskasz w webhooku Dialogflow. Więcej informacji znajdziesz w dokumentacji żądania webhooka Dialogflow ES.
  • Wskazówki dotyczące odpowiadania na poleceniaodbierania danych z kart lub okien:
  • Podglądy linków nie są obsługiwane.
  • Jeśli agent Dialogflow odpowie tylko jedną 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 metody create w zasobie spaces.messages w Chat API – po jednym wywołaniu dla każdej wiadomości.
  • Jeśli używasz integracji Dialogflow ES z Google Chat, agent Dialogflow i aplikacja Google Chat muszą być skonfigurowane w tym samym projekcie Google Cloud.

Rozwiązywanie problemów

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

Czyszczenie danych

Aby uniknąć obciążenia konta opłatami za zasoby zużyte w tym samouczku, zalecamy usunięcie projektu w Cloud.

  1. W konsoli interfejsów API Google otwórz stronę Zarządzanie zasobami. Kliknij Menu > Administracja > Zarządzaj zasobami.

    Otwórz Menedżera zasobów

  2. Z listy 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 kolejny sposób na korzystanie z Dialogflow w aplikacji do obsługi czatu.