Czynności konwersacyjne rozszerzają możliwości Asystenta Google, umożliwiając deweloperom tworzenie własnych funkcji lub rozmów z użytkownikami Asystenta. Akcja konwersacyjna obsługuje prośby Asystenta i zwraca odpowiedzi z komponentami audio i wizualnymi. Działania związane z rozmowami mogą też łączyć się z usługami zewnętrznymi w celu dodania logiki konwersacyjnej lub biznesowej przed zwróceniem odpowiedzi.
Użytkownicy mogą na przykład wywołać Twoje działanie konwersacyjne, aby uzyskać odpowiedź z zewnętrznej usługi realizacji, gdy będą szukać informacji, otrzymywać spersonalizowane rekomendacje lub realizować transakcje cyfrowe.

Przypadki użycia
Akcje konwersacyjne sprawdzają się najlepiej w przypadku prostych przypadków użycia, które uzupełniają inne doświadczenia. Dobre działania konwersacyjne często należą do następujących kategorii ogólnych:
- Na co użytkownicy mogą łatwo odpowiedzieć. Działania, które można wykonać przy użyciu znanych danych wejściowych, takich jak data lub godzina, np. rezerwacja lotu.
- Szybkie, ale atrakcyjne funkcje. Dzięki temu użytkownicy od razu otrzymują korzyści, np. przez sprawdzenie, kiedy gra ich ulubiona drużyna.
- Działania, które z natury są lepiej dostosowane do głosu. Zwykle są to ćwiczenia, które wykonujesz bez użycia rąk, np. podczas treningów jogi lub ćwiczeń fizycznych.
Jak działają czynności konwersacyjne
W odróżnieniu od tradycyjnych aplikacji mobilnych i komputerowych, które korzystają z paradygmatów komputerowych, użytkownicy wchodzą w interakcje z Asystentem za pomocą naturalnie brzmiących, konwersacji tam i z powrotem. Działania konwersacyjne są rozpoczynane po wywołaniu przez użytkownika i kontynuują je, dopóki użytkownik nie zrezygnuje z korzystania z gotowych wyrażeń lub dopóki nie zostanie zakończone.
Podczas rozmowy dane wejściowe użytkownika są konwertowane z tekstu na tekst przez Asystenta i składane na żądania JSON w celu przetworzenia języka naturalnego. Żądania te są przesyłane w ramach realizacji transakcji.
Realizacja rozmowy przetwarza zapytanie użytkownika w uporządkowane dane, przetwarza je i zwraca odpowiedź JSON webhooka do Asystenta. Asystent przetwarza i przedstawia Twoją odpowiedź.

Utworzenie własnej usługi przetwarzania języka naturalnego może być trudnym zadaniem, dlatego udostępniamy Dialogflow jako sposób obsługi tej sytuacji. Deweloperom, którzy nie mogą korzystać z Dialogflow, udostępniamy też pakiet SDK Actions jako opcję zapasową z oddzielną, ale powiązaną ścieżką programowania.
Gdy skonfigurujesz agenta w Dialogflow, sposób realizacji rozmowy zostanie rozszerzony przez funkcje Dialogflow, w tym możliwość korzystania z tej usługi. Ta metoda pozwala odizolować realizację rozmowy od innych usług, które być może będą zapewniać użytkownikom pożądane wyniki.

Tworzenie rozmowy
Akcja konwersacyjna powinna być głównym elementem procesu i realizacji tej rozmowy. Rozmowa powinna być interfejsem użytkownika rozmowy. Musisz zastanowić się, w jaki sposób użytkownicy wywołują Twój projekt Actions, prawidłowe wypowiedzi w rozmowie oraz to, jak odpowiada on na Twój projekt Actions.
W projekcie Actions podajesz metadane w celu opublikowania projektu i określasz metodę realizacji rozmowy. Deweloperzy korzystający z Dialogflow powiązali agenta Dialogflow z projektem, a następnie realizowali realizację przez Dialogflow. W przypadku deweloperów używających pakietu SDK Actions budowa rozmowy wymaga kodowania i wdrażania w formacie webhooka rozmowy.
Podczas projektowania rozmowy zalecamy korzystanie z naszych procesów i zasad projektowania. Interfejsy konwersacyjne są wciąż stosunkowo nową technologią, a poznanie sprawdzonych metod pozwala zaoszczędzić czas w przyszłości.
Realizacja zamówień za pomocą Dialogflow
Podczas integracji z agentem Dialogflow obsługuje on interfejs NLU w przypadku zapytań użytkowników w akcji konwersacyjnej. W tym kroku agent Dialogflow wykonuje te czynności:
- Przetwarza każde żądanie przychodzące od Asystenta na podstawie podanych przez Ciebie wyrażeń treningowych i kontekstu rozmowy.
- Dopasowuje każde żądanie do intencji Dialogflow (nazywanej też zdarzeniem).
- Wyodrębnia parametry do encji Dialogflow.
Twój agent Dialogflow może następnie wywołać własną realizację (wdrożoną jako webhook), aby wykonać jakąś logikę, na przykład wywołać interfejs API REST lub inną usługę backendu, która będzie generować odpowiedź i wrócić do Asystenta. Ten webhook jest nazywany również realizacją Dialogflow i używa formatu webhooka Dialogflow.

Realizacja rozmów w Dialogflow głównie polega na opracowaniu webhooka realizacji zamówień Dialogflow. W dokumentacji Actions on Google znajdziesz zasoby, które pomogą Ci projektować, tworzyć i testować webhooka realizacji Dialogflow. Takie zasoby obejmują przede wszystkim bibliotekę klienta Node.js i bibliotekę klienta Java.
Gdy tworzysz aplikację Dialogflow, możesz używać Dialogflow Console do tworzenia intencji Dialogflow, encji i wyrażeń treningowych.
Ogólne informacje o Dialogflow znajdziesz w artykule na temat integracji Actions on Google w dokumentacji Dialogflow.
Realizacja zamówień za pomocą pakietu SDK Actions
Realizacja rozmów w ramach pakietu SDK Actions polega głównie na utworzeniu i wdrożeniu pakietu Action. Pakiety działań są tworzone w formacie ActionPackage
i używają formatu webhooka rozmowy.
Pakiet działań obejmuje wszystkie działania w danym projekcie.
Asystent przekazuje zapytania użytkowników na potrzeby realizacji Twojej rozmowy za pomocą intencji Actions on Google. W przypadku każdego zamiaru webhook webhooka musi przeanalizować intencję, przetworzyć ją i zwrócić użytkownikowi odpowiedź JSON w trybie JSON.
Odpowiedzi
Podczas tworzenia akcji w Asystencie Twoje rozmowy są dobierane na różne sposoby, np. rozmowy głosowe z aktywowanymi na głos głosami lub wizualna rozmowa na platformach obsługiwanych przez Asystenta. Ta metoda umożliwia użytkownikom szybkie wykonanie zadania głosowego lub wizualnego.
Tworząc aplikację, możesz wybierać spośród wielu interesujących typów odpowiedzi, które Asystent może prezentować użytkownikom. Obejmują one czat z prostymi tekstami, odpowiedziami multimedialnymi, karuzelami, a nawet kodem HTML interaktywnym.
Dalsze kroki
Wykonaj ćwiczenia z ćwiczenia tworzenia Asystenta Google (poziom 1), aby dowiedzieć się, jak utworzyć pierwsze działanie konwersacyjne.
Następnie możesz przejść do naszych przewodników dotyczących tworzenia własnej rozmowy przy użyciu Dialogflow lub pakietu SDK Actions. Możesz też zapoznać się z dodatkowymi materiałami do tworzenia działań konwersacyjnych:
- Działania w repozytorium Google GitHub: przykładowy kod i biblioteki.
- r/GoogleassistantDev: oficjalna społeczność Reddit dla deweloperów pracujących z Asystentem Google.