Alexa Conversations FAQ
The following frequently asked questions (FAQ) are common questions about Alexa Conversations.
- When to use Alexa Conversations
- Annotating dialogs
- Building the skill model
- Related topics
When to use Alexa Conversations
- Q: What are the key capabilities and use cases that Alexa Conversations supports?
- Alexa Conversations helps users experience natural conversations with Alexa. Alexa Conversations uses AI to bridge the gap between experiences that you can build manually and the vast range of possible conversations. You provide sample dialogs that show your expected interactions and you provide templates for the APIs you need called, and the Alexa Conversations AI extrapolates the spectrum of phrasing variations and dialog paths. Instead of identifying and coding every possible way users might engage your skill, the Alexa Conversations AI creates the permutations and handles dialog state management, context carry-over, and corrections for you. Alexa Conversations is especially useful for use cases where the conversation can take a number of unanticipated paths while the user talks naturally to the skill, such as when choosing a movie, ordering food, and making a reservation.
- Q: Are all types of skills a good match for Alexa Conversations?
- Consider using Alexa Conversations if:
- You're a published voice developer who has experience with Node.js or Python, and you're familiar with the basic constructs of artificial intelligence and machine learning.
- Your skill is goal-based, such as for booking transportation, buying tickets, providing recommendations, or ordering food
- Your skill has open-ended, back-and-forth interactions with the user and requires collecting several complex data points to accomplish the user goal
- You can't manage all potential user interactions and states in your skill code to create a flexible, natural experience for users
- You don't want to write code to manage the state for all use interactions
Alternately, you can build your skill using intent-based dialog management as described in Create the Interaction Model for Your Skill and Define the Dialog to Collect and Confirm Required Information. Use intent-based dialog management if:
- Your skill requires a specific workflow and pre-determined dialog path
- You want to maintain complete control over turn-by-turn state management within your skill code
- Q: Can I use Alexa Conversations with the Alexa Web API for games?
- No. Alexa Conversations responses aren't compatible with the Alexa Web API for games.
- Q: What skill types does Alexa Conversations support?
- You use Alexa Conversations with the custom skill type.
- Q: Can an existing skill use Alexa Conversations?
- Yes. You can have Alexa Conversations handle some of the dialog management for a custom skill that uses an intent-based interaction model. Use the
Dialog.DelegateRequestdirective to transition dialog management between Alexa Conversations and the skill code. For details, see Steps to Add Alexa Conversations to an Existing Skill and Hand off Dialog Management to and from Alexa Conversations.
- Q: Can I use Alexa Conversations with the Alexa Skills Kit Command-Line Interface (ASK CLI)?
Currently, the ASK CLI doesn't support Alexa Conversations. However, you can use the AWS CLI to automate deploying your skill code to AWS Lambda.
- Q: Is there a way to insert turns in an existing dialog, or do I have to create a new dialog?
You can add a user turn or an Alexa turn to an existing dialog, and then click the left side of the utterance to drag it where you want it to go.
- Q: I created all my utterance sets, API definitions, and responses. Can I build the model without annotating my dialogs first?
No, you can't build the model without annotating your dialogs. As a workflow, start by entering your dialogs and then creating the required components inline as you annotate the dialogs. For the recommended development flow, see Best Practices for Authoring Dialogs in Alexa Conversations.
- Q: Is it possible to have a certain slot required in one dialog and optional in another dialog? Does each dialog needs its own API definition?
Yes. Slots are required or optional with respect to APIs, and dialogs are essentially trying to fulfill the goal of invoking APIs with the required data. Therefore, in this case, you need to define two APIs and use them in the respective dialogs.
Building the skill model
- Q: Why does it take more time to build models with Alexa Conversations?
- Alexa Conversations generates synthetic data to handle dialog variations. These models generally take more time to build when compared to interaction model builds. Light model builds take less than ten minutes and high-fidelity model builds take approximately 20 minutes. You might encounter a high traffic congestion message during builds. In these situations, try again after some time or reach out to us on the Alexa Community Slack Channel (sign in or join) or the Alexa Skills Kit developer forum.
- Q: Do I need to rebuild the skill model after I update APLA and APL documents?
- Yes. For the changes to take effect, you must rebuild the skill model.
- Q: Is there a maximum number of dialogs per skill?
There isn't a hard limit on the number of dialogs per skill, but we recommend that you keep the number of dialogs under 120. If the number of dialogs increases beyond 120, the developer portal has a greater chance of timing out during the build process.
Keep in mind that the number of dialogs you need typically increases with the number of APIs you have. For example, if your skill has 10 APIs, you typically don't need to provide more than 30 dialogs.
- Q: Is there a maximum number of APIs per skill?
There isn't a hard limit on the number of APIs per skill, but we recommend that you keep the number of APIs under 45. The number of APIs, along with the number of Alexa responses, for a given dialog determine the model build time. We've observed that a skill with 120 dialogs and 45 APIs has a light model build time of about 4.5 minutes, and a full model build time of about 28 minutes.
- Q: Is there a maximum number of dialog turns I should use in a dialog?
We recommend that you use the approximate number of dialog turns that you expect in the typical use of your skill. In other words, dialogs should reflect how you expect users to interact with your skill. The length of a typical dialog depends on your skill functionality. If you expect both short and long dialogs, you should provide both types of dialogs for your skill.
- Q: Is there an advantage to using fewer dialogs with more dialog turns or more dialogs with fewer turns?
There is no advantage to using one over the other. We recommend you use the type of dialog that you expect your typical user to have as they use your skill.