Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Les actions de conversation vous permettent d'intégrer l'Assistant Google à vos propres interfaces de conversation afin que les utilisateurs puissent accéder à vos produits et services. Les actions exploitent le puissant moteur de compréhension du langage naturel (NLU) de l'Assistant pour traiter et comprendre les entrées en langage naturel, et effectuer des tâches en fonction de ces entrées.
Présentation
Une action de conversation est un objet simple qui définit un point d'entrée (appelé appel) dans une conversation:
Un appel définit la manière dont les utilisateurs indiquent à l'Assistant qu'ils souhaitent démarrer une conversation avec l'une de vos actions. L'appel d'une action est défini par un seul intent qui est mis en correspondance lorsque les utilisateurs demandent l'action.
Une conversation définit la manière dont les utilisateurs interagissent avec une action après son appel. Vous créez des conversations avec des intents, des types, des scènes et des invites.
En outre, vos actions peuvent déléguer des tâches supplémentaires au fulfillment, qui est des services Web qui communiquent avec vos actions via des webhooks. Cela vous permet de valider des données, d'appeler d'autres services Web, d'exécuter une logique métier, etc.
Regroupez une ou plusieurs actions, en fonction des cas d'utilisation importants pour vos utilisateurs, dans un conteneur logique appelé "projet Actions".
Votre projet Actions contient l'intégralité de votre modèle d'appel (l'ensemble regroupant tous vos appels), ce qui permet aux utilisateurs de commencer à des endroits logiques de votre modèle de conversation (toutes les choses que les utilisateurs peuvent dire et toutes les manières possibles de leur répondre).
Figure 1. Ensemble d'actions qui servent de points d'entrée dans un modèle de conversation. Les intents pouvant être appelés sont considérés comme globals.
Appel
L'appel est associé à un nom à afficher représentant une marque, un nom ou un personnage permettant aux utilisateurs de demander à l'Assistant d'appeler vos actions.
Les utilisateurs peuvent utiliser ce nom à afficher seul (appelé principal) ou en combinaison avec des liens profonds facultatifs pour appeler vos actions.
Par exemple, les utilisateurs peuvent prononcer les expressions suivantes pour appeler trois actions distinctes dans un projet portant le nom à afficher "Facts about Google":
"Ok Google, parle de Facts about Google"
"Ok Google, parle à Facts about Google pour obtenir des informations sur l'entreprise."
"Ok Google, parle à Facts about Google pour obtenir des anecdotes historiques"
Le premier appel de cet exemple est l'appel principal. Cet appel est associé à un intent système spécial nommé actions.intent.MAIN. Les deuxième et troisième appels sont des liens profonds qui vous permettent de spécifier des expressions supplémentaires permettant aux utilisateurs de demander une fonctionnalité spécifique. Ces appels correspondent aux intents utilisateur que vous avez désignés comme globaux. Dans cet exemple, chaque appel fournit un point d'entrée dans une conversation et correspond à une seule action.
Figure 2. Exemple d'appel principal
La figure 2 décrit un flux d'appel principal classique:
Lorsque les utilisateurs demandent une action, ils la demandent généralement à l'Assistant via votre nom à afficher.
L'Assistant associe la requête de l'utilisateur à l'intent correspondant. Dans ce cas, il s'agit de actions.intent.MAIN.
L'action est informée de la correspondance d'intent et répond avec l'invite correspondante pour démarrer une conversation avec l'utilisateur.
Conversation
La conversation définit la manière dont les utilisateurs interagissent avec une action après son appel. Pour créer ces interactions, vous devez définir l'entrée utilisateur valide pour votre conversation, la logique de traitement de cette entrée et les invites correspondantes à utiliser pour répondre à l'utilisateur. La figure et l'explication suivantes vous montrent comment fonctionne un tour de conversation classique avec les composants de bas niveau d'une conversation: intents, types, scènes et invites.
Figure 3. Exemple de conversation
La figure 3 décrit un tour de conversation type:
Lorsque l'utilisateur dit quelque chose, le NLU de l'Assistant associe l'entrée à un intent approprié. Un intent est mis en correspondance si son modèle de langage peut correspondre exactement ou étroitement à l'entrée utilisateur. Pour définir le modèle de langage, vous devez spécifier des expressions d'entraînement ou des exemples de phrases que les utilisateurs pourraient avoir. L'Assistant développe et développe ces phrases d'entraînement pour créer le modèle de langage de l'intent.
Lorsque le NLU de l'Assistant correspond à un intent, il peut extraire de l'entrée les paramètres dont vous avez besoin. Ces paramètres sont associés à des types, tels qu'une date ou un nombre. Vous annotez des parties spécifiques des phrases d'entraînement d'un intent pour spécifier les paramètres que vous souhaitez extraire.
Une scène traite ensuite l'intent correspondant. Vous pouvez considérer les scènes comme les exécuteurs logiques d'une action, qui font le gros du travail et exécutent la logique nécessaire pour faire avancer une conversation. Les scènes s'exécutent en boucle, ce qui fournit un cycle de vie d'exécution flexible qui vous permet, entre autres, de valider les paramètres d'intent, de remplir des emplacements, de renvoyer des requêtes à l'utilisateur.
Une fois l'exécution d'une scène terminée, elle renvoie généralement aux utilisateurs une invite leur demandant de poursuivre la conversation ou, le cas échéant, d'y mettre fin.
Traitement
Lors d'un appel ou d'une conversation, votre action peut déclencher un webhook qui informe un service de fulfillment d'effectuer certaines tâches.
Figure 4. Exemple de conversation
La figure 4 explique comment utiliser le fulfillment pour générer des requêtes, qui est un moyen courant d'utiliser le fulfillment:
À des moments spécifiques de l'exécution de votre action, elle peut déclencher un webhook qui envoie une requête à un gestionnaire de webhook enregistré (votre service de fulfillment) avec une charge utile JSON.
Le traitement traite la requête, par exemple en appelant une API REST pour rechercher des données ou en validant des données à partir de la charge utile JSON. Une façon très courante d'utiliser le fulfillment consiste à générer une invite dynamique au moment de l'exécution afin que vos conversations soient mieux adaptées à l'utilisateur actuel.
Le traitement renvoie une réponse à votre action contenant une charge utile JSON. Elle peut utiliser les données de la charge utile pour poursuivre son exécution et répondre à l'utilisateur.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/26 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 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."]]