Chatboty stają się w dzisiejszych czasach coraz ważniejszym narzędziem dla biznesu. Dzięki odpowiednim narzędziom i know-how firmy tworzą agentów czatu, którzy mogą prowadzić prawdziwe rozmowy z klientami.
Google Dialogflow ES to jedno z najpotężniejszych i najbardziej bezpłatnych narzędzi do tworzenia chatbotów na rynku. Ale jak uwolnić jego pełny potencjał?
Krok 1: Utwórz agenta Dialogflow ES
Utworzenie własnego agenta Dialogflow ES to pierwszy krok w tym procesie. Każde konto Google działa, a zaczynasz od przejścia do Witryna Google Dialogflow ES. Kliknij Utwórz agenta po zalogowaniu i wypełnieniu danych w formularzu przed kliknięciem Tworzyć. Możesz użyć Dialogflow, aby stworzyć chatbota dla rozrywki, automatyzacja czy obsługa klienta. Ten projekt obejmuje to drugie.
Krok 2: Dodaj kolejne intencje Dialogflow
Nowy agent ma tylko domyślną intencję powitalną i domyślną intencję zastępczą. Intencja to fragment lub etap rozmowy.
Aby rozpocząć, musisz dodać dwie kolejne intencje do istniejącej domyślnej intencji powitalnej. Najedź na
Domyślna intencja powitalna, Kliknij Dodaj zamiar kontynuacjii wybierz TAk z menu rozwijanego. Powtórz ten proces, wybierając Nie z menu rozwijanego, aby utworzyć drugą intencję uzupełniającą.Intencja „Brak kontynuacji” zakończy rozmowę i pożegna się z użytkownikiem. Otworzyć Brak zamiaru kontynuacji i dodaj serię odpowiedzi tekstowych, aby zakończyć rozmowę. Aktywuj Ustaw tę intencję jako koniec rozmowy suwak.
Wróć do głównego ekranu Intencji i kliknij Tak, intencja kontynuacji by go otworzyć.
Krok 3: Zbuduj bogatą listę odpowiedzi Dialogflow za pomocą JSON
Po skonfigurowaniu tych intencji nadszedł czas, aby zadać użytkownikowi pytanie, aby mógł się do nich dostać. Otworzyć Domyślna intencja powitalna oraz Usuwać odpowiedzi, które wygenerował. Kliknij Dodaj odpowiedzi i wybierz Ładunek niestandardowy z menu.
Poniższy kod JSON dodaje dwa różne typy odpowiedzi rozszerzonych; informacje i żetony.
{
"bogata zawartość": [
[
{
"typ": "frytki",
"opcje": [
{
"text": "Tak"
},
{
"tekst": "Nie"
}
]
},
{
"obraz": {
"src": {
"rawUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/5/50/TK_email_icon.svg/1024px-TK_email_icon.svg.png"
}
},
"title": "Opowiedz mi o sobie :)",
"subtitle": "Podaj niektóre ze swoich danych osobowych. Wyślę ci to w e-mailu. To umowa; absolutnie żadnych zabawnych interesów. Obietnica! Dołączasz się?",
"typ": "informacje"
}
]
]
}
Krok 4: Zbierz nazwę użytkownika jako parametr Dialogflow
Następnie nadszedł czas, aby dodać kolejną intencję w celu zebrania danych od użytkownika. Jak opisano w kroku 2, powinieneś już mieć intencję kontrolną Tak, która prosi o imię i nazwisko użytkownika. Najedź na Tak, intencja kontynuacji w głównym menu intencji kliknij Dodaj zamiar kontynuacjii wybierz Zwyczaj z listy.
Spowoduje to utworzenie nowej intencji kontynuacji bez żadnych fraz szkoleniowych. Przejdź do sekcji Training Phrases, wpisz nazwę w polu i naciśnij Enter, aby dodać ją jako nową frazę. Spowoduje to utworzenie nowego parametru z typem jednostki @sys.person. Kliknij na @m.s.s i zmień go na @sys.nazwa-nazwiska podmiot.
Spowoduje to zapisanie danych wejściowych użytkownika, aby agent mógł z nich korzystać. Przejdź do sekcji Odpowiedzi i dodaj odpowiedź za pomocą $imię-imię w środku tego. Spowoduje to wywołanie zebranego parametru nazwy, dzięki czemu pojawi się na czacie.
Krok 5: Użyj niestandardowego ładunku Dialogflow do wyzwalania intencji
Pozostając w dodanym przed chwilą zamiarze uzupełniającym, kliknij Dodaj odpowiedzi i wybierz z listy opcję Niestandardowy ładunek. Dodanie poniższego kodu JSON do tej sekcji wywoła odpowiedź bogatą w listę, prosząc użytkownika o wybranie koloru.
Najważniejszą częścią tego kodu JSON jest sekcja zdarzenia z każdym wpisem. Po kliknięciu każdy element listy wywołuje zdarzenie o nazwie COLOR z nazwą i parametrami koloru, które zostały do tej pory zebrane. Intencje mogą mieć przypisane zdarzenia, które je wyzwolą.
{
"bogata treść": [
[
{
"wydarzenie": {
"kod języka": "en",
"parametry": {
"Nazwa": "$imię-imię",
"kolor": "Czerwony"
},
"Nazwa": "KOLOR"
},
"tytuł": "Czerwony",
"rodzaj": "lista"
},
{
"rodzaj": "rozdzielacz"
},
{
"wydarzenie": {
"Nazwa": "KOLOR",
"kod języka": "en",
"parametry": {
"Nazwa": "$imię-imię",
"kolor": "Zielony"
}
},
"rodzaj": "lista",
"tytuł": "Zielony"
},
{
"rodzaj": "rozdzielacz"
},
{
"rodzaj": "lista",
"tytuł": "Niebieski",
"wydarzenie": {
"kod języka": "en",
"Nazwa": "KOLOR",
"parametry": {
"Nazwa": "$imię-imię",
"kolor": "Niebieski"
}
}
}
]
]
}
Krok 6: Przenieś parametry dialogflow między intencjami
Wróć do głównego menu Intencje i kliknij Utwórz intencję. Nadaj swojej nowej intencji nazwę i wprowadź KOLOR w sekcji wydarzeń przed uderzeniem Wchodzić.
Przejdź do sekcji Training Phrases i dodaj nazwę oraz kolor do listy fraz, aby wywołać tworzenie nowych parametrów. Zmienić @m.s.s encja parametryczna do a @sys.nazwa-nazwiska i upewnij się, że kolor jest ustawiony na @sys.kolor.
Możesz teraz dodać kilka odpowiedzi, używając $podanej-imienia i $koloru, aby dane wprowadzone przez użytkownika pojawiły się w oknie czatu.
Na koniec wróć do Konteksty w górnej części strony i dodaj wynik o unikalnej nazwie. To przekaże parametry z tej intencji do następnej.
Krok 7: Zbierz kraj i numer telefonu użytkownika jako parametry Dialogflow
Wróć do głównego menu Intencji, najedź kursorem na Intensywność koloru właśnie utworzyłeś i kliknij Dodaj zamiar kontynuacji. Sprawdź sekcję Konteksty nowej intencji. Upewnij się, że zawiera kontekst Kolor, który utworzyłeś w ostatnim kroku, zarówno w sekcji wejściowej, jak i wyjściowej. Dodaj kolejny kontekst wyjściowy dla bieżącej intencji.
Przejdź do Zwroty szkoleniowe i dodaj nazwę kraju do listy przed uderzeniem Wchodzić. Spowoduje to utworzenie nowego parametru. Zmień typ encji parametru na @sys.geo-kraj przed dodaniem parametru do sekcji odpowiedzi.
Wróć do głównego menu Intents i utwórz nową intencję uzupełniającą dla właśnie utworzonej intencji. Powtórz wykonane przed chwilą czynności, ale użyj numeru telefonu w Zwroty szkoleniowe Sekcja. Upewnij się, że wygenerowany parametr ma @sys.numer-telefonu typ encji.
Wróć do głównego menu Intencje i utwórz dwie nowe intencje uzupełniające dla właśnie utworzonej intencji; a Tak i Nie intencja kontynuacji. Aby zakończyć rozmowę, możesz ustawić opcję Bez kontynuacji.
Kolejna intencja Tak musi zawierać wszystkie Konteksty z poprzednich intencji, które utworzyłeś.
Na koniec wróć do głównego menu Intents i utwórz nową intencję uzupełniającą dla utworzonej właśnie intencji uzupełniającej Tak. Dodaj adres e-mail do sekcji Training Phrases i upewnij się, że wygenerowany parametr ma: @sys.email jako typ jednostki.
Przejdź do Odpowiedzi sekcja, kliknij Dodaj odpowiedzii wybierz Ładunek niestandardowy z listy. Poniższy kod JSON doda wzbogaconą odpowiedź typu listy, która wywołuje zdarzenie o nazwie SENDEMAIL. Wszystkie parametry użytkownika, o które prosiłeś do tej pory, zostaną przesłane w tym celu.
{
"bogata treść": [
[
{
"tytuł": "Wysłać email",
"wydarzenie": {
"parametry": {
"Nazwa": "#Kolor-followup.name",
"kraj": "#Kolor-country-followup.country",
"e-mail": "$e-mail",
"kolor": "#Kolor-śledzenie.kolor",
"telefon": "#Color-country-phonenum-followup.phone-number"
},
"Nazwa": "WYSŁAĆ EMAIL",
"kod języka": "en"
},
"rodzaj": "lista"
}
]
]
}
Krok 8: Wyślij wiadomość e-mail za pomocą wbudowanego edytora Dialogflow Node.js
Kliknij Utwórz intencję w głównym menu Intencje. Dodać WYSŁAĆ EMAIL do Wydarzenia sekcja i hit Wchodzić. Postępuj zgodnie z tym, dodając wszystkie zebrane parametry do Działanie i parametry Sekcja.
Przejdź do Spełnienie na dole strony i aktywuj suwak oznaczony Włącz wywołanie webhooka dla tej intencji. Umożliwi to dodanie niestandardowego kodu do tej intencji.
Wybierz Spełnienie z menu głównego po lewej stronie i aktywuj suwak, aby włączyć Edytor wbudowany. W tym celu może być konieczne dodanie konta rozliczeniowego do projektu Google.
Kliknij na pakiet.json i przewiń do dołu pliku. Zastąp sekcję zależności następującym kodem, aby dodać interfejs API Nodemailer do projektu.
"zależności": {
"działania-w-google": "^2.2.0",
"Firebase-admin": "^5.13.1",
"funkcje-firebase": "^2.0.2",
"przepływ dialogów": "^0.6.0",
"nodemailer": "^4.4.2",
"dialogflow-spełnienie": "^0.5.0"
}
Wróć do pliku index.js i zastąp istniejący kod próbką znalezioną na ten projekt CodePen przed kliknięciem Wdrożyć. Musisz zastąpić dane uwierzytelniające Gmaila danymi z własnego konta. W tym celu musisz użyć hasła do aplikacji. Po zakończeniu, Twój chatbot wyśle e-mailem wszystkie zebrane dane do użytkownika po zakończeniu udanej rozmowy. Możesz dowiedz się więcej o Node.js i jak go używać z naszym podręcznym przewodnikiem.
Korzystanie z Dialogflow ES w Twojej witrynie
Twój nowy chatbot może zbierać informacje o użytkownikach i wysyłać e-maile, ale Dialogflow ES może o wiele więcej. Z tą usługą możesz połączyć prawie każdy interfejs API, a za pomocą interfejsu Dialogflow API możesz sterować swoim chatbotem we własnej witrynie.