Na tej stronie wyjaśniamy, jak utworzyć aplikację Google Chat, która rozumie język naturalny i odpowiada na niego za pomocą Dialogflow. 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 Dialogflow ES Google Chat.
Weźmy na przykład aplikację do czatu, która pomaga użytkownikom 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 to naturalnej ludzkiej mowy, potrzebna jest aplikacja Dialogflow Chat. Wstępnie utworzone boty pomogą Ci szybko rozpocząć pracę i pokazać, co potrafi Dialogflow, np.:
- Rezerwowanie lotów
- planować wizyty u lekarza,
- Zamów jedzenie 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 wypożyczeniowego, oraz konfiguruje logikę, która je łączy. Rozmowa jest testowana w symulatorze. -
Rysunek 3. Skonfiguruj aplikację do obsługi czatu, aby przetwarzać odpowiedzi za pomocą agenta Dialogflow CX na stronie konfiguracji Chat API w konsoli Google Cloud. -
Rysunek 4. Rozmowa o rezerwacji samochodu na wynajem z aplikacją Dialogflow Chat w Google Chat.
Cele
- skonfigurować środowisko,
- Utwórz i wdróż agenta Dialogflow CX.
- Utwórz i wdróż aplikację do obsługi czatu korzystającą z agenta 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 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 diagramie powyżej użytkownik korzystający z aplikacji Dialogflow Chat ma następujący przepływ informacji:
- Użytkownik wysyła wiadomość w Google Chat do aplikacji Google Chat, w wiadomości bezpośredniej lub w pokoju czatu.
- Wirtualny agent Dialogflow, który działa w Google Cloud, odbiera i przetwarza wiadomość, aby wygenerować odpowiedź.
- 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 Chat w Google Chat.
- Odpowiedź zostanie przesłana 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. Trenujesz je, aby obsługiwały spodziewane scenariusze konwersacji, ale nie musisz podawać zbyt szczegółowych przykładów.
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 następnie 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.
Agenty są oceniane jako początkujące, średnio zaawansowane lub zaawansowane na podstawie liczby funkcji, których używają, oraz stopnia zaawansowania logiki rozmowy. Wybranie poziomu pośredniego lub zaawansowanego może wymagać dostosowania i ustawienia 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ć jego domyślnego języka.
Kliknij Utwórz. Dialogflow CX rozpoczyna tworzenie agenta, a potem wyświetla domyślny proces uruchamiania.
Opcjonalnie możesz dostosować agenta. Szczegółowe instrukcje dotyczące procesu dostosowywania agenta znajdziesz w artykule Tworzenie agenta Dialogflow CX.
Sprawdzona metoda: przetestuj agenta:
- Kliknij Testuj agenta.
- Kliknij Testowanie 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.
- Na pasku tworzenia wiadomości Porozmawiaj z obsługą 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ż będziesz jej używać 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ę 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 kliknij Dialogflow CX.
- W polu Nazwa zasobu agenta lub środowiska wklej nazwę agenta Dialogflow CX skopiowaną na końcu 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 i odpowiadania na wiadomości 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, które zostało podane podczas dodawania siebie 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 jest oparta na wstępnie utworzonym agencie o nazwie Podróże: wynajem samochodu.
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 pomóc? |
|
Użytkownik: Chcę wynająć samochód. Agent: Gdzie chcesz odebrać pojazd? |
|
Użytkownik: Las Vegas Agent: Dobrze, 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. Agent: Ok, odbiór 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: Dziękuję. Pracownik obsługi klienta: świetnie. Teraz wybierz pojazd. Agent: Czy interesuje Cię pojazd ekonomiczny czy luksusowy? |
|
Użytkownik końcowy: przesyłka ekonomiczna. Agent: Czy chcesz zamówić samochód czy ciężarówkę? |
|
Użytkownik końcowy: Cymbal Truck. Agent: ciężarówka Cymbal 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: 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 z karty z użyciem Dialogflow
Dialogflow może odpowiadać wiadomościami tekstowymi lub kartami. Aby odpowiedzieć za pomocą wiadomości z karty, określ ją jako niestandardowy ładunek w wypełnianiu.
Ten kod JSON pokazuje, jak wysłać wiadomość z karty 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'
}
}
}
]
}
}
]
}
]
}
}]
}
Ograniczenia i uwagi
- Zdarzenia interakcji z czatem mają ograniczone wsparcie 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 dołączonego 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:
- Uwagi dotyczące odpowiadania na polecenia z ukośnikiem i odbierania danych z kart lub okienek dialogowych:
- 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
), które możesz użyć do skonfigurowania intencji agenta Dialogflow w celu wykrywania polecenia po ukośniku. - Jeśli agent Dialogflow musi przetworzyć ładunek JSON zdarzenia interakcji z czatem, może to zrobić za pomocą webhooka Dialogflow, aby sprawdzić niestandardowy ładunek w parametrze zapytania.
- Aby wyświetlić dialog z pomocą agenta Dialogflow, prześlij jedną niestandardową zawartość ładunku JSON, która zawiera 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 odpowiada za pomocą wielu wiadomości, wszystkie wiadomości są wysyłane do Google Chat asynchronicznie przez wywołanie metody
create
zasobuspaces.messages
w Chat API raz 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 udało się przetworzyć Twojej prośby”. 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ć.
Komunikat o błędzie może się nie wyświetlać w interfejsie czatu, ale gdy włączone jest rejestrowanie błędów w przypadku aplikacji czatu, dostępne są opisowe komunikaty o błędach i dane dziennika, które pomogą Ci je naprawić. 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 korzystanie z Dialogflow CX.
- Więcej informacji o tworzeniu i konfigurowaniu agentów znajdziesz w artykule Agenty Dialogflow CX.
- Szczegółowe instrukcje 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 Dialogflow CX znajdziesz w ćwiczeniach z programowania
- Tworzenie aplikacji do Google Chat za pomocą Gemini. Codelab: przykład tworzenia agenta konwersacyjnego Dialogflow CX znajdziesz w ćwiczeniach z programowania
- Dialogflow ES to inny sposób korzystania z Dialogflow w aplikacji Google Chat.