Z tej strony dowiesz się, jak za pomocą Dialogflow utworzyć aplikację Google Chat, która rozumie i odpowiada w języku naturalnym. W tym przewodniku używamy Dialogflow CX, który jest bezpośrednio zintegrowany z Google Chat. Możesz też użyć Dialogflow ES do utworzenia aplikacji Google Chat Dialogflow ES, postępując zgodnie z instrukcjami w przewodniku po Google Chat Dialogflow ES.
Weźmy np. aplikację Google Chat, która pomaga wynajmować samochody. Użytkownik może napisać „Chcę wynająć samochód”. Aplikacja Chat może odpowiedzieć pytaniem w stylu „Gdzie chcesz odebrać pojazd?”, co rozpocznie rozmowę z użytkownikiem w stylu ludzkim, w ramach której aplikacja Chat rozumie pytania i odpowiada w sposób zbliżony do ludzkiego, jednocześnie rezerwując wynajem samochodu.
To tylko jeden przykład. Aplikacje do obsługi czatu Dialogflow są przydatne w różnych rodzajach interakcji. Jeśli wymaga naturalnej ludzkiej mowy, wywołuje aplikację Dialogflow Chat. Wstępnie utworzone boty pomagają szybko rozpocząć pracę i prezentują możliwości Dialogflow, takie jak:
- Rezerwowanie lotów
- planować wizyty u lekarza,
- Zamawianie jedzenia z dostawą
- odpowiadać na pytania dotyczące katalogu produktów detalicznych, np. czy produkty są dostępne w innych kolorach;
-
Rysunek 2. testowanie agenta w Dialogflow CX, aby sprawdzić, czy jego logika i konfiguracja działają zgodnie z oczekiwaniami; Diagram pokazuje sekwencję stron tematycznych dotyczących konkretnych kroków w rozmowie, np. ustawienia miejsca odbioru i zwrotu samochodu do wynajęcia, oraz konfiguruje logikę, która je łączy. Rozmowa jest testowana za pomocą symulatora. -
Rysunek 3. Skonfiguruj aplikację do czatu, aby przetwarzała odpowiedzi za pomocą agenta Dialogflow CX na stronie konfiguracji interfejsu Chat API w Google Cloud Console. -
Rysunek 4. Rozmowa o rezerwacji samochodu na wynajem z aplikacją Dialogflow Chat w Google Chat.
Cele
- skonfigurować środowisko,
- utworzyć i wdrożyć agenta Dialogflow CX,
- Utwórz i wdróż aplikację Google Chat korzystającą z agenta Dialogflow CX.
- Przetestuj aplikację Google Chat.
Wymagania wstępne
- konto Google Workspace 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 są włączone płatności, zapoznaj się z artykułem Sprawdzanie stanu płatności w projektach. Aby utworzyć projekt i skonfigurować rozliczenia, zapoznaj się z artykułem Tworzenie projektu Google Cloud.
Architektura
Ten 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ść 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ą haku webhook Dialogflow, agent Dialogflow może wchodzić w interakcje z zewnętrznymi usługami innych firm, takimi jak system zarządzania projektami czy 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 włączasz interfejsy API w odpowiednim projekcie 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 agent wirtualny, który obsługuje równoległe rozmowy z użytkownikami. Jest to moduł przetwarzania języka naturalnego, który rozumie niuanse ludzkiego języka. Dialogflow przekształca tekst użytkownika podczas rozmowy w uporządkowane dane, które mogą zrozumieć Twoje aplikacje i usługi. Projektujesz i tworzysz agenta Dialogflow, który obsługuje rodzaje rozmów wymagane w Twoim systemie.
Agent Dialogflow działa podobnie jak pracownik obsługi klienta w 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, a potem wyszukanie go.
Możesz teraz wybrać gotowego agenta lub utworzyć własnego. Jeśli wolisz dowiedzieć się więcej o dostosowywaniu agenta, wybierz jednego z gotowych agentów, którzy mogą też pomóc Ci poznać możliwości agentów.
Aby wybrać gotowego asystenta:
- Kliknij Użyj gotowych agentów.
Wybierz gotowego agenta. W tym przewodniku wybierz Podróże: wynajem samochodu.
Agentów ocenia się jako początkujących, średnio zaawansowanych lub zaawansowanych na podstawie tego, z ilej liczby funkcji korzystają i jak zaawansowana jest ich logika konwersacyjna. 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.
- Aby utworzyć agenta magazynu danych, kliknij Generuj automatycznie. Aby utworzyć inne rodzaje agentów, kliknij Utwórz własnego.
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żesz zmienić domyślnego języka.
Kliknij Utwórz. Dialogflow CX rozpoczyna tworzenie agenta, a potem wyświetla domyślny proces uruchamiania.
Opcjonalnie dostosuj agenta. Szczegółową instrukcję dostosowywania agenta znajdziesz w artykule Tworzenie agenta Dialogflow CX.
Sprawdzoną metodą jest przetestowanie agenta:
- Kliknij Testuj agenta.
- Kliknij Testuj agenta w środowisku.
- W sekcji Środowisko wybierz Wersja robocza.
- W przepływie wybierz Domyślny początek przepływu.
- W sekcji Strona wybierz Strona startowa.
- W pasku tworzenia wiadomości Porozmawiaj z pracownikiem obsługi klienta wpisz
Hello
i naciśnij Enter. Pracownik obsługi klienta przedstawia się. - Ukończ test, przeprowadzając próbną rozmowę testową.
Utworzono agenta Dialogflow CX. Wróć do konsoli Dialogflow CX. Kliknij Menu > Dialogflow CX.
W sekcji Agent kliknij > Kopiuj nazwę. Zapisz tę nazwę, ponieważ użyjesz jej podczas konfigurowania aplikacji Google Chat.
Tworzenie aplikacji do obsługi czatu i połą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 kliknij 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 Funkcje 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ę do obsługi czatu konkretnym osobom i grupom w Twojej 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 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 do niej 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.
Wybierz aplikację Google Chat z wyników. Otworzy się czat.
Na nowym czacie z aplikacją wpisz
Hello
i kliknijenter
.Aplikacja Dialogflow Chat odpowiada, przedstawiając się.
- Ukończ test, przeprowadzając próbną rozmowę testową.
Przykładowa konwersacja testowa
Aby przetestować aplikację Dialogflow CX Chat na konsoli Dialogflow CX lub w Google Chat, przeprowadź taką rozmowę: To wyjaśnienie pomoże Ci zrozumieć, jak agent Dialogflow CX interpretuje język naturalny użytkownika i tworzy własną odpowiedź w języku naturalnym 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 wypożyczalni samochodów. Mogę Ci pomóc w zarezerwowaniu nowego 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 będzie w Las Vegas. Agent: czy miejsce dostawy różni się od miejsca odbioru? |
|
Użytkownik: tak. Samochód zostawię w Los Angeles. Pracownik obsługi klienta: Miejsce zwrotu będzie w Los Angeles. Agent: W jakim dniu i o której godzinie chcesz odebrać pojazd? |
|
Użytkownik: Chcę odebrać samochód 5 marca o południu. Agent: Kiedy chcesz zwrócić pojazd? |
|
Użytkownik: 15 marca o godzinie 12:00. Agent: Czy dobrze rozumiem, że: Zamierzasz odebrać pojazd w Las Vegas 2024-03-05 12:00:00 i zwrócić go w Los Angeles 2024-03-15 12:00:00 Czy to się zgadza? |
|
Użytkownik: Tak, dziękuję. Pracownik obsługi klienta: Świetnie. Teraz wybierz pojazd. Agent: Czy interesuje Cię pojazd ekonomiczny czy luksusowy? |
|
Użytkownik: przesyłka ekonomiczna. Agent: Czy chcesz zamówić samochód czy ciężarówkę? |
|
Użytkownik końcowy: Cymbal Truck. Pracownik obsługi klienta: 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, proszę. |
|
Agent: jakiej karty będziesz używać? Użytkownik końcowy: Altostrat Agent: podaj numer karty. Użytkownik: 1234 1234 1234 1234 Agent: Jakie jest imię i nazwisko 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 faktury? Użytkownik: 94045 Agent: 2024-03-05 12:00:00 odbierzesz Cymbal Car w Las Vegas, a 2024-03-15 12:00:00 zwrócisz go. Łączna kwota za tę podróż wyniesie 175,38 USD. Agent: dziękujemy za wynajem i życzymy miłego dnia. |
|
Wysyłanie wiadomości na karcie z Dialogflow
Dialogflow może odpowiadać wiadomościami tekstowymi lub kartami. 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 czatem
są obsługiwane w ograniczonym zakresie i wymagają uwzględnienia kilku 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 wysłane do agenta Dialogflow odpowiadają wartości polaargumentText
w wiadomości czatu. Jeśli wiadomość zawiera polecenie z ukośnikiem, zamiast niego 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 czatem jest wysyłany do Dialogflow jako ładunek niestandardowy w parametrze zapytania. Można go pobrać za pomocą haku Dialogflow, wykonując zapytanie o wartość pola
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 otrzymują wiadomość z poleceniem z znakiem ukośnika, dane wejściowe zapytania zawierają 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ć dialog z usługą Dialogflow Agent, odpowiedz pojedynczym niestandardowym ładunkiem danych JSON zawierającym wiadomość z
DIALOG
odpowiedzią na działanie. - Aby przetwarzać dane wprowadzone na kartach, agent Dialogflow może wykrywać intencje, które zaczynają się od tekstu
CARD_CLICKED
, i odpowiadać jednym niestandardowym ładunkiem JSON zawierającym odpowiednią akcję.
- Gdy aplikacje Dialogflow Chat otrzymują wiadomość z poleceniem z znakiem ukośnika, dane wejściowe zapytania zawierają tylko wartość pola
- Podgląd linków nie jest obsługiwany.
- Jeśli agent Dialogflow odpowie tylko jedną wiadomością, zostanie ona wysłana do Google Chat w sposób synchroniczny. 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 Google Chat muszą być skonfigurowane w tym samym projekcie Google Cloud. Jeśli chcesz skonfigurować Dialogflow i Chat w różnych projektach Cloud, możesz skonfigurować serwer pośredniczący, aby ułatwić połączenie. Aby dowiedzieć się, jak to zrobić, zapoznaj się z przykładem integracji czatu z Dialogflow CX na GitHubie.
Rozwiązywanie problemów
Gdy aplikacja Google Chat lub karta zwraca błąd, interfejs Google Chat wyświetla komunikat „Coś poszło nie tak”. lub „Nie można przetworzyć żądania”. Czasami interfejs czatu nie wyświetla żadnego komunikatu o błędzie, ale aplikacja lub karta czatu powoduje nieoczekiwany wynik, na przykład wiadomość na karcie może się nie wyświetlić.
Mimo że komunikat o błędzie może nie być wyświetlany w interfejsie Google Chat, są dostępne 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. Aby dowiedzieć się, jak wyświetlać, debugować i naprawiać błędy, przeczytaj artykuł Rozwiązywanie problemów z błędami Google Chat.
Czyszczenie danych
Aby uniknąć obciążenia konta Google Cloud opłatami za zasoby zużyte w tym samouczku, zalecamy usunięcie projektu Google 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 maszynę stanów do projektowania agentów Dialogflow, co zapewnia wyraźną i wyraźną kontrolę nad rozmową, lepsze wrażenia użytkowników i lepszą organizację procesu programowania. Podczas tworzenia aplikacji Dialogflow Chat zalecamy użycie Dialogflow CX.
- Więcej informacji o tworzeniu i konfigurowaniu agentów znajdziesz w artykule Agenty Dialogflow CX.
- Szczegółowy przewodnik tworzenia i konfigurowania agentów znajdziesz w artykule Tworzenie agenta Dialogflow CX.
- Tworzenie aplikacji do Google Chat za pomocą Gemini. Codelab: przykład tworzenia agenta DataStore w DialogFlow CX znajdziesz w aplikacji Google Chat z funkcją wiedzy w ćodzie
- Tworzenie aplikacji do Google Chat za pomocą Gemini. Codelab: przykład tworzenia agenta konwersacyjnego Dialogflow CX znajdziesz w ćwiczeniach z programowania
- Dialogflow ES to kolejny sposób korzystania z Dialogflow w aplikacji Google Chat.