Z tej strony dowiesz się, jak za pomocą Dialogflow utworzyć aplikację Google Chat, która rozumie język naturalny i odpowiada na niego. W tym przewodniku użyto Dialogflow CX, który ma bezpośrednią integrację z Google Chat. Możesz też użyć Dialogflow ES, aby utworzyć aplikację Google Chat do Dialogflow ES, postępując zgodnie z przewodnikiem Dialogflow ES Google Chat.
Weźmy np. aplikację Google Chat, która pomaga wynajmować samochody. Użytkownik może napisać „Chcę wynająć samochód”. W odpowiedzi aplikacja Google Chat może na przykład odpowiedzieć na pytanie „Gdzie chcesz odebrać pojazd?”. W ten sposób rozpoczniesz ludzką rozmowę z użytkownikiem. Podczas rezerwacji samochodu aplikacja Google Chat będzie mogła zrozumieć ludzką mowę i na nie odpowiedzieć.
To tylko jeden przykład. Aplikacje Dialogflow Chat są przydatne we wszystkich rodzajach interakcji. Jeśli wymaga naturalnej mowy, używa aplikacji Dialogflow Chat. Gotowe agenty ułatwiają szybkie rozpoczęcie pracy i pokazują, co potrafi Dialogflow, na przykład:
- Rezerwuj loty
- Umawianie wizyt u lekarza
- Zamów jedzenie z dostawą
- Odpowiedz na pytania o katalog produktów dla branży handlu detalicznego, np. czy produkty są dostępne w innych kolorach
-
Rysunek 2. Przetestowanie agenta w Dialogflow CX w celu sprawdzenia, czy logika i konfiguracja agenta działają zgodnie z oczekiwaniami. Diagram przedstawia sekwencyjny zbiór stron tematycznych dotyczących określonych kroków w rozmowie, takich jak ustawienie miejsca odbioru i zwrotu w przypadku wypożyczenia samochodu, oraz konfiguruje logikę, która je łączy. Rozmowa jest testowana za pomocą symulatora. -
Rysunek 3. Konfigurowanie aplikacji Google Chat do przetwarzania odpowiedzi przy użyciu agenta Dialogflow CX na stronie konfiguracji interfejsu Chat API w konsoli Google Cloud. -
Rysunek 4. Rozmowa na temat rezerwacji samochodu z aplikacji Dialogflow Chat w Google Chat.
Cele
- skonfigurować środowisko,
- utworzyć i wdrożyć agenta Dialogflow CX,
- Utwórz i wdróż aplikację Google Chat obsługiwaną przez agenta Dialogflow CX.
- Przetestuj aplikację Google Chat.
Wymagania wstępne
- konto Google Workspace z dostępem do Google Chat.
- Projekt Google Cloud –
- Sprawdź, czy masz włączone płatności w projekcie Cloud. Dowiedz się, jak sprawdzić stan płatności za projekty.
Architektura
Poniższy diagram przedstawia architekturę aplikacji Google Chat utworzonej przy użyciu Dialogflow:
Na poprzednim diagramie użytkownik wchodzący w interakcję z aplikacją Dialogflow Chat ma następujący przepływ informacji:
- Użytkownik wysyła wiadomość z Google Chat do aplikacji Google Chat na czacie lub w pokoju czatu.
- Agent wirtualny Dialogflow, który znajduje się w Google Cloud, odbiera i przetwarza wiadomość w celu wygenerowania odpowiedzi.
- Opcjonalnie za pomocą webhooka 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ź do usługi aplikacji Google Chat w Google Chat.
- Odpowiedź jest dostarczana do pokoju czatu.
Konfigurowanie środowiska
Zanim zaczniesz korzystać z interfejsów API Google, musisz je włączyć w projekcie Google Cloud. W jednym projekcie Google Cloud możesz włączyć 1 lub więcej interfejsów API.W konsoli Google Cloud włącz interfejsy Google Chat API i Dialogflow API.
Sprawdź, czy interfejsy API są włączone we właściwym projekcie Cloud, a potem kliknij Dalej.
Sprawdź, czy włączasz odpowiednie interfejsy API, a następnie kliknij Włącz.
Tworzenie agenta Dialogflow CX
Agent Dialogflow CX to agent wirtualny, który obsługuje równoczesne rozmowy z użytkownikami. To moduł zrozumienia języka naturalnego, który rozumie niuanse ludzkiego języka. Dialogflow tłumaczy tekst użytkowników podczas rozmowy na uporządkowane dane, które aplikacje i usługi zrozumieją. Zaprojektujesz i tworzysz agenta Dialogflow do obsługi typów rozmów wymaganych przez Twój system.
Agent Dialogflow jest jak człowiek centrum obsługi telefonicznej. Szkolisz je, aby radziły sobie z oczekiwanymi scenariuszami rozmowy, a trenowanie nie musi być zbyt wulgarne.
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, konieczne może być kliknięcie Wszystkie i wyszukanie go.
Możesz teraz wybrać gotowego agenta lub utworzyć własnego. Jeśli wolisz później szczegółowo omówić dostosowywanie agentów, wybierz jednego z gotowych agentów, dzięki którym dowiesz się też, co mogą robić agenty.
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.
Agent jest oceniany jako początkujący, średnio średnio zaawansowany lub zaawansowany w zależności od liczby funkcji używanych przez agenta oraz stopnia zaawansowania logiki rozmowy. Wybór agenta pośredniego lub zaawansowanego może wymagać dostosowania i ustawień dla konkretnego 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 Generuj automatycznie, aby utworzyć agenta magazynu danych, lub wybierz Utwórz własne, aby utworzyć inne rodzaje agentów.
Szczegółową instrukcję 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żesz zmienić domyślnego języka.
Kliknij Utwórz. Dialogflow CX rozpoczyna tworzenie agenta, a następnie wyświetla domyślny proces uruchamiania agenta.
Opcjonalnie dostosuj agenta. Szczegółową instrukcję dostosowywania agenta znajdziesz w artykule Tworzenie agenta Dialogflow CX.
Sprawdzoną metodą jest przetestowanie agenta:
- Kliknij Testuj agenta.
- Wybierz Przetestuj agenta w środowisku.
- W sekcji Środowisko wybierz Wersja robocza.
- W sekcji Flow wybierz Default Start Flow (Domyślny przepływ uruchamiania).
- Na stronie Strona wybierz Strona początkowa.
- W pasku tworzenia wiadomości Porozmawiaj z pracownikiem obsługi klienta wpisz
Hello
i naciśnij Enter. Pracownik obsługi klienta przedstawia się, przedstawiając swoją odpowiedź. - Przeprowadź przykładową rozmowę testową.
Zostanie utworzony agent Dialogflow CX. Wróć do konsoli Dialogflow CX. Kliknij Menu > Dialogflow CX.
W sekcji Agenty kliknij > Kopiuj nazwę. Zapisz tę nazwę, ponieważ użyjesz jej podczas konfigurowania aplikacji Google Chat.
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ę Google Chat:
W konsoli Google Cloud otwórz interfejs Google Chat API. Wyszukaj „Google Chat API”, kliknij Google Chat API, a następnie Zarządzaj.
Kliknij Konfiguracja i skonfiguruj aplikację Google 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 Funkcjonalność wybierz Odbieranie wiadomości 1:1 i 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 (Nazwa zasobu agenta lub środowiska) wklej nazwę agenta Dialogflow CX skopiowaną na końcu strony Tworzenie agenta Dialogflow CX.
- Udostępnij tę aplikację Google Chat określonym osobom i grupom w domenie, a następnie wpisz swój adres e-mail.
- W sekcji Logi wybierz Rejestruj błędy w usłudze Logging.
- W polu Nazwa aplikacji wpisz
Kliknij Zapisz.
Aplikacja Google Chat jest gotowa do odbierania wiadomości i odpowiadania na nie w Google Chat.
Testowanie aplikacji Google Chat
Przetestuj aplikację Dialogflow CX Chat, wysyłając jej wiadomość w Google Chat.
Otwórz Google Chat za pomocą konta Google Workspace podanego podczas dodawania Ciebie jako zaufanego testera.
- Kliknij Nowy czat.
- W polu Dodaj co najmniej 1 osobę wpisz nazwę aplikacji Google Chat.
Z wyników wybierz aplikację Google Chat. Otworzy się czat.
W nowym czacie z aplikacją wpisz
Hello
i naciśnijenter
.Aplikacja Dialogflow Chat odpowiada, przedstawiając się.
- Przeprowadź przykładową rozmowę testową.
Przykładowa rozmowa testowa
Aby przetestować aplikację Dialogflow CX Chat w konsoli Dialogflow CX lub w Google Chat, przeprowadź następującą rozmowę. To wyjaśnienie pomaga zrozumieć, jak agent Dialogflow CX interpretuje język naturalny użytkownika i tworzy własną odpowiedź w tym języku na każdym etapie rozmowy. Ta przykładowa rozmowa opiera się na gotowym kliencie o nazwie Podróże: wypożyczalnia samochodów.
Dialog | Wyjaśnienie |
---|---|
Użytkownik: Cześć Agent: Cześć. Jestem wirtualnym agentem wynajmu samochodów. Mogę pomóc Ci rozpocząć nową rezerwację wynajmu samochodu. W czym mogę Ci dziś pomóc? |
|
Użytkownik: Chcę wynająć samochód. Pracownik obsługi klienta: Skąd chcesz odebrać pojazd? |
|
Użytkownik: Las Vegas Agent: OK, odbiór będzie w Las Vegas. Pracownik obsługi klienta: Czy miejsce odbioru jest inne niż miejsce odbioru? |
|
Użytkownik: tak. Oddam samochód w Los Angeles. Pracownik obsługi klienta: Miejsce zwrotu będzie w Los Angeles. Pracownik obsługi klienta: Kiedy chcesz odebrać pojazd? |
|
Użytkownik: Chcę odebrać samochód 5 marca w południe. Pracownik obsługi klienta: Kiedy chcesz zwrócić pojazd? |
|
Użytkownik: 15 marca w południe. Pracownik obsługi klienta: Aby potwierdzić: Odbierzesz pojazd do Las Vegas 5 marca 2024 r. o 12:00:00 i oddasz go do Los Angeles 15 marca 2024 r. o 12:00:00 Zgadza się? |
|
Użytkownik: tak, dziękuję. Pracownik obsługi klienta: Świetnie. Wybierzmy teraz pojazd. Pracownik obsługi klienta: Czy interesuje Cię pojazd gospodarczy czy luksusowy? |
|
Użytkownik: Ekonomia. Pracownik obsługi klienta: Wybierasz samochód Cymbal czy ciężarówkę z cymbalem? |
|
Użytkownik: Cymbal truck. Pracownik obsługi klienta: Cymbal truck kosztuje 50,33 USD dziennie. Może pomieścić do 4 osób i ma radio AM/FM. Czy chcesz przejść do płatności? Użytkownik: tak, proszę. |
|
Pracownik obsługi klienta: Jakiego typu karty będziesz używać? Użytkownik: Altostrat Pracownik obsługi klienta: wpisz numer karty. Użytkownik: 1234 1234 1234 1234 Pracownik obsługi klienta: jakie jest imię i nazwisko na karcie? Użytkownik: Karol Pracownik obsługi klienta: jaki jest adres na potrzeby rozliczeń? Użytkownik: 1800 Amphibious Blvd. Mountain View, CA Pracownik obsługi klienta: jaki jest kod pocztowy na potrzeby rozliczeń? Użytkownik: 94045 Pracownik obsługi klienta: odbierzesz samochód Cymbal w Las Vegas o 12:00:00 3 marca 2024 r. i oddasz go 15 marca 2024 r. o godz. 12:00:00. Łączna kwota za tę podróż wyniesie 175,38 USD. Pracownik obsługi klienta: Dziękuję za wypożyczenie i życzę miłego dnia. |
|
Wysyłanie wiadomości z kart z Dialogflow
Dialogflow może odpowiadać przy użyciu wiadomości tekstowych lub kart. Aby odpowiedzieć za pomocą komunikatu karty, określ go jako ładunek niestandardowy w realizacji.
Poniższy kod JSON pokazuje, jak wysłać wiadomość z karty jako ładunek niestandardowy w ramach 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'
}
}
}
]
}
}
]
}
]
}
}]
}
Ograniczenia i uwagi
- Zdarzenia interakcji z Google Chat są obsługiwane w ograniczonym zakresie. Pamiętaj przy tym o kilku kwestiach:
- Obsługiwane są te typy zdarzeń interakcji:
MESSAGE
ADDED_TO_SPACE
CARD_CLICKED
- W przypadku zdarzeń
MESSAGE
lubADDED_TO_SPACE
dane wejściowe zapytania wysłane do agenta Dialogflow odpowiadają wartości polaargumentText
w wiadomości Google Chat. Jeśli wiadomość zawiera polecenie po ukośniku, zamiast niej używana jest wartość polatext
. - W przypadku zdarzeń
CARD_CLICKED
dane wejściowe zapytania wysyłane do agenta Dialogflow mają formatCARD_CLICKED.functionName
, gdziefunctionName
odpowiada wartości polafunction
obiektu Action przypisanego do interaktywnego elementu karty (np. przycisku). - Pełny ładunek JSON każdego zdarzenia interakcji z Google Chat jest wysyłany do Dialogflow jako ładunek niestandardowy w parametrze zapytania. Można uzyskać do niego dostęp za pomocą webhooka Dialogflow, aby uzyskać dostęp do wartości w polu
WebhookRequest.payload
.
- Obsługiwane są te typy zdarzeń interakcji:
- Kwestie dotyczące reagowania na polecenia po ukośniku i otrzymywanie danych z kart lub okien:
- Gdy aplikacje Dialogflow Chat otrzymają wiadomość z poleceniem po ukośniku, dane wejściowe zapytania będą zawierać tylko wartość pola
text
. Poletext
zaczyna się od nazwy polecenia po ukośniku (np./command
). Możesz go użyć do skonfigurowania intencji agenta Dialogflow do wykrycia polecenia po ukośniku. - Jeśli agent Dialogflow musi przetworzyć ładunek JSON zdarzenia interakcji z Google Chat, może to zrobić, korzystając z webhooka Dialogflow, aby sprawdzić ładunek niestandardowy w parametrze zapytania.
- Aby wyświetlić okno agenta Dialogflow, w odpowiedzi prześlij pojedynczy niestandardowy ładunek JSON zawierający wiadomość zawierającą
DIALOG
odpowiedź działania. - Aby przetworzyć dane wprowadzone z kart, agent Dialogflow może wykryć intencje zaczynające się od tekstu
CARD_CLICKED
i odpowiedzieć za pomocą jednego niestandardowego ładunku JSON zawierającego odpowiednie działanie.
- Gdy aplikacje Dialogflow Chat otrzymają wiadomość z poleceniem po ukośniku, dane wejściowe zapytania będą zawierać tylko wartość pola
- Podgląd linków nie jest obsługiwany.
- Jeśli agent Dialogflow odpowie tylko jedną wiadomością, zostanie ona wysłana synchronicznie do Google Chat. Jeśli agent Dialogflow odpowie wieloma wiadomościami, wszystkie wiadomości zostaną wysłane asynchronicznie do Google Chat przez wywołanie metody
create
w zasobiespaces.messages
w Google Chat API po jednym razie dla każdej wiadomości. - Jeśli korzystasz z integracji Dialogflow CX z Google Chat, agent Dialogflow i aplikacja Chat muszą być skonfigurowane w tym samym projekcie Google Cloud. Jeśli musisz skonfigurować Dialogflow i czat w różnych projektach Cloud, możesz skonfigurować serwer pośredni, który ułatwi nawiązywanie połączenia. Aby dowiedzieć się, jak to zrobić, zapoznaj się z tym przykładem integracji czatu z Dialogflow CX na GitHubie.
Rozwiązywanie problemów
Gdy aplikacja lub karta w Google Chat zwróci błąd, w interfejsie Google Chat pojawi się komunikat „Coś poszło nie tak”. lub „Nie można przetworzyć żądania”. Czasami w UI Google Chat nie wyświetla się żaden komunikat o błędzie, ale aplikacja lub karta Google Chat zwraca nieoczekiwany wynik, na przykład wiadomość na karcie.
Mimo że komunikat o błędzie może nie być wyświetlany w interfejsie Google Chat, dostępne są opisowe komunikaty o błędach i dane logów, które pomogą Ci w naprawianiu błędów, gdy logowanie błędów w aplikacjach Google Chat jest włączone. Informacje o wyświetlaniu, debugowaniu i naprawianiu błędów znajdziesz w artykule Rozwiązywanie problemów z błędami w Google Chat.
Czyszczenie danych
Aby uniknąć obciążenia konta Google Cloud opłatami za zasoby zużyte w tym samouczku, zalecamy usunięcie projektu Cloud.
- W konsoli Google Cloud otwórz stronę Zarządzanie zasobami. Kliknij Menu > Administracja > Zarządzaj zasobami.
- Na liście projektów wybierz projekt do usunięcia, a następnie kliknij Usuń .
- W oknie wpisz identyfikator projektu i kliknij Wyłącz, aby usunąć projekt.
Powiązane artykuły
- Dialogflow CX wykorzystuje maszynę stanową do projektowania agentów Dialogflow, co zapewnia wyraźną i jednoznaczną kontrolę nad rozmową, zapewnia większy komfort użytkowników i lepszy przepływ pracy podczas programowania. Podczas tworzenia aplikacji Dialogflow
Chat zalecamy użycie Dialogflow CX.
- Więcej informacji o tworzeniu i konfigurowaniu agentów znajdziesz w artykule na temat agentów Dialogflow CX.
- Szczegółowy przewodnik tworzenia i konfigurowania agentów znajdziesz w artykule Tworzenie agenta Dialogflow CX.
- Tworzenie aplikacji na potrzeby Google Chat z Gemini. Ćwiczenie z programowania: przykład tworzenia agenta magazynu danych Dialogflow CX znajdziesz w aplikacji Google Chat dostępnej w ramach ćwiczenia z programowania
- Tworzenie aplikacji dla Google Chat z Gemini. Ćwiczenie z programowania: przykład tworzenia agenta konwersacyjnego Dialogflow CX znajdziesz w sekcji poświęconej opiniom aplikacji Google Chat w ramach ćwiczenia z programowania
- Dialogflow ES to kolejny sposób korzystania z Dialogflow w aplikacji Google Chat.