Na tej stronie dowiesz się, jak utworzyć aplikację Google Chat, która może 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.
Weźmy na przykład aplikację do obsługi czatu, która pomaga użytkownikom wypożyczać samochody. Użytkownik może na przykład napisać „Chcę wypożyczyć samochód”. Aplikacja do czatu może odpowiedzieć na przykład pytaniem „Gdzie chcesz odebrać pojazd?”, co rozpocznie rozmowę z użytkownikiem, w której aplikacja do czatu będzie rozumieć i odpowiadać w sposób przypominający ludzką mowę podczas rezerwacji wynajmu 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 pomagają szybko rozpocząć pracę i pokazują, co potrafi Dialogflow, np.:
- Rezerwowanie lotów
- Umawianie wizyt lekarskich
- Zamawianie jedzenia z dostawą
- odpowiadać na pytania dotyczące katalogu produktów w sklepie, np. czy produkty są dostępne w innych kolorach;
-
Rysunek 1. Wybieranie gotowego agenta dla aplikacji do obsługi czatu w Dialogflow. -
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 zwrotu samochodu, oraz konfiguruje logikę, która je łączy. Rozmowa jest testowana w symulatorze. -
Rysunek 3. Konfigurowanie aplikacji do obsługi czatu w celu przetwarzania odpowiedzi za pomocą agenta Dialogflow CX na stronie konfiguracji interfejsu Chat API w konsoli Google Cloud. -
Rysunek 4. Rozmowa o rezerwacji samochodu z wypożyczalni w aplikacji Dialogflow Chat w Google Chat.
Cele
- skonfigurować środowisko,
- Utwórz i wdróż agenta Dialogflow CX.
- Tworzenie i wdrażanie aplikacji do obsługi czatu opartej na agencie Dialogflow CX.
- Przetestuj aplikację Google Chat.
Wymagania wstępne
- Konto Google Workspace w wersji Business lub Enterprise z dostępem do Google Chat.
- Projekt Google Cloud z włączonymi płatnościami. Aby sprawdzić, czy w istniejącym projekcie włączone są płatności, zapoznaj się z artykułem Sprawdzanie stanu płatności w projektach. Aby utworzyć projekt i skonfigurować rozliczenia, przeczytaj artykuł Tworzenie projektu Google Cloud.
Architektura
Poniższy diagram przedstawia architekturę aplikacji do czatu utworzonej za pomocą Dialogflow:
Na powyższym diagramie użytkownik wchodzący w interakcję z aplikacją Dialogflow Chat ma następujący przepływ informacji:
- Użytkownik wysyła wiadomość w Google Chat do aplikacji w Google Chat – w wiadomości bezpośredniej lub w pokoju w Google Chat.
- Wirtualny agent Dialogflow, który znajduje się w Google Cloud, odbiera i przetwarza wiadomość, aby wygenerować odpowiedź.
- 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ń.
- Agent Dialogflow wysyła odpowiedź z powrotem do usługi aplikacji Google Chat.
- 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.W konsoli Google Cloud włącz interfejsy Google Chat API i Dialogflow API.
Sprawdź, czy włączasz interfejsy API w odpowiednim projekcie w Cloud, a potem kliknij Dalej.
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 obsługi klienta w centrum telefonicznym. Oba modele trenujesz tak, aby obsługiwały oczekiwane scenariusze rozmowy, a trenowanie nie musi być zbyt szczegółowe.
Aby utworzyć agenta Dialogflow CX:
W konsoli Dialogflow CX otwórz konsolę Dialogflow CX. Kliknij Menu > Dialogflow CX.
Wybierz projekt Google Cloud. Aby znaleźć projekt, kliknij Wszystko i wyszukaj go.
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. Pomogą Ci oni też dowiedzieć się, co potrafią agenci.
Aby wybrać gotowego agenta, wykonaj te czynności:
- Kliknij Użyj gotowych agentów.
Wybierz gotowego agenta. Na potrzeby tego przewodnika wybierz Podróże: wypożyczalnia samochodów.
Agenty są klasyfikowane jako początkujące, średnio zaawansowane lub zaawansowane w zależności od liczby używanych przez nie funkcji i stopnia 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.
Kliknij Importuj jako agent.
Aby utworzyć własnego agenta, wykonaj te czynności:
- Kliknij Utwórz agenta.
- 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.
Skonfiguruj podstawowe ustawienia agenta:
- W polu Wyświetlana nazwa wpisz wyświetlaną nazwę.
- Wybierz preferowaną lokalizację. Jeśli chcesz zmienić zaawansowane ustawienia lokalizacji, kliknij Edytuj.
- Wybierz preferowaną strefę czasową.
- Wybierz domyślny język agenta. Po utworzeniu agenta nie można zmienić jego języka domyślnego.
Kliknij Utwórz. Dialogflow CX rozpocznie tworzenie agenta, a następnie wyświetli domyślny przepływ początkowy agenta.
Opcjonalnie możesz dostosować agenta. Szczegółowe informacje o procesie dostosowywania agenta znajdziesz w artykule Tworzenie agenta Dialogflow CX.
Zalecamy przetestowanie agenta:
- Kliknij Test agent (Przetestuj agenta).
- Kliknij Testuj agenta w środowisku.
- W sekcji Środowisko kliknij Wersja robocza.
- W Flow wybierz Default Start Flow (Domyślny przepływ początkowy).
- Na stronie wybierz Strona startowa.
- Na pasku tworzenia wiadomości Porozmawiaj z agentem wpisz
Helloi naciśnij Enter. Agent odpowiada, przedstawiając się. - Przeprowadź przykładową rozmowę testową.
Zostanie utworzony agent Dialogflow CX. Wróć do konsoli Dialogflow CX. Kliknij Menu > Dialogflow CX.
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 czatu:
W konsoli Google Cloud otwórz interfejs Google Chat API. Wyszukaj „Google Chat API” i kliknij Google Chat API, a następnie Zarządzaj.
Kliknij Konfiguracja i skonfiguruj aplikację Chat:
- W polu Nazwa aplikacji wpisz
Dialogflow App. - W polu URL awatara wpisz
https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png. - W polu Opis wpisz
Responds to real human conversation. - W sekcji Funkcje wybierz Dołączanie do pokoi i rozmów grupowych.
- W sekcji Ustawienia połączenia wybierz Dialogflow.
- W sekcji Ustawienia Dialogflow wybierz Dialogflow CX.
- W polu Agent or Environment resource name (Agent lub nazwa zasobu środowiska) wklej nazwę agenta Dialogflow CX skopiowaną na końcu sekcji Tworzenie agenta Dialogflow CX.
- Udostępnij tę aplikację do obsługi czatu konkretnym osobom i grupom w domenie i wpisz swój adres e-mail.
- W sekcji Logi wybierz Loguj błędy w usłudze Logging.
- W polu Nazwa aplikacji wpisz
Kliknij Zapisz.
Aplikacja Chat jest gotowa do odbierania wiadomości i odpowiadania na nie.
Testowanie aplikacji Google Chat
Przetestuj aplikację Google Chat w Dialogflow CX, wysyłając do niej wiadomość w Google Chat.
Otwórz Google Chat, korzystając z konta Google Workspace, które zostało podane podczas dodawania siebie jako zaufanego testera.
- Kliknij Nowy czat.
- W polu Dodaj co najmniej 1 osobę wpisz nazwę aplikacji Chat.
Wybierz aplikację Chat z wyników. Otworzy się czat.
Na nowym czacie z aplikacją wpisz
Helloi naciśnijenter.Aplikacja do obsługi czatu Dialogflow odpowiada, przedstawiając się.
- Przeprowadź przykładową rozmowę testową, aby ukończyć test.
Przykładowa rozmowa testowa
Aby przetestować aplikację Dialogflow CX Chat 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 Travel: car rental.
| Dialog | Wyjaśnienie |
|---|---|
|
Użytkownik: Cześć Agent: Cześć! Jestem wirtualnym agentem wypożyczalni samochodów. Chętnie pomożemy Ci rozpocząć nową rezerwację wypożyczenia samochodu. W czym mogę Ci dziś pomóc? |
|
|
Użytkownik: Chcę wynająć samochód. Agent: Gdzie chcesz odebrać pojazd? |
|
|
Użytkownik: Las Vegas Agent: OK, odbiór nastąpi w Las Vegas. Agent: Czy miejsce wysiadki różni się od miejsca odbioru? |
|
|
Użytkownik: tak. Zostawię samochód w Los Angeles. Agent: OK, Twój punkt odbioru będzie w Los Angeles. Pracownik obsługi klienta: Na jaką datę i godzinę chcesz zaplanować odbiór pojazdu? |
|
|
Użytkownik: Chcę odebrać samochód 5 marca w południe. Agent: Na jaką datę i godzinę chcesz zaplanować zwrot pojazdu? |
|
|
Użytkownik: 15 marca w południe. Agent: Potwierdzam: Odbierzesz pojazd w Las Vegas 5 marca 2024 r. o godzinie 12:00, a zwrócisz go w Los Angeles 15 marca 2024 r. o godzinie 12:00. Czy to się zgadza? |
|
|
Użytkownik: tak, dziękuję. Pracownik obsługi klienta: świetnie. Teraz wybierzmy pojazd. Pracownik: Czy chcesz wynająć pojazd klasy ekonomicznej czy luksusowej? |
|
|
Użytkownik: poproszę o przesyłkę ekonomiczną. Agent: Chcesz kupić Cymbal Car czy Cymbal Truck? |
|
|
Użytkownik: Cymbal Truck. Agent: Cymbal Truck kosztuje 50,33 USD dziennie. Może pomieścić 4 osoby i jest wyposażony w radio AM/FM. Czy chcesz przejść do płatności? Użytkownik: tak. |
|
|
Agent: Jakiego rodzaju karty będziesz używać? Użytkownik: Altostrat Agent: Wpisz numer karty. Użytkownik: 1234 1234 1234 1234 Pracownik obsługi klienta: Jakie imię i nazwisko widnieje na karcie? Użytkownik: Charlie Agent: 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 oddasz go 15 marca 2024 r. o godzinie 12:00. Łączna kwota za ten przejazd wyniesie 175,38 PLN. Pracownik obsługi klienta: dziękujemy za wypożyczenie samochodu. Życzymy miłego dnia. |
|
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"
}}
}]}}]}]
}
}]}
}}}}
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_HOMEnie 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ść polaargumentTextz 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.
- Zdarzenia na stronie głównej aplikacji: obsługa zdarzeń
- Wskazówki dotyczące odpowiadania na polecenia i odbierania danych z kart lub okien:
- Jeśli agent Dialogflow musi przetworzyć ładunek JSON zdarzenia interakcji na czacie, może to zrobić za pomocą elementu webhook Dialogflow, aby sprawdzić niestandardowy ładunek w parametrze zapytania.
- Aby wyświetlić okno z agenta Dialogflow, odpowiedz pojedynczym niestandardowym ładunkiem JSON, który zawiera obiekt
RenderActionsz nawigacjąpushCard. - Aby przetwarzać dane wprowadzane z kart, możesz użyć webhooka Dialogflow i odpowiadać za pomocą pojedynczego niestandardowego ładunku JSON zawierającego odpowiednią akcję.
- 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
createw zasobiespaces.messagesw Chat API – po jednym wywołaniu dla każdej wiadomości. - Jeśli używasz integracji Dialogflow CX z Chat, agent Dialogflow i aplikacja Google Chat muszą być skonfigurowane w tym samym projekcie Google Cloud. Jeśli musisz skonfigurować Dialogflow i Chat w różnych projektach Google Cloud, możesz skonfigurować serwer pośredniczący, który 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 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:
Dzienniki dodatków do Google Workspace: wysyłaj zapytania do dzienników, aby uzyskać szczegółowe informacje o działaniu dodatku, w tym o jego interakcjach z Chatem. 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: sprawdzaj wcześniejsze interakcje, aby zrozumieć przebieg rozmowy i zidentyfikować miejsca, w których występują problemy. Zobacz Historia 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 Cloud.
- W konsoli Google Cloud otwórz stronę Zarządzanie zasobami. Kliknij Menu > Administracja > Zarządzaj zasobami.
- Z listy projektów wybierz projekt do usunięcia, a potem kliknij Usuń .
- W oknie wpisz identyfikator projektu i kliknij Wyłącz, aby usunąć projekt.
Powiązane artykuły
- Dialogflow CX wykorzystuje w projektowaniu agentów Dialogflow podejście oparte na automacie stanowym, które zapewnia jasną i wyraźną kontrolę nad rozmową, lepsze wrażenia użytkownika i lepszy proces tworzenia. Podczas tworzenia aplikacji Dialogflow Chat zalecamy korzystanie z Dialogflow CX.
- Więcej informacji o tworzeniu i konfigurowaniu agentów znajdziesz w artykule Agenci Dialogflow CX.
- Szczegółowe instrukcje tworzenia i konfigurowania agentów znajdziesz w artykule Tworzenie agenta Dialogflow CX.
- Dialogflow ES to kolejny sposób na używanie Dialogflow w aplikacji do obsługi czatu.