Na tej stronie dowiesz się, jak utworzyć aplikację 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ę Dialogflow ES Google Chat, 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ę wynająć 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 podobny do człowieka 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
- Planowanie wizyt lekarskich
- Zamawianie jedzenia z dostawą
- odpowiadać na pytania dotyczące katalogu produktów, 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 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, na czacie 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 w Google Chat.
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 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. 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ą być interpretowane przez Twoje aplikacje i usługi. Projektujesz i tworzysz agenta Dialogflow, który obsługuje rodzaje rozmów wymagane w Twoim systemie.
Agent Dialogflow jest podobny do pracownika obsługi klienta w centrum telefonicznym. Trenujesz je w zakresie obsługi oczekiwanych scenariuszy 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 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 kliknij 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 rozpoczyna tworzenie agenta, a następnie wyświetla domyślny przepływ początkowy agenta.
Opcjonalnie możesz dostosować agenta. Szczegółowe instrukcje dotyczące dostosowywania agenta znajdziesz w artykule Tworzenie agenta Dialogflow CX.
Zalecamy przetestowanie agenta:
- Kliknij Test agenta.
- Kliknij Testuj agenta w środowisku.
- W sekcji Środowisko wybierz 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
Hello
i naciśnij Enter. Pracownik obsługi klienta odpowiada, przedstawiając się. - Przeprowadź przykładową rozmowę testową, aby ukończyć test.
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 Ci 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 (Nazwa zasobu agenta lub ś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ści 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
Hello
i naciśnijenter
.Aplikacja do obsługi czatu Dialogflow odpowiada, przedstawiając się.
- Ukończ test, przeprowadzając 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. 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. Samochód oddam w Los Angeles. Agent: Ok, your drop off will be in 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 kiedy 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. Agent: Czy chcesz wynająć pojazd ekonomiczny czy luksusowy? |
|
Użytkownik: Poproszę o przesyłkę ekonomiczną. Agent: Chcesz kupić samochód czy ciężarówkę Cymbal? |
|
Użytkownik: Cymbal Truck. Agent: Wózek na talerze 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 Pracownik obsługi klienta: 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. Łączny koszt tej podróży 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
{
'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
- Zdarzenia interakcji na czacie
są obsługiwane w ograniczonym zakresie i należy wziąć pod uwagę kilka kwestii:
- Obsługiwane są te typy zdarzeń interakcji:
MESSAGE
ADDED_TO_SPACE
CARD_CLICKED
- W przypadku zdarzeń
MESSAGE
lubADDED_TO_SPACE
dane wejściowe zapytania wysyłane do agenta Dialogflow odpowiadają wartości polaargumentText
w wiadomości na czacie. Jeśli wiadomość zawiera polecenie ze znakiem ukośnika, zamiast tego używana jest wartość polatext
. - W przypadku zdarzeń
CARD_CLICKED
dane wejściowe zapytania wysyłane do agenta Dialogflow są formatowane jakoCARD_CLICKED.functionName
, gdziefunctionName
odpowiada wartości polafunction
obiektu Action dołączonego do interaktywnego elementu karty (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
.
- Obsługiwane są te typy zdarzeń interakcji:
- Wskazówki dotyczące odpowiadania na polecenia rozpoczynające się ukośnikiem i odbierania danych z kart lub okien:
- Gdy aplikacje do czatu Dialogflow otrzymają wiadomość z poleceniem z ukośnikiem, dane wejściowe zapytania zawierają tylko wartość pola
text
. Poletext
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. - 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 dialogowe z agenta Dialogflow, odpowiedz pojedynczym niestandardowym ładunkiem JSON, który zawiera wiadomość z
DIALOG
odpowiedzią działania. - Aby przetwarzać dane wprowadzane z kart, agent Dialogflow może wykrywać intencje rozpoczynające się od tekstu
CARD_CLICKED
i odpowiadać pojedynczym niestandardowym ładunkiem JSON zawierającym odpowiednią akcję.
- Gdy aplikacje do czatu Dialogflow otrzymają wiadomość z poleceniem z ukośnikiem, dane wejściowe zapytania zawierają tylko wartość pola
- 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 zasobiespaces.messages
w 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ę więcej, zapoznaj się z tym przykładem integracji Google Chat z Dialogflow CX w GitHubie.
Rozwiązywanie problemów
Gdy aplikacja Google Chat lub karta zwraca błąd, w interfejsie Google Chat pojawia się komunikat „Coś poszło nie tak”. lub „Nie udało się przetworzyć Twojej prośby”. Czasami interfejs Google Chat nie wyświetla żadnego komunikatu o błędzie, ale aplikacja lub karta Google Chat daje nieoczekiwany wynik, np. wiadomość na karcie może się nie pojawić.
Chociaż w interfejsie czatu może nie wyświetlać się komunikat o błędzie, opisowe komunikaty o błędach i dane logowania są dostępne, aby pomóc w naprawieniu błędów, gdy rejestrowanie błędów w aplikacjach na czat jest włączone. Pomoc dotyczącą wyświetlania, debugowania i naprawiania błędów znajdziesz w artykule Rozwiązywanie problemów z Google Chat.
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.
- Na liście projektów wybierz projekt, który chcesz usunąć, 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.
- Tworzenie aplikacji dla Google Chat z Gemini. Ćwiczenia z programowania: przykład tworzenia agenta Dialogflow CX do przechowywania danych znajdziesz w aplikacji do czatu opartej na wiedzy z ćwiczeń z programowania
- Tworzenie aplikacji na Google Chat z Gemini. Codelab: przykład tworzenia agenta konwersacyjnego Dialogflow CX znajdziesz w aplikacji do czatu z opiniami w codelabie
- Dialogflow ES to kolejny sposób na używanie Dialogflow w aplikacji do obsługi czatu.