Utwórz aplikację Google Chat Dialogflow CX, która rozumie język naturalny i odpowiednio na nie reaguje.

Na tej stronie dowiesz się, jak utworzyć aplikację w Google Chat, która potrafi rozumieć język naturalny i odpowiadać w nim za pomocą Dialogflow. W tym przewodniku używamy Dialogflow CX, które jest bezpośrednio zintegrowane z Google Chat. Możesz też użyć Dialogflow ES, aby utworzyć aplikację Google Chat Dialogflow ES, korzystając z przewodnika Dialogflow ES Google Chat.

Rozważmy na przykład aplikację do obsługi czatu, która pomaga użytkownikom wypożyczać samochody. Użytkownik może napisać: „Chcę wypożyczyć samochód”. Aplikacja do Google Chat może odpowiedzieć na przykład pytaniem „Gdzie chcesz odebrać pojazd?”, co rozpocznie rozmowę z użytkownikiem, w której aplikacja do Google Chat będzie rozumieć i odpowiadać w sposób przypominający ludzką mowę podczas rezerwacji wypożyczenia samochodu.

To tylko jeden przykład. Aplikacje do obsługi czatu Dialogflow przydają się w różnych interakcjach. Jeśli wymaga naturalnej mowy, potrzebna jest aplikacja Dialogflow Chat. Gotowe agenty pomogą Ci szybko zacząć i zaprezentują możliwości Dialogflow, takie jak:

  • Rezerwowanie lotów
  • Planowanie wizyt u lekarza
  • Zamawianie jedzenia z dostawą
  • Odpowiadanie na pytania dotyczące katalogu produktów w sklepie, np. czy produkty są dostępne w innych kolorach.
  • Strona wyboru gotowego agenta Dialogflow.
    Rysunek 1. Wybieranie gotowego agenta w przypadku aplikacji do obsługi czatu w Dialogflow.
  • Testowanie agenta w Dialogflow CX.
    Rysunek 2. Testowanie agenta w Dialogflow CX, aby upewnić się, że logika i konfiguracja agenta działają zgodnie z oczekiwaniami. Diagram przedstawia sekwencję stron tematycznych dotyczących konkretnych etapów rozmowy, np. ustawiania miejsca odbioru i lokalizacji zwrotu wypożyczonego samochodu, oraz konfiguruje logikę, która je łączy. Rozmowa jest testowana w symulatorze.
  • Konfigurowanie aplikacji do obsługi czatu Dialogflow.
    Rysunek 3. Skonfiguruj aplikację do obsługi czatu, aby przetwarzała odpowiedzi za pomocą agenta Dialogflow CX na stronie konfiguracji interfejsu Chat API w konsoli Google Cloud.
  • Testowanie aplikacji do czatu Dialogflow CX
    Rysunek 4. Rozmowa o rezerwacji samochodu z wypożyczalni za pomocą aplikacji Dialogflow Chat w Google Chat.

Cele

  • skonfigurować środowisko,
  • Utwórz i wdroż agenta Dialogflow CX.
  • Tworzenie i wdrażanie aplikacji do obsługi czatu opartej na agencie Dialogflow CX.
  • 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 Google Cloud, 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 Google Cloud 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 CX

Agent Dialogflow CX to wirtualny agent, który obsługuje równoczesne rozmowy z użytkownikami. Jest to moduł rozumienia języka naturalnego, który rozumie niuanse ludzkiego języka. Dialogflow tłumaczy tekst użytkownika podczas rozmowy na dane strukturalne, które mogą zrozumieć Twoje aplikacje i usługi. Projektujesz i tworzysz agenta Dialogflow, który będzie obsługiwać rodzaje rozmów wymagane w Twoim systemie.

Agent Dialogflow jest podobny do pracownika centrum obsługi telefonicznej. Trenujesz je w zakresie obsługi oczekiwanych scenariuszy rozmowy, a trenowanie nie musi być zbyt szczegółowe.

Aby utworzyć agenta Dialogflow CX:

  1. W konsoli Dialogflow CX otwórz konsolę Dialogflow CX. Kliknij Menu > Dialogflow CX.

    Otwórz konsolę Dialogflow CX

  2. Wybierz projekt w chmurze Google Cloud. Aby znaleźć projekt, kliknij Wszystkie, a potem go wyszukaj.

  3. Możesz teraz wybrać gotowego agenta lub utworzyć własnego. Jeśli wolisz szczegółowo zapoznać się z dostosowywaniem agentów w późniejszym czasie, wybierz jednego z gotowych agentów, którzy pomogą Ci dowiedzieć się, co mogą robić agenci.

    Aby wybrać gotowego agenta:

    1. Kliknij Use prebuilt agents (Użyj gotowych agentów).
    2. Wybierz gotowego agenta. Na potrzeby tego przewodnika wybierz Podróże: wypożyczalnia samochodów.

      Agenci są oceniani jako początkujący, średnio zaawansowani lub zaawansowani w zależności od liczby funkcji, z których korzystają, oraz od złożoności logiki rozmowy. Wybór agenta na poziomie średniozaawansowanym lub zaawansowanym może wymagać dostosowań i ustawień specyficznych dla agenta, w tym włączenia funkcji i interfejsów API w konsoli Google Cloud.

    3. Kliknij Importuj jako agent.

    Aby utworzyć własnego agenta, wykonaj te czynności:

    1. Kliknij Utwórz agenta.
    2. Kliknij Wygeneruj automatycznie, aby utworzyć agenta magazynu danych, lub Utwórz własnego, aby utworzyć inne rodzaje agentów.

    Szczegółowe instrukcje tworzenia agenta znajdziesz w artykule Tworzenie agenta Dialogflow CX.

  4. Skonfiguruj podstawowe ustawienia agenta:

    1. W polu Wyświetlana nazwa wpisz wyświetlaną nazwę.
    2. Wybierz preferowaną lokalizację. Jeśli chcesz zmienić zaawansowane ustawienia lokalizacji, kliknij Edytuj.
    3. Wybierz preferowaną strefę czasową.
    4. Wybierz domyślny język agenta. Po utworzeniu agenta nie można zmienić jego języka domyślnego.
  5. Kliknij Utwórz. Dialogflow CX rozpocznie tworzenie agenta, a następnie wyświetli jego domyślny przepływ początkowy.

  6. Opcjonalnie możesz dostosować agenta. Szczegółowe instrukcje dotyczące procesu dostosowywania agenta znajdziesz w artykule Tworzenie agenta Dialogflow CX.

  7. Sprawdzoną metodą jest przetestowanie agenta:

    1. Kliknij Przetestuj agenta.
    2. Kliknij Testuj agenta w środowisku.
    3. W sekcji Środowisko wybierz Wersja robocza.
    4. W Flow wybierz Default Start Flow (Domyślny przepływ początkowy).
    5. Na stronie wybierz Strona startowa.
    6. Na pasku tworzenia wiadomości Porozmawiaj z agentem wpisz Hello i naciśnij Enter. Agent odpowiada, przedstawiając się.
    7. Przeprowadź przykładową rozmowę testową, aby ukończyć test.
  8. Zostanie utworzony agent Dialogflow CX. Wróć do konsoli Dialogflow CX. Kliknij Menu > Dialogflow CX.

    Otwórz konsolę Dialogflow CX

  9. W sekcji Agenci kliknij  > Kopiuj nazwę. Zapisz tę nazwę, ponieważ będzie ona potrzebna podczas konfigurowania aplikacji do obsługi czatu.

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

Po utworzeniu agenta Dialogflow CX wykonaj te czynności, aby przekształcić go w aplikację do Google Chat:

  1. W konsoli Google Cloud 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 wybierz Dialogflow CX.
    7. W sekcji Agent or Environment resource name (Nazwa zasobu agenta lub środowiska) wklej nazwę agenta Dialogflow CX skopiowaną na końcu sekcji Tworzenie agenta Dialogflow CX.
    8. Udostępnij tę aplikację do obsługi czatu konkretnym osobom i grupom w domenie i wpisz swój adres e-mail.
    9. 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 CX, 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 odpowiada, przedstawiając się.

  6. Przeprowadź przykładową rozmowę testową.

Przykładowa rozmowa testowa

Aby przetestować aplikację do czatu Dialogflow CX w konsoli Dialogflow CX lub w Google Chat, przeprowadź poniższą rozmowę. Wyjaśnienie pomaga zrozumieć, jak agent Dialogflow CX interpretuje język naturalny użytkownika i generuje własną odpowiedź w języku naturalnym na każdym etapie rozmowy. Ta przykładowa rozmowa jest oparta na gotowym agencie o nazwie Podróże: wypożyczalnia samochodów.

Dialog Wyjaśnienie
Użytkownik: Cześć
Agent: Cześć! Jestem wirtualnym agentem wypożyczalni samochodów. Mogę Ci pomóc w rozpoczęciu nowej rezerwacji wypożyczenia samochodu. W czym mogę Ci dziś pomóc?
  1. Wywoływana jest ścieżka domyślnej intencji powitalnej w domyślnym przepływie początkowym.
  2. Odpowiedź dla tego modułu obsługi stanu („Hi! I'm...") zostanie dodany do kolejki odpowiedzi.
  3. Agent wysyła kolejkę odpowiedzi do użytkownika.
Użytkownik: chcę wynająć samochód.
Agent: Gdzie chcesz odebrać pojazd?
  1. Zostanie dopasowana ścieżka intencji car_rental.reservation_create na stronie początkowej.
  2. Sesja przejdzie na stronę Miejsce odbioru.
  3. Formularz na stronie Miejsce odbioru nie jest wypełniony, więc agent używa parametru pickup_location, aby poprosić użytkownika o podanie informacji („Gdzie chcesz odebrać...”), który jest dodawany do kolejki odpowiedzi.
  4. Agent wysyła kolejkę odpowiedzi do użytkownika.
Użytkownik: Las Vegas
Agent: OK, odbiór będzie w Las Vegas.
Agent: Czy miejsce wysiadki różni się od miejsca odbioru?
  1. Dane wejściowe użytkownika wypełniają parametr pickup_location wymagany przez agenta w poprzedniej turze rozmowy.
  2. Zostanie dopasowana trasa intencji car_rental.return_different_location w domyślnym przepływie początkowym.
  3. Trasa wypełniania formularza na stronie Miejsce odbioru jest oceniana i wywoływana. Zawiera ona realizację („OK, odbiór…”), która jest dodawana do kolejki odpowiedzi z odniesieniami do parametrów przekształconymi w rzeczywiste wartości podane przez użytkownika.
  4. Sesja przejdzie na stronę Potwierdź lokalizację.
  5. Na stronie Potwierdź lokalizację znajduje się pole do wypełnienia („Czy miejsce odbioru jest inne...”), który jest dodawany do kolejki odpowiedzi.
  6. Agent wysyła kolejkę odpowiedzi do użytkownika.
Użytkownik: tak. Oddam samochód w Los Angeles.
Agent: OK, Twój punkt odbioru będzie w Los Angeles.
Agent: Na jaką datę i godzinę chcesz odebrać pojazd?
  1. Zostanie dopasowana trasa intencji car_rental.return_different_location w domyślnym przepływie początkowym.
  2. Sesja przechodzi na stronę Miejsce wysiadki.
  3. Dane wejściowe użytkownika wypełniają parametr drop_off_location wymagany przez agenta w poprzedniej turze rozmowy.
  4. Trasa wypełniania formularza na stronie Miejsce odbioru jest oceniana i wywoływana. Zawiera ona realizację („Ok, your drop off...”), która jest dodawana do kolejki odpowiedzi.
  5. Sesja przechodzi na stronę Czas trwania wypożyczenia.
  6. Strona Czas wypożyczenia zawiera niekompletne wartości formularza, więc prosi użytkownika o podanie parametru pickup_date_time („Kiedy i o której godzinie chcesz odebrać…”). który jest dodawany do kolejki odpowiedzi.
  7. Agent wysyła kolejkę odpowiedzi do użytkownika.
Użytkownik: chcę odebrać samochód 5 marca o godzinie 12:00.
Agent: Kiedy chcesz zwrócić pojazd?
  1. Dane wejściowe użytkownika wypełniają parametr pickup_date_time wymagany przez agenta w poprzedniej turze rozmowy.
  2. Na stronie Rental Duration brakuje kolejnej wartości formularza, więc wyświetla się prośba o podanie parametru drop_off_date_time („What date and time would you like to drop off...”). który jest dodawany do kolejki odpowiedzi.
  3. Agent wysyła kolejkę odpowiedzi do użytkownika.
Użytkownik: 15 marca w południe.
Agent: Potwierdzam:

Odbierzesz pojazd w Las Vegas 5 marca 2024 r. o godzinie 12:00, a oddasz go w Los Angeles 15 marca 2024 r. o godzinie 12:00.

Czy to się zgadza?
  1. Dane wejściowe użytkownika wypełniają parametr drop_off_date_time wymagany przez agenta w poprzedniej turze rozmowy.
  2. Sesja przechodzi na stronę Potwierdź czas wypożyczenia.
  3. Na stronie Confirm Rental Duration (Potwierdź czas wypożyczenia) znajduje się wpis dotyczący realizacji („So to confirm...”), który jest dodawany do kolejki odpowiedzi.
  4. Agent wysyła kolejkę odpowiedzi do użytkownika.
Użytkownik: tak, dziękuję.
Agent: Świetnie! Teraz wybierzmy pojazd.
Agent: Czy chcesz wynająć samochód klasy ekonomicznej czy luksusowy?
  1. Zostanie dopasowana ścieżka intencji small_talk.confirmation.yes na stronie Potwierdź czas wypożyczenia.
  2. Agent potwierdza wybór użytkownika wiadomością („Świetnie! Teraz wybierzmy…”, który jest dodawany do kolejki odpowiedzi.
  3. Sesja przechodzi na stronę Rozróżnianie pojazdów.
  4. Formularz na stronie Vehicle Disambiguation (Rozróżnianie pojazdów) nie jest wypełniony, więc agent używa parametru vehicle_type, aby wyświetlić użytkownikowi pytanie („Czy chcesz wybrać samochód ekonomiczny czy luksusowy...”). który jest dodawany do kolejki odpowiedzi.
  5. Agent wysyła kolejkę odpowiedzi do użytkownika.
Użytkownik: Poproszę o przesyłkę ekonomiczną.
Agent: Chcesz wypożyczyć samochód osobowy Cymbal czy ciężarowy Cymbal?
  1. Zostanie dopasowana ścieżka intencji $session.params.vehicle_type="economy_vehicle".
  2. Sesja przejdzie na stronę Opcje ekonomiczne.
  3. Na stronie Opcje ekonomiczne znajduje się pole „Wypełnienie wpisu” („Czy chcesz...”), który jest dodawany do kolejki odpowiedzi.
  4. Agent wysyła kolejkę odpowiedzi do użytkownika.
Użytkownik: Cymbal Truck.
Agent: Cymbal Truck kosztuje 50,33 USD dziennie. Mieści 4 osoby i jest wyposażony w radio AM/FM. Czy chcesz przejść do płatności?
Użytkownik: tak.
  1. Zostanie dopasowana ścieżka intencji $session.params.vehicle_type="Cymbal Truck" i wypełniony parametr vehicle_model.
  2. Sesja przechodzi na stronę Potwierdź Cymbal Truck.
  3. Na stronie Potwierdź ciężarówkę Cymbal znajduje się wpis dotyczący realizacji zamówienia („Ciężarówka Cymbal kosztuje 50,33 USD za dzień…”). który jest dodawany do kolejki odpowiedzi.
  4. Agent wysyła kolejkę odpowiedzi do użytkownika.
  5. Odpowiedź użytkownika pasuje do trasy small_talk.confirmation.yes.
Pracownik obsługi klienta: jakiego rodzaju karty będziesz używać?
Użytkownik: Altostrat
Pracownik obsługi klienta: Wpisz numer karty.
Użytkownik: 1234 1234 1234 1234
Agent: Jakie imię i nazwisko widnieją na karcie?
Użytkownik: Charlie
Pracownik obsługi klienta: Jaki jest adres rozliczeniowy?
Użytkownik: 1800 Amphibious Blvd. Mountain View, CA
Agent: Jaki jest kod pocztowy do rozliczeń?
Użytkownik: 94045
Agent: Odbierzesz samochód Cymbal Car w Las Vegas 5 marca 2024 r. o godzinie 12:00, a zwrócisz go 15 marca 2024 r. o godzinie 12:00. Łączny koszt tej podróży wyniesie 175,38 PLN.
Agent: Dziękujemy za wypożyczenie samochodu i życzymy miłego dnia.
  1. Sesja przechodzi na stronę Płatność.
  2. Formularz Payment nie jest wypełniony, więc agent prosi użytkownika o podanie parametrów card_type, card_number, billing_name, billing_street_address i billing_zip_code („What card type will…”). które są kolejno dodawane do kolejki odpowiedzi i wysyłane, gdy użytkownik odpowiada. Odpowiedzi użytkownika określają wartość każdego parametru.
  3. Sesja przechodzi na stronę Potwierdzenie wypożyczenia.
  4. Na stronie Potwierdzenie wypożyczenia znajduje się wpis dotyczący realizacji („OK, Twój odbiór nastąpi...”), który jest dodawany do kolejki odpowiedzi.
  5. Agent wysyła kolejkę odpowiedzi do użytkownika.
  6. Sesja przejdzie na stronę Zakończ sesję.

Wysyłanie wiadomości z kartami z Dialogflow

Dialogflow może odpowiadać za pomocą tekstu lub kart. Aby odpowiedzieć kartą, określ ją jako niestandardowy ładunek w realizacji.

Poniższy kod JSON pokazuje, jak wysłać wiadomość z kartą jako niestandardowy ładunek w ramach realizacji:

json

{ "hostAppDataAction": { "chatDataAction": { "createMessageAction": {
  "message": { "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"
        }}
      }]}}]}]
    }
  }]}
}}}}

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: ciąg znaków "ADDED_TO_SPACE_PAYLOAD".
      • 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 CX.
  • 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 CX z Google Chat, agent Dialogflow i aplikacja Google Chat muszą być skonfigurowane w tym samym projekcie w chmurze Google. Jeśli musisz skonfigurować Dialogflow i czat w różnych projektach w chmurze, możesz skonfigurować serwer pośredniczący, aby ułatwić połączenie. Aby dowiedzieć się, jak to zrobić, zapoznaj się z tym przykładem integracji Google Chat z Dialogflow CX w GitHubie.

Rozwiązywanie problemów

Aby debugować aplikację do obsługi czatu, zacznij od sprawdzenia 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:

  • Dzienniki dodatków do Google Workspace: dzienniki zapytań zawierające szczegółowe informacje o działaniu aplikacji do Google Chat, w tym o jej interakcjach z Google Chat. Zobacz Dzienniki zapytań w Google Workspace Add-ons.

  • Błędy aplikacji Google Chat: ogólne komunikaty o błędach aplikacji Chat i sposoby ich rozwiązywania znajdziesz w artykule Rozwiązywanie problemów z błędami aplikacji Chat.

  • Cloud Logging w Dialogflow CX: sprawdź, czy w ustawieniach agenta Dialogflow włączono Cloud Logging, aby rejestrować szczegółowe logi wykonania, w tym błędy agenta i interakcje z webhookiem. Dowiedz się, jak włączyć i skonfigurować tę funkcję w dokumentacji ustawień agenta Dialogflow CX. Te logi możesz wyświetlić w Eksploratorze logów w konsoli Google Cloud.

  • Historia rozmów w Dialogflow CX: przeglądaj wcześniejsze interakcje, aby zrozumieć przebieg rozmowy i wykryć, gdzie występują problemy. Zobacz Historię rozmów.

  • Ogólne rozwiązywanie problemów z Dialogflow: w przypadku bardziej ogólnych problemów z Dialogflow zapoznaj się z przewodnikiem rozwiązywania problemów z Dialogflow CX.

Czyszczenie danych

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

  1. W konsoli Google Cloud 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.

Aplikacje do obsługi czatu, które nie są dodatkami: tworzenie aplikacji Google Chat w Dialogflow CX

Jeśli tworzysz lub obsługujesz aplikację do Google Chat, która nie jest dodatkiem do Google Workspace, zwróć uwagę na te różnice w konfiguracji, ładunku i zdarzeniach.

Konfigurowanie aplikacji w Google Chat w Dialogflow CX, która nie jest dodatkiem

Podczas konfigurowania interfejsu Google Chat API w konsoli Google Cloud:

  1. Odznacz pole Utwórz tę aplikację do czatu jako dodatek do Google Workspace. Otworzy się okno z prośbą o potwierdzenie. W oknie kliknij Wyłącz.
  2. Uzupełnij pozostałe ustawienia konfiguracji Dialogflow CX i kliknij Zapisz.

Wysyłanie wiadomości z kartami z aplikacji Google Chat w Dialogflow CX, która nie jest dodatkiem

W aplikacji do Google Chat, która nie jest dodatkiem, określ obiekt najwyższego poziomu cardsV2w niestandardowym ładunku Dialogflow w realizacji:

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"
                      }
                    }
                  }
                ]
              }
            }
          ]
        }
      ]
    }
  }]
}

Limity i wskazówki dotyczące aplikacji do czatu Dialogflow CX, które nie są dodatkami

  • Zdarzenia interakcji na czacie mają następujące cechy i ograniczenia:
    • Obsługiwane są te typy zdarzeń interakcji:
      • MESSAGE
      • ADDED_TO_SPACE
      • CARD_CLICKED
    • W przypadku zdarzeń MESSAGE lub ADDED_TO_SPACE dane wejściowe zapytania wysyłane do agenta Dialogflow odpowiadają wartości pola argumentText w wiadomości na czacie. Jeśli wiadomość zawiera polecenie po ukośniku, zamiast niej używana jest wartość pola text.
    • W przypadku zdarzeń CARD_CLICKED zapytanie wysyłane do agenta Dialogflow jest sformatowane jako CARD_CLICKED.functionName, gdzie functionName odpowiada wartości pola function obiektu Action dołączonego do elementu karty interaktywnej (np. przycisku).
    • Pełny ładunek JSON każdego zdarzenia interakcji na czacie jest wysyłany do Dialogflow jako ładunek niestandardowy w parametrze zapytania i można uzyskać do niego dostęp za pomocą elementu webhook Dialogflow, wysyłając zapytanie o wartość pola WebhookRequest.payload.
  • Wskazówki dotyczące odpowiadania na polecenia po ukośniku i otrzymywania danych z kart lub okien dialogowych w aplikacjach do obsługi czatu, które nie są dodatkami:
    • Gdy aplikacje Dialogflow Chat, które nie są dodatkami, otrzymają wiadomość z poleceniem po ukośniku, dane wejściowe zapytania zawierają tylko wartość pola text. Pole text zaczyna się od nazwy polecenia po ukośniku (np. /command), której możesz użyć do skonfigurowania intencji agenta Dialogflow, aby wykrywać polecenia po ukośniku.
    • Aby wyświetlić okno z agenta Dialogflow w aplikacji do obsługi czatu, która nie jest dodatkiem, odpowiedz pojedynczym niestandardowym ładunkiem JSON zawierającym wiadomość z odpowiedzią DIALOG.
    • Aby przetwarzać dane wprowadzane z kart w aplikacji do obsługi czatu, która nie jest dodatkiem, agent Dialogflow może wykrywać intencje rozpoczynające się od tekstu CARD_CLICKED i odpowiadać pojedynczym niestandardowym ładunkiem JSON zawierającym odpowiednią akcję.