Tworzenie aplikacji Dialogflow ES na potrzeby Google Chat

Na tej stronie dowiesz się, jak utworzyć aplikację Google Chat, która używa Dialogflow ES do rozumienia języka naturalnego i odpowiadania na niego. Możesz też użyć Dialogflow CX, które ma bezpośrednią integrację z Google Chat, aby utworzyć aplikację Dialogflow CX Google Chat, korzystając z przewodnika Dialogflow CX Google Chat.

Cele

  • skonfigurować środowisko,
  • Utwórz i wdróż agenta Dialogflow ES.
  • Tworzenie i wdrażanie aplikacji do obsługi czatu opartej na agencie Dialogflow ES.
  • Przetestuj aplikację Google Chat.

Wymagania wstępne

Architektura

Poniższy diagram przedstawia architekturę aplikacji do obsługi 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 na czacie 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 do obsługi czatu w Google Chat.
  5. Odpowiedź zostanie dostarczona 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 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 w chmurze;
  5. Kliknij Utwórz.
  6. W razie potrzeby utwórz intencje i jednostki dla przepływu konwersacji w aplikacji Chat. 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 Google Chat:

  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ę Google 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 kliknij Dialogflow.
    6. W sekcji Ustawienia Dialogflow kliknij 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 kliknij Loguj błędy w usłudze Logging.
  3. Kliknij Zapisz.

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

Testowanie aplikacji Google Chat

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

  1. Otwórz Google Chat, używając 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 do obsługi czatu w Google 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 wiadomości tekstowe. Dzięki temu formatowaniu możesz pogrubić lub pochylić tekst, umieszczając go między określonymi symbolami (markdown light).

SMS z odpowiedzią wygląda tak samo jak domyślna odpowiedź tekstowa w konsoli Dialogflow. Surowa odpowiedź interfejsu API będzie jednak wyglądać nieco inaczej. Ustawia też konfigurację platformy na GOOGLE_HANGOUTS, co może być przydatne podczas tworzenia agentów dla 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.

Ładunek niestandardowy

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

Niestandardowy ładunek Google Chat umożliwia tworzenie bardziej zaawansowanych kart. Jedna karta może zawierać 1 lub więcej sekcji. Każda sekcja może mieć nagłówek. W przewodniku po wiadomościach na kartach 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 tworzenia 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!"
      }}]}]
    }
  }]}}
}}}}

Limity i kwestie do rozważenia

  • Podczas korzystania z aplikacji Google Chat z Dialogflow obiekty zdarzeń w Google Chat mają następujące ograniczenia i kwestie, które należy wziąć pod uwagę:
    • Zdarzenia w aplikacji Home: 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.
  • Uwagi dotyczące odpowiadania na polecenia i otrzymywania 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 wiadomości zostaną wysłane do Google Chat asynchronicznie przez wywołanie metody create w zasobie spaces.messages w interfejsie Chat API – po jednym wywołaniu dla każdej wiadomości.
  • Jeśli używasz integracji Dialogflow ES z Chat, agent Dialogflow i aplikacja Chat muszą być skonfigurowane w tym samym projekcie Google Cloud.

Rozwiązywanie problemów

Aby debugować aplikację do obsługi czatu, zacznij od przejrzenia logó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 chmurze.

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

    Otwórz Resource Manager

  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 korzystania z Dialogflow w aplikacji do obsługi czatu.