Tworzenie agenta RBM opartego na Dialogflow (podstawowe)

Z tego modułu dowiesz się, jak używać interfejsu Dialogflow do tworzenia interfejsu konwersacyjnego do obsługi agenta RBM bez pisania kodu.

Co zamierzasz stworzyć w ćwiczeniach z programowania?

  • Agent Dialogflow działający na rozmowie agenta RBM
  • Interfejs fikcyjnej pizzerii, w której użytkownik może skorzystać z oferty rabatowej i przejść do menu restauracji

Czego się dowiesz

  • Jak używać Dialogflow i głównych konstruktów mających na celu utworzenie interfejsu rozmowy
  • Jak utworzyć typy odpowiedzi RBM w Dialogflow, aby umożliwić użytkownikom szczegółowe korzystanie z RBM

Co będzie potrzebne?

  • Konto Google platformy RBM

Tworzenie pierwszego agenta i wysyłanie do niego zapytań

Czas trwania: 30:00

Tworzenie pierwszego agenta Dialogflow

Aby utworzyć agenta Dialogflow:

  1. Otwórz nową kartę i zaloguj się w Dialogflow.
  2. Kliknij Utwórz agenta w panelu nawigacyjnym po lewej stronie.

  3. Wpisz „"CodelabRBMPizzaPlace"” dla języka agenta i języka angielskiego oraz ustaw domyślną strefę czasową.

  4. Kliknij Utwórz.

konsoli Dialogflow.

Powinna być teraz widoczna konsola Dialogflow. Jeśli pracujesz na mniejszym ekranie, a lewy panel nawigacji jest ukryty, kliknij przycisk nawigacji w lewym górnym rogu. Po kliknięciu przycisku ustawień otworzysz bieżące ustawienia agenta.

W środkowej części strony znajduje się lista intencji agenta. Domyślnie agenty Dialogflow rozpoczynają się od 2 intencji. Agent pasuje do domyślnej intencji zastępczej, gdy nie rozumie Twoich wypowiedzi. Domyślna intencja powitalna wita użytkowników. Możesz je dostosować, aby dostosować sposób działania usługi do swoich potrzeb.

Po prawej stronie jest symulator Dialogflow. Dzięki temu możesz wypróbować agenta, mówiąc lub wpisując wiadomości.

Zapytanie do agenta

Agenty Dialogflow najlepiej opisać jako moduły NLU (Natural Language Knowledge). Mogą one pojawiać się w aplikacji, usługach lub usługach, aby przekształcać naturalne żądania użytkowników w przydatne dane.

Czas, aby wypróbować agenta W symulatorze po prawej stronie kliknij pole tekstowe Wypróbuj, wpisz &"Cześć i naciśnij Enter.

Dialogflow identyfikuje zapytanie, dopasowuje je do domyślnej intencji powitalnej i odpowiada ogólnemu powitaniu. Dzieje się tak, ponieważ Dialogflow automatycznie uczy domyślną intencję powitalną z przykładowymi powitaniami.

Tworzenie agenta RBM

Zaloguj się w konsoli programisty Business Communications, a potem kliknij Utwórz agenta.

W polu Nazwa wpisz "Twoja nazwa pizzerii (np. „Pizzeria Szczecin”), wybierz region i kliknij Utwórz agenta.

Łączenie agenta RBM z Dialogflow

Po utworzeniu agenta RBM kliknij go, aby wyświetlić stronę Przegląd. W panelu nawigacyjnym po lewej stronie kliknij link Integracje.

Domyślnie agent RBM używa Google Cloud Pub/Sub do obsługi wiadomości użytkowników. Aby połączyć agenta RBM z utworzonym wcześniej agentem Dialogflow, kliknij integrację Dialogflow.

W oknie kliknij Połącz istniejący model. Postępuj zgodnie z instrukcjami, aby przyznać agentowi RBM uprawnienia do wywoływania agenta Dialogflow. Po wykonaniu instrukcji kliknij Dalej.

Na koniec musisz podać identyfikator projektu Dialogflow. Na innej karcie przeglądarki niż w konsoli Business Communications, przejdź do Dialogflow i otwórz utworzony wcześniej agent CodelabRBMPizzaPlace. Kliknij ikonę koła zębatego obok nazwy projektu w panelu nawigacyjnym po lewej stronie.

Kliknięcie tej opcji powoduje otwarcie ustawień modelu. W sekcji GOOGLE PROJECT (Projekt projektu) znajdź i skopiuj identyfikator projektu.

Wróć do karty z otwartą konsolą Business Communications Developer Console, wklej identyfikator projektu w oknie i kliknij Rozpocznij integrację.

Ten proces trwa około dwóch minut. Po zakończeniu powinna być podświetlona opcja integracji Dialogflow i dostępny link View agent.

Wszystkie wiadomości wysyłane do agenta i z niego są teraz obsługiwane przez agenta CodelabRBMPizzaPlace.

Zaproś urządzenie testowe i wyślij wiadomość

Zanim przejdziesz do Dialogflow, skonfigurujmy urządzenie testowe. Jeśli nie masz jeszcze urządzenia, które umożliwia odbieranie wiadomości RBM, postępuj zgodnie z tym przewodnikiem, aby przygotować urządzenie.

W konsoli programisty Business Communications kliknij Urządzenia w panelu nawigacyjnym po lewej stronie. W formularzu wpisz pełny numer telefonu w formacie E.164 (na przykład +12223334444) i kliknij Dodaj.

Na urządzeniu otrzymasz zaproszenie do testów. Kliknij Ustaw mnie jako testera.

W przeglądarce znajdź swoje urządzenie na liście Urządzenia i wyślij urządzenie testowe. Jeśli otrzymasz na urządzeniu wiadomość od agenta RBM, możesz kontynuować ćwiczenia.

Tworzenie intencji powitalnej

Aby rozpocząć rozmowę, zwykle z agentem RBM opartym na Dialogflow, trzeba wykonać wywołanie interfejsu API, które określa numer telefonu użytkownika i intencję Dialogflow, która go rozpoczyna (zwykle jest to intencja powitalna agenta). Na potrzeby tego ćwiczenia pominiemy ten krok i użyjmy wątku rozmowy utworzonego w poprzednim kroku na urządzeniu testowym usługi Business Communications. Jeśli jednak chcesz dowiedzieć się więcej o tej funkcji API, zajrzyj do tego przewodnika.

Zacznijmy od dodania odpowiedzi RBM do domyślnej intencji powitalnej, by okno dialogowe mogło jej używać z Twoim agentem RBM. Najpierw otwórz kartę przeglądarki z uruchomioną Dialogflow. W menu po lewej stronie kliknij link Intents (Intencje). Usuń przykładową „Zwykłą odpowiedź” przez kliknięcie kosza w prawym górnym rogu. Następnie kliknij Domyślna intencja powitalna, przewiń w dół do sekcji Responses (Odpowiedzi), kliknij + na liście typów odpowiedzi i wybierz RCS Business Messaging (RBM).

Kliknij kolejno Dodaj odpowiedzi i Prosta odpowiedź. W polu tekstowym prostej odpowiedzi wpisz „Ratunek dnia w Pizzerii”. Kup dowolną 12-calową pizzę i otrzymać BEZPŁATNĄ! (zastąp Sean swoim nazwiskiem), a następnie kliknij Zapisz.

Nawiązywanie rozmowy

Po skonfigurowaniu intencji powitalnej wróć do urządzenia testowego i wyślij wiadomość &Cześć. Ta wiadomość aktywuje domyślną intencję powitalną. Powinno być podobne do poniższego obrazu.

Aktualizowanie intencji powitalnej

Skoro wiadomości Dialogflow są wysyłane w prostej wiadomości, zaktualizujmy ją, aby była bardziej interesująca. Nie tylko chcemy wysłać wiadomość o ofercie dnia, ale również wysłać zdjęcie, aby zachęcić użytkownika do interakcji i wykonać mu inne działania.

Zastąpmy nasz prosty komunikat reklamowy z pizzą kartą zawierającą obraz oraz opcje, które umożliwiają wyświetlenie pełnego menu i strony restauracji.

W sekcji Domyślna intencja powitalna w sekcji Odpowiedzi wybierz kartę RCS Business Messaging (RBM). Zaktualizuj dotychczasowy tekst Simple Response (Prosta odpowiedź) do „Pizzeria” Seana. Sprawdź ofertę promocyjną dzisiaj!". Następnie kliknij Dodaj odpowiedzi i wybierz Samodzielne karty informacyjne.

W samodzielnym formularzu karty informacyjnej wpisz:

  • Tytuł karty: kup dowolną 12-calową pizzę i otrzymaj BEZPŁATNĄ!
  • Opis karty: w każdej lokalizacji uczestniczącej w programie, aby skorzystać z tej oferty, możesz wyświetlić ten komunikat. Oferta ważna do 17 lutego.
  • Wybierz orientację karty: branża
  • Adres URL obrazu/wideo: https://storage.googleapis.com/df-rbm-codelab/pizza-ad-coupon.png
  • Wybierz wysokość multimediów: średnia

Kliknij Dodaj sugestię i wpisz:

  • Tekst sugestii: menu
  • Wywołanie zwrotne sugestii: response_view_menu

Aby dodać działanie związane z otwartym adresem URL, kliknij Dodaj sugestię, a następnie wybierz z menu opcję Otwórz działanie adresu URL i wpisz te informacje:

  • Tekst sugestii: wyświetl witrynę
  • Wywołanie zwrotne sugestii: response_view_website
  • URL do otwarcia: https://www.google.com (lub dowolny prawidłowy adres URL)

Kliknij Zapisz.

Wypróbuj tę funkcję.

Gdy model powie „Zakończono szkolenie”, wróć na urządzenie i wyślij wiadomość do pracownika obsługi klienta. Powinna być teraz widoczna prosta odpowiedź i zaprojektowana oddzielna karta informacyjna.

Kliknij menu Widok. Zwróć uwagę, że wywoływana jest domyślna intencja zastępcza. Dzieje się tak, ponieważ agent Dialogflow nie wie, jak obsłużyć dane wywołania zwrotnego skonfigurowane dla tej sugestii. "reply_view_menu".

Naprawmy to.

Tworzenie intencji menu

Dialogflow wykorzystuje intencje do kategoryzowania intencji użytkownika. Intencje mają wyrażenia treningowe, które są przykładem tego, co użytkownik może powiedzieć agentowi. Na przykład ktoś, kto chce wiedzieć, że to menu, może zapytać „Oto Twoje menu”; "„Co mogę zjeść” i „co mogę zamówić?”.

Wszystkie te zapytania są unikalne, ale mają ten sam cel: uzyskanie informacji o menu.

Aby uwzględnić to zapytanie, utwórz intencję &Menu:

  1. W menu po lewej stronie kliknij + obok opcji Intents (Intencje).
  2. W polu Intent name (Nazwa intencji) wpisz "Menu".
  3. W sekcji Training Phrases (Wyrażenia na potrzeby trenowania) kliknij Add user expression (Dodaj wyrażenie użytkownika) i po każdym wpisie naciśnij Enter:

    • What's your menu?
    • What can I eat?
    • What can I order?
    • reply_view_menu

    To ostatnie wyrażenie trenowania służy do mapowania danych wywołania zwrotnego skonfigurowanych w poprzedniej sekcji z tym zamiarem.

W odpowiedzi na tę intencję utworzymy karuzelę z różnymi opcjami menu. W przypadku większego menu możesz dodać link do witryny lub udostępnić pojedynczy obraz menu.

  1. W sekcji Odpowiedzi kliknij + i wybierz RCS Business Messaging (RBM).
  2. Kliknij Dodaj odpowiedzi i wybierz Karta karuzeli karuzeli.
  3. Ustaw opcję Wybierz szerokość karty na Średnia.
  4. Pod opcją szerokości kliknij dwukrotnie Dodaj kartę. Rozszerza to liczbę kart do 4.
  5. Na karcie 1 wpisz:
    • Tytuł karty: kiełbasa i pepperoni
    • Opis karty: kiełbasa, pepperoni, oliwki i papryka zielona
    • Adres URL zdjęcia/wideo: https://storage.googleapis.com/df-rbm-codelab/sausage-pizza.jpg
  6. Na karcie 3 wpisz:
    • Tytuł karty: włoski
    • Opis karty: sos pomidorowy, ser i kiełbasa
    • Adres URL zdjęcia/wideo: https://storage.googleapis.com/df-rbm-codelab/italian-pizza.jpg
  7. Na karcie 2 wpisz:
    • Tytuł karty: Margherita
    • Opis karty: pomidory San Marzano, ser mozzarella, świeża bazylia, sól i oliwa
    • Adres URL zdjęcia/wideo: https://storage.googleapis.com/df-rbm-codelab/margarita-pizza.jpg
  8. Na karcie 4 wpisz:
    • Tytuł karty: najwyższy
    • Opis karty: kiełbasa, pepperoni, hamburger, bekon kanadyjski, cebula, oliwki, pieczarki i zielona papryka
    • Adres URL zdjęcia/wideo: https://storage.googleapis.com/df-rbm-codelab/supreme-pizza.jpg

Gdy dodasz elementy karty, musisz też zapewnić użytkownikowi możliwość kontynuowania rozmowy. Aby to zrobić, kliknij Dodaj odpowiedzi, wybierz Prosta odpowiedź i wpisz tekst „Chcesz zrobić coś innego?”.

W prostej odpowiedzi kliknij Dodaj sugestię i wpisz:

  • Tekst sugestii: wyświetl promocję
  • Wywołanie zwrotne sugestii:

Kliknij Zapisz.

Wypróbuj tę funkcję.

Teraz zapytaj agenta o menu. W oknie rozmowy z pracownikiem obsługi klienta RBM wpisz „" Co jest w menu” i wyślij wiadomość do pracownika obsługi klienta.

Agent teraz poprawnie odpowiada na zapytanie. Zwróć uwagę na to, że chociaż Twoje zapytanie różniło się od wyrażenia treningowego (" „co jest w menu\">quot; w porównaniu z " jakie jest Twoje menu?”). Dialogflow nadal dopasowało zapytanie do właściwej intencji. Możesz też kliknąć opcję Wyświetl menu na karcie informacyjnej.

Dialogflow używa wyrażeń treningowych jako przykładów modelu systemów uczących się, aby dopasować użytkowników do zapytań. Model systemów uczących się sprawdza zapytanie w przypadku każdego zamiaru agenta, przyznaje każdemu wynikowi wynik i zostaje znaleziona najwyższa ocena intencji. Jeśli intencja o najwyższej punktacji ma bardzo niski wynik, intencja zastępcza jest dopasowana.

Rejestrowanie intencji bez odpowiadania

To już prawie wszystko, ale musisz zrobić jeszcze jedną rzecz. Jeśli wrócisz do urządzenia testowego i klikniesz sugestię Wyświetl witrynę na pierwszej karcie informacyjnej, zauważysz, że kliknięcie tej sugestii nie tylko otwiera powiązany URL, ale otrzymujesz też komunikat wywołany przez domyślną intencję kreacji zastępczej.

Wynika to z tego, że gdy klikniesz działanie, otwarty URL działania związanego z adresem URL zostanie wysłany do Dialogflow, a Dialog zostanie zmapowany na domyślną intencję kreacji zastępczej.

Aby przechwycić dane wywołania zwrotnego bez natychmiastowej odpowiedzi, utworzymy intencję z wyrażeniami treningowymi pasującymi do danych wywołania zwrotnego i usuniemy wszystkie odpowiedzi na potrzeby intencji. Dialogflow dopasuje dane wywołania zwrotnego do intencji, ale nie odpowie, ponieważ intencja nie ma zdefiniowanych odpowiedzi.

Tworzenie intencji braku odpowiedzi

Aby uwzględnić działania, które chcesz ignorować, utwórz intencję „Brak odpowiedzi”:

  1. W menu po lewej stronie kliknij + obok opcji Intents (Intencje).
  2. W polu Intent name (Nazwa intencji) wpisz „" Answer"”.
  3. W sekcji Training Phrases (Wyrażenia na potrzeby trenowania) kliknij Add user expression (Dodaj wyrażenie użytkownika) i po każdym wpisie naciśnij klawisz Enter:
    • reply_view_website
  4. Przewiń w dół do sekcji Odpowiedzi i usuń wszystkie odpowiedzi, używając ikony kosza.

Kliknij Zapisz.

Wypróbuj tę funkcję.

Na urządzeniu w rozmowie z agentem RBM wpisz "hi" i wyślij wiadomość do agenta. Spowoduje to aktywowanie oferty promocyjnej z domyślnej intencji powitalnej. Kliknij „Wyświetl sugestię dotyczącą witryny” i sprawdź, czy witryna otwiera się w przeglądarce i nie jest wysyłana odpowiedź agenta.

To już wszystko.

Czas trwania: 1:00

Dobra robota!

Masz już za sobą wszystkie etapy tworzenia prostego agenta RBM opartego na Dialogflow.

Więcej informacji znajdziesz w ćwiczeniach z programowania.

Baw się dobrze, tworząc nową platformę.