Działania związane z rozmową pozwalają rozszerzyć Asystenta Google o własne interfejsy konwersacyjne, które zapewniają użytkownikom dostęp do Twoich produktów i usług. Akcje wykorzystują potężny mechanizm rozumienia języka naturalnego (NLU) Asystenta, aby przetwarzać i rozumieć dane w języku naturalnym oraz wykonywać zadania na podstawie tych danych.
Opis
Akcja konwersacyjna to prosty obiekt, który określa punkt wejścia (nazywany wywołaniem) do rozmowy:
- Wywołanie określa, w jaki sposób użytkownicy informują Asystenta, że chcą rozpocząć rozmowę z jedną z Twoich akcji. Wywołanie akcji jest zdefiniowane przez jedną intencję, która jest dopasowywana, gdy użytkownicy wysyłają żądanie akcji.
- Rozmowa określa sposób interakcji użytkowników z akcją po jej wywołaniu. Rozmowy tworzysz za pomocą zamiarów, typów, scen i promptów.
- Dodatkowo działania mogą przekazywać dodatkowe zadania realizacji, czyli usługom internetowym komunikującym się z działaniami za pomocą webhooków. Pozwala to między innymi na weryfikację danych, wywoływanie innych usług internetowych czy realizację logiki biznesowej.
Jedno lub wiele akcji możesz połączyć w pakiet logiczny nazywany projektem Actions (na podstawie przypadków użycia ważnych dla użytkowników). Projekt w Actions zawiera cały model wywoływania (zbiór wszystkich wywołań), który umożliwia użytkownikom rozpoczęcie od logicznych miejsc w modelu rozmowy (wszystkie możliwe wypowiedzi i sposoby odpowiadania użytkownikom).
Wywołanie
Wywołanie jest powiązane z wyświetlaną nazwą, która reprezentuje markę, nazwę lub profil klienta, dzięki czemu użytkownicy mogą prosić Asystenta o wywołanie akcji. Użytkownicy mogą używać tej wyświetlanej nazwy oddzielnie (nazywanej wywołaniem głównym) lub w połączeniu z opcjonalnymi wyrażeniami precyzyjnych linków do wywoływania akcji.
Na przykład użytkownicy mogą wypowiedzieć podane niżej wyrażenia, aby wywołać 3 osobne działania w projekcie o wyświetlanej nazwie „Informacje o Google”:
- „OK Google, porozmawiaj z Faktami o Google”
- „OK Google, porozmawiaj z informacjami o Google, aby poznać fakty o firmie”
- „OK Google, porozmawiaj z Faktami o Google, aby poznać fakty z historii”
Pierwsze wywołanie w tym przykładzie to główne wywołanie. To wywołanie jest powiązane ze specjalną intencją systemową o nazwie actions.intent.MAIN
. Drugie i trzecie wywołania to wywołania precyzyjnych linków, które umożliwiają określenie dodatkowych wyrażeń umożliwiających użytkownikom poproszenie o określoną funkcję. Te wywołania odpowiadają intencjom użytkownika, które zostały przez Ciebie oznaczone jako globalne. Każde wywołanie w tym przykładzie stanowi punkt wejścia do rozmowy i odpowiada pojedynczej akcji.
Rysunek 2 opisuje typowy główny przepływ wywołania:
- Gdy użytkownicy proszą o działanie, zazwyczaj proszą Asystenta o nie, używając Twojej wyświetlanej nazwy.
- Asystent dopasowuje prośbę użytkownika do odpowiedniej intencji, która pasuje do żądania. W tym przypadku jest to
actions.intent.MAIN
. - Akcja jest powiadamiana o dopasowaniu intencji i wyświetla odpowiednią prośbę o rozpoczęcie rozmowy z użytkownikiem.
Rozmowa
Rozmowa definiuje sposób interakcji użytkowników z akcją po jej wywołaniu. Interakcje te tworzy się, definiując prawidłowe dane wejściowe użytkownika w rozmowie, logikę przetwarzania tych danych oraz odpowiadające im prompty, które mają odpowiedzieć użytkownikowi. Na ilustracji poniżej widać, jak działa typowy cykl rozmowy w przypadku komponentów niskiego poziomu rozmowy: zamiarów, typów, scen i promptów.
Rysunek 3 przedstawia typowy przebieg rozmowy:
- Gdy użytkownicy coś powiedzą, NLU w Asystencie dopasuje te informacje do odpowiednich intencji. Intencja jest dopasowywana, jeśli model językowy związany z tym zamiarem może być dokładny lub dokładny. Definiujesz model językowy, określając wyrażenia na potrzeby trenowania, czyli przykłady treści, które mogą chcieć powiedzieć użytkownicy. Asystent wybiera te wyrażenia na potrzeby trenowania i rozszerza je, by utworzyć model językowy intencji.
- Gdy NLU Asystenta pasuje do intencji, może wyodrębnić potrzebne parametry z danych wejściowych. Z tymi parametrami są powiązane typy, np. data lub liczba. Dodajesz adnotacje do konkretnych części wyrażeń treningowych intencji, aby określić, jakie parametry chcesz wyodrębnić.
- Następnie scena przetwarza pasującą intencję. Sceny można traktować jako wykonawców logicznych akcji, którzy wykonują najcięższe zadania i przeprowadzają niezbędne działania logiczne niezbędne do prowadzenia rozmowy. Sceny są uruchamiane w pętli, co zapewnia elastyczny cykl życia wykonywania, co pozwala na m.in. weryfikację parametrów intencji, wypełnianie przedziałów, wysyłanie promptów do użytkownika.
- Po zakończeniu sceny pojawia się zwykle wiadomość z prośbą o kontynuowanie rozmowy lub jej zakończenie.
realizację,
Podczas wywołania lub rozmowy akcja może aktywować webhooka powiadamiającego usługę realizacji o wykonanie niektórych zadań.
Na Rysunku 4 opisujemy, jak używać realizacji do generowania promptów, co jest popularnym sposobem korzystania z realizacji:
- W określonych momentach wykonywania akcji może aktywować webhooka, który wysyła żądanie do zarejestrowanego modułu obsługi webhooka (Twojej usługi realizacji) z ładunkiem JSON.
- Realizacja przetwarza żądanie, m.in. wywołuje interfejs API REST w celu wyszukania danych lub weryfikacji niektórych danych z ładunku JSON. Często stosowanym sposobem korzystania z realizacji jest generowanie dynamicznego promptu w czasie działania, aby rozmowy były lepiej dopasowane do bieżącego użytkownika.
- Realizacja zwraca odpowiedź na akcję zawierającą ładunek JSON. Może użyć danych z ładunku, aby kontynuować jego wykonywanie i odpowiedzieć użytkownikowi.