Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
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).
Rysunek 1. Zbiór działań, które służą jako punkty wejścia do modelu rozmowy. Intencje, które kwalifikują się do wywoływania, są uznawane za globalne.
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. Przykład wywołania głównego
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. Przykład rozmowy
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ń.
Rysunek 4. Przykład rozmowy
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.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-07-26 UTC."],[[["\u003cp\u003eConversational Actions extend Google Assistant, letting you create conversational interfaces for your services using natural language understanding.\u003c/p\u003e\n"],["\u003cp\u003eActions are invoked by users through specific phrases, triggering a conversation flow defined by intents, types, scenes, and prompts.\u003c/p\u003e\n"],["\u003cp\u003eFulfillment webhooks can be used to enhance Actions by validating data, calling external services, and generating dynamic prompts during conversations.\u003c/p\u003e\n"],["\u003cp\u003eActions are grouped within an Actions project which manages the invocation model and overall conversation flow.\u003c/p\u003e\n"]]],["Conversational Actions enable interactions with Google Assistant via natural language. Users initiate these interactions through **invocations**, using a display name or deep links. **Conversations** follow, where Assistant's NLU matches user input to **intents**, extracting **parameters**. **Scenes** then process these intents, executing logic and sending **prompts**. **Fulfillment** services handle tasks like data validation or dynamic prompt generation through webhooks, allowing actions to interact with web services and tailor responses. An **Actions project** bundles actions together.\n"],null,["# Conversational Actions let you extend Google Assistant with your own\nconversational interfaces that give users access to your products and\nservices. Actions leverage Assistant's powerful natural language\nunderstanding (NLU) engine to process and understand natural language input\nand carry out tasks based on that input.\n\nOverview\n--------\n\nA Conversational Action is a simple object that defines an\nentry point (referred to as invocation) into a conversation:\n\n- An **invocation** defines how users tell Assistant they want to start a conversation with one of your Actions. An Action's invocation is defined by a single [intent](/assistant/conversational/intents) that gets matched when users request the Action.\n- A **conversation** defines how users interact with an Action after it's invoked. You build conversations with [intents](/assistant/conversational/intents), [types](/assistant/conversational/types), [scenes](/assistant/conversational/scenes), and [prompts](/assistant/conversational/prompts).\n- In addition, your Actions can delegate extra work to **fulfillment**, which are web services that communicate with your Actions via webhooks. This lets you do data validation, call other web services, carry out business logic, and more.\n\nYou bundle one or many Actions together, based on the use cases that are\nimportant for your users, into a logical container called an Actions project.\nYour Actions project contains your entire invocation model (the collection of\nall your invocations), which lets users start at logical places in your\nconversation model (all the possible things users can say and all the possible\nways you respond back to users).\n**Figure 1** . A collection of Actions that serve as entry points into a conversation model. Intents that are eligible for invocation are considered to be *global*.\n\nInvocation\n----------\n\nInvocation is associated with a **display name** that represents a brand,\nname, or persona that lets users ask Assistant to invoke your Actions.\nUsers can use this display name on its own (called the main invocation) or in\ncombination with optional, **deep link** phrases to invoke your Actions.\n\nFor example, users can say the following phrases to invoke three separate\nActions in an project with a display name of \"Facts about Google\":\n\n- *\"Ok Google, talk to Facts about Google\"*\n- *\"Ok Google, talk to Facts about Google to get company facts\"*\n- *\"Ok Google, talk to Facts about Google to get history facts\"*\n\nThe first invocation in the example is the **main invocation** . This\ninvocation is associated with a special system intent named\n`actions.intent.MAIN`. The second and third invocations are deep link\ninvocations that let you specify additional phrases that let users ask for\nspecific functionality. These invocations correspond to user intents that you\ndesignated as global. Each invocation in this example provides an entry point\ninto a conversation and corresponds to a single Action.\n**Figure 2**. Example of main invocation\n\nFigure 2 describes a typical main invocation flow:\n\n1. When users request an Action, they typically ask Assistant for it by your display name.\n2. Assistant matches the user's request with the corresponding intent that matches the request. In this case, it would be `actions.intent.MAIN`.\n3. The Action is notified of the intent match and responds with the corresponding prompt to start a conversation with the user.\n\nConversation\n------------\n\nConversation defines how users interact with an Action after it's invoked. You\nbuild these interactions by defining the valid user input for your\nconversation, the logic to process that input, and the corresponding prompts\nto respond back to the user with. The following figure and explanation shows\nyou how a typical conversation turn works with a conversation's low level\ncomponents: [intents](/assistant/conversational/intents), [types](/assistant/conversational/types), [scenes](/assistant/conversational/scenes), and\n[prompts](/assistant/conversational/prompts).\n**Figure 3**. Example of a conversation\n\nFigure 3 describes a typical conversation turn:\n\n1. When users say something, the Assistant NLU matches the input to an appropriate intent. An intent is matched if the *language model* for that intent can closely or exactly match the user input. You define the language model by specifying *training phrases*, or examples of things users might want to say. Assistant takes these training phrases and expands upon them to create the intent's language model.\n2. When the Assistant NLU matches an intent, it can extract *parameters* that you need from the input. These parameters have *types* associated with them, such as a date or number. You annotate specific parts of an intent's training phrases to specify what parameters you want to extract.\n3. A *scene* then processes the matched intent. You can think of scenes as the logic executors of an Action, doing the heavy lifting and carrying out logic necessary to drive a conversation forward. Scenes run in a loop, providing a flexible execution lifecycle that lets you do things like validate intent parameters, do slot filling, send prompts back to the user, and more.\n4. When a scene is done executing, it typically sends a prompt back to users to continue the conversation or can end the conversation if appropriate.\n\nFulfillment\n-----------\n\nDuring invocation or a conversation, your Action can trigger a webhook that\nnotifies a fulfillment service to carry out some tasks.\n**Figure 4**. Example of a conversation\n\nFigure 4 describes how you can use fulfillment to generate prompts, a common\nway to use fulfillment:\n\n1. At specific points of your Action's execution, it can trigger a webhook that sends a request to a registered webhook handler (your fulfillment service) with a JSON payload.\n2. Your fulfillment processes the request, such as calling a REST API to do some data lookup or validating some data from the JSON payload. A very common way to use fulfillment is to generate a dynamic prompt at runtime so your conversations are more tailored to the current user.\n3. Your fulfillment returns a response back to your Action containing a JSON payload. It can use the data from the payload to continue it's execution and respond back to the user."]]