vania-janet/multiturn-rag-retrieval-data huggingface dataset:
[More icon](https://cloud.ibm.com/docs-content/v1/content/417db917d18067d9dcc4cf2612564a9a87c3ddc8/assistant/images/kebab.png) icon on the folder, and then select Add node to folder.

The dialog node is added to the end of the dialog tree within the folder.









 Deleting a folder 

You can delete either a folder alone or the folder and all of the dialog nodes in it.

To delete a folder, complete the following steps:



1. From the tree view of the Dialog tab, find the folder that you want to delete.
2. Click the More![More icon](https://cloud.ibm.com/docs-content/v1/content/417db917d18067d9dcc4cf2612564a9a87c3ddc8/assistant/images/kebab.png) icon on the folder, and then select Delete.
3. Do one of the following things:



* To delete the folder only, and keep the dialog nodes that are in the folder, deselect the Delete the nodes inside the folder checkbox, and then click Yes, delete it.
* To delete the folder and all of the dialog nodes in it, click Yes, delete it.





If you deleted the folder only, then the nodes that were in the folder are displayed in the dialog tree in the spot where the folder used to be.







 Dialog node limits 

The number of dialog nodes you can create per skill depends on your plan type.



Plan details

 Plan Dialog nodes per skill 

 Enterprise 100,000 
 Premium (legacy) 100,000 
 Plus 100,000 
 Trial 25,000 
 Lite 25,000 



The welcome and anything_else dialog nodes that are prepopulated in the tree do count toward the total.

Tree depth limit: The dialog supports 2,000 dialog node descendants; the dialog performs best with 20 or fewer.





 Finding a dialog node by its node ID
As it travels down the tree, if your assistant finds a condition that is met, it triggers that node. It then moves along the triggered node to check the user input against any child node conditions. As it checks the child nodes it moves again from the first child node to the last.

Your assistant continues to work its way through the dialog tree from first to last node, along each triggered node, then from first to last child node, and along each triggered child node until it reaches the last node in the branch it is following.

![Shows arrow 1 pointing from the first root node to the last, arrow 2 pointing from along the length of a triggered node, and arrow 3 pointing from the first to the last child nodes of the triggered node.](https://cloud.ibm.com/docs-content/v1/content/417db917d18067d9dcc4cf2612564a9a87c3ddc8/assistant/images/node-flow.png)

When you start to build the dialog, you must determine the branches to include, and where to place them. The order of the branches is important because nodes are evaluated from first to last. The first root node whose condition matches the input is used; any nodes that come later in the tree are not triggered.

When your assistant reaches the end of a branch, or cannot find a condition that evaluates to true from the current set of child nodes it is evaluating, it jumps back out to the base of the tree. And once again, your assistant processes the root nodes from first to the last. If none of the conditions evaluates to true, then the response from the last node in the tree, which typically has a special anything_else condition that always evaluates to true, is returned.

You can disrupt the standard first-to-last flow in the following ways:



* By customizing what happens after a node is processed. For example, you can configure a node to jump directly to another node after it is processed, even if the other node is positioned earlier in the tree.
The previous public endpoint domain was watsonplatform.net.

For more information, see the [API reference](https://cloud.ibm.com/apidocs/assistant/assistant-v2service-endpoint).

These URLs do not introduce a breaking change. The new URLs work both for your existing service instances and for new instances. The original URLs continue to work on your existing service instances for at least one year (until December 2020).
* For more information, see [Authenticating to Watson services](https://cloud.ibm.com/docs/watson?topic=watson-iam).







 26 November 2019 

Disambiguation is available to everyone
: Disambiguation is now available to users of every plan type.

The following changes were made to how it functions:



* The text that you add to the dialog node name field now matters.
* The text in the node name field might be shown to customers. The disambiguation feature shows it to customers if the assistant needs to ask them to clarify their meaning. The text you add as the node name must identify the purpose of the node clearly and succinctly, such as Place an order or Get plan information.

If the External node name field exists and contains a summary of the node's purpose, then its summary is shown in the disambiguation list instead. Otherwise, the dialog node name content is shown.



* Disambiguation is enabled automatically for all nodes. You can disable it for the entire dialog or for individual dialog nodes.
* When testing, you might notice that the order of the options in the disambiguation list changes from one test run to the next. Don't worry; this new behavior is intended. As part of work being done to help the assistant learn automatically from user choices, the order of the options in the disambiguation list is being randomized on purpose. Changing the order helps to avoid bias that can be introduced by a percentage of people who always pick the first option without first reviewing their choices.









 12 November 2019 

Slot prompt JSON editor
When a language model needs to be trained, such as after intents are edited, the NLU microservice calls the Master microservice. When the updated model is available, NLU calls the TAS microservice to analyze the user input that is provided by the customer. The workspace ID has a UUID format. The internal IDs of models in the language understanding pipeline typically follows the regular expression pattern, vn-[0-9a-f]-[0-9a-f].
* CLU Embedding: Provides the word embeddings for other microservices in the language understanding pipeline. The TAS, ED-MM, and training pods call the CLU Embedding microservice by using the gRPC protocol.
* Dialog: Processes the dialog tree that is defined in a dialog skill to generate responses to user inputs. Based on the context (variables that are passed from previous conversation turns) and the intents and entities that are recognized in the user input, this service follows the dialog tree in the skill to find an appropriate response. Dialog is also responsible for making programmatic callouts to other services or programs. This microservice, which is sometimes referred to as the Dialog runtime, is a LiteLinks server that is called by the Store microservice. It has in-memory cache for dialog skills and uses Redis as the cache for dialog skills.
* ED-MM: Recognizes contextual entities in user input. This microservice is part of the language understanding pipeline. ED-MM stands for Entities Distro model mesh. The Watson Assistant service's implementation of the ED-MM microservice is based on the model-mesh pattern. (For more information, see [Model mesh](https://cloud.ibm.com/docs/assistant-data?topic=assistant-data-architecturearchitecture-model-mesh).) The ED-MM microservice is called by the TAS microservice to evaluate user input only if the dialog skill that is being processed has contextual entities in its training data. Contextual entities are bound to a context.
See [Adding conditions to Found and Not found responses](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-slotsdialog-slots-handler-next-steps) for more details.
* The interface you use to add conditional responses to a node has been redesigned to make it easier to list each condition and its response. To add node-level conditional responses, click Customize, and then enable the Multiple responses option.



The Multiple responses toggle sets the feature on or off for the node-level response only. It does not control the ability to define conditional responses for a slot. The slot multiple response setting is controlled separately.



* To keep the page where you edit a slot simple, you now select menu options to a.) add a condition that must be met for the slot to be processed, and b.) add conditional responses for the Found and Not found conditions for a slot. Unless you choose to add this extra functionality, the slot condition and multiple responses fields are not displayed, which declutters the page and makes it easier to use.







 25 October 2017 

Updates to Simplified Chinese
: Language support has been enhanced for Simplified Chinese. This includes intent classification improvements using character-level word embeddings, and the availability of system entities. Note that the Watson Assistant service learning models may have been updated as part of this enhancement, and when you retrain your model any changes will be applied.

Updates to Spanish
: Improvements have been made to Spanish intent classification, for very large datasets.





 11 October 2017 

Updates to Korean
: Language support has been enhanced for Korean. Note that the Watson Assistant service learning models may have been updated as part of this enhancement, and when you retrain your model any changes will be applied.





 3 October 2017 

Pattern-defined entities (Beta)
: You can now define specific patterns for an entity, using regular expressions. This can help you identify entities that follow a defined pattern, for example SKU or part numbers, phone numbers, or email addresses. See [Pattern-defined entities](https://cloud.ibm.com/docs/assistant?topic=assistant-entitiesentities-patterns) for additional details.
This example uses the text_to_speech response type with the configure command to change the voice used by the Text to Speech service.

{
"output": {
"generic": [
{
"response_type": "text_to_speech",
"command_info": {
"type": "configure",
"parameters" : {
"synthesize": {
"voice": "en-US_LisaVoice"
}
}
},
"channels":
{
"channel": "voice_telephony"
}
]
}
]
}
}
Show more







 speech_to_text 

Sends a command to the Speech to Text service instance used by the phone integration. These commands can dynamically change the configuration or behavior of the service during a conversation.



 Fields 



 Name Type Description Required? 

 response_type string speech_to_text Y 
 command_info object Information specifying the command to send to the Speech to Text. Y 
 command_info.type string The command to send (currently only the configure command is supported). Y 
 command_info.parameters object See [Applying advanced settings to the Speech to Text service](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-voice-actionsdialog-voice-actions-speech-advanced) N 



The command_info.type field can specify any of the following supported commands:



* configure: Dynamically updates the Speech to Text configuration. Configuration changes can be applied only to the next conversation turn, or for the rest of the session.



For detailed information about how to this command, see [Applying advanced settings to the Speech to Text service](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-voice-actionsdialog-voice-actions-speech-advanced).





 Example 

This example uses the speech_to_text response type with the configure command to change the language model used by the Text to Speech service to Spanish, and to enable smart formatting.
* [Japanese symbols](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-jaSymbols)
* [Korean symbols](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-koSymbols-new)
* [Portuguese (Brazilian) symbols](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-ptSymbols)
* [Spanish symbols](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-esSymbols)
* Obsolete phonetic symbols



* [Dutch (Netherlands) symbols (obsolete)](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-nlSymbols)
* [English (Australian) symbols (obsolete)](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-auSymbols)
* [Korean symbols (obsolete)](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-koSymbols)





* Security topics



* [Information security](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-information-security)
* [Protecting sensitive information in your Watson service](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-keyservice)
* [Public and private network endpoints](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-public-private-endpoints)
* [Virtual Private Endpoints](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-virtual-private-endpoints)



* Service background
If you want to use the same dialog for an assistant that you deploy to many different platforms, add custom responses per integration type. You can add a conditioned response that tells the assistant to show the response only when the SMS with Twilio integration is being used. For more information, see [Building integration-specific responses](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-integrationsdialog-integrations-condition-by-type).

For reference documentation, see [Handling SMS with Twilio interactions](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-sms-actions).





 Troubleshooting 

Find solutions to problems that you might encounter while using the integration.



* If you get a Forbidden message, it means the phone number that you specified when you configured the integration cannot be verified. Make sure the number fully matches the SMS phone number.
* [Rich responses](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-overviewdialog-overview-multimedia)
* [Conditional responses](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-overviewdialog-overview-multiple)





 Simple text response 

If you want to provide a text response, simply enter the text that you want your assistant to display to the user.

!![Shows a node that shows a user ask, Where are you located, and the dialog response is, We have no brick and mortar stores But, with an internet connection, you can shop us from anywhere.](https://cloud.ibm.com/docs-content/v1/content/417db917d18067d9dcc4cf2612564a9a87c3ddc8/assistant/images/response-simple.png)

To include a context variable value in the response, use the syntax $variable_name to specify it. See [Context variables](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-runtime-context) for more information. For example, if you know that the $user context variable is set to the current user's name before a node is processed, then you can refer to it in the text response of the node like this:

Hello $user

If the current user's name is Norman, then the response that is displayed to Norman is Hello Norman.

If you include one of these special characters in a text response, escape it by adding a backslash () in front of it. If you are using the JSON editor, you need to use two backslashes to escape (\). Escaping the character prevents your assistant from misinterpreting it as being one of the following artifact types:



Special characters to escape in responses

 Special character Artifact Example 

 $ Context variable The transaction fee is $2. 
 @ Entity Send us your feedback at feedback@example.com. 
 Intent We are the 1 seller of lobster rolls in Maine. 



The built-in integrations support the following Markdown syntax elements:



Supported markdown syntax
* Option: Adds a list of one or more options. When a user clicks one of the options, an associated user input value is sent to your assistant. How options are rendered can differ depending on the number of options and where you deploy the dialog.
* Pause: Forces the application to wait for a specified number of milliseconds before continuing with processing. You can choose to show an indicator that the assistant is working on typing a response. Use this response type if you need to perform an action that might take some time.
* Search skill: ![Plus or higher plans only](https://cloud.ibm.com/docs-content/v1/content/417db917d18067d9dcc4cf2612564a9a87c3ddc8/assistant/images/plus.png) Searches an external data source for relevant information to return to the user. The data source that is searched is a Discovery service data collection that you configure when you add a search skill to the assistant that uses this dialog skill.

This response type is available only to users of paid plans.
* User-defined: If you use the JSON editor to define the response, you can create your own user-defined response type. For more information, see [Defining responses using the JSON editor](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-responses-json).



Different integrations have different capabilities for displaying rich responses. If you want to define different responses that are customized for different channels, you can do so by editing the response using the JSON editor. For more information, see [Targeting specific integrations](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-responses-jsondialog-responses-json-target-integrations).

To add a rich response, complete the following steps:



1. Click the dropdown menu in the Assistant responds field to choose a response type, and then provide any required information.

For more information, see the following sections:
You cannot rename or delete an intent with this name; to change the name, export your intents to a file, rename the intent in the file, and import the updated file into your workspace. Paying customers can contact support for a database change.





 1 March 2017 

System entities are now enabled in German
: System entities are now enabled in German.





 22 February 2017 

Messages are now limited to 2,048 characters
: Messages are now limited to 2,048 characters.





 3 February 2017 

Updates
: This release includes the following updates:



* We changed how intents are scored and added the ability to mark input as irrelevant to your application. For details, see [Defining intents](https://cloud.ibm.com/docs/assistant?topic=assistant-intents) and search for Mark as irrelevant.
* This release introduced a major change to the workspace. To benefit from the changes, you must manually upgrade your workspace.
* The processing of Jump to actions changed to prevent loops that can occur under certain conditions. Previously, if you jumped to the condition of a node and neither that node nor any of its peer nodes had a condition that was evaluated as true, the system would jump to the root-level node and look for a node whose condition matched the input. In some situations this processing created a loop, which prevented the dialog from progressing.



Under the new process, if neither the target node nor its peers is evaluated as true, the dialog turn is ended. To reimplement the old model, add a final peer node with a condition of true. In the response, use a Jump to action that targets the condition of the first node at the root level of your dialog tree.





 11 January 2017 

Customize node titles
: In this release, you can customize node titles in dialog.





 22 December 2016 

Node title section
: In this release, dialog nodes display a new section for node title. The ability to customize the node title is not available. When collapsed, the node title displays the node condition of the dialog node. If there is not a node condition, "Untitled Node" is displayed as the title.





 19 December 2016
An intent represents the action a user wants to do. An entity represents the object of that action. [Learn more](https://cloud.ibm.com/docs/assistant?topic=assistant-entities). 
 Integrations Ways you can deploy your assistant to existing platforms or social media channels. [Learn more](https://cloud.ibm.com/docs/assistant?topic=assistant-deploy-integration-add). 
 Intent The goal that is expressed in the user input, such as answering a question or processing a bill payment. [Learn more](https://cloud.ibm.com/docs/assistant?topic=assistant-intents). 
 Message A single turn within a conversation that includes a single call to the /message API endpoint and its corresponding response. 
 Monthly active user (MAU) A single unique user who interacts with an assistant one or many times in a given month. 
 Preview Embeds your assistant in a chat window that is displayed on an IBM-branded web page. From the preview, you can test how a conversation flows through any and all skills that are attached to your assistant, from end to end. [Learn more](https://cloud.ibm.com/docs/assistant?topic=assistant-deploy-web-link). 
 Response Logic that is defined in the Assistant responds section of a dialog node that determines how the assistant responds to the user. When the node's condition evaluates to true, the response is processed. The response can consist of an answer, a follow-up question, a webhook that sends a programmatic request to an external service, or slots which represent pieces of information that you need the user to provide before the assistant can help. The dialog node response is equivalent to a Then statement in If-Then-Else programming logic. 
 Skill Does the work of the assistant. A dialog skill has the training data and dialog that your assistant uses to chat with customers. An actions skill is a new way to build a conversation. Actions offer step-by-step flows for a conversations and are made so that anybody can build them. A search skill is configured to search the appropriate external data sources for answers to customer questions.
Step 2: Answer questions about the restaurant 

Add an intent that recognizes when customers ask for details about the restaurant itself. An intent is the purpose or goal expressed in user input. The General_About_You intent that is provided with the General content catalog serves a similar function, but its user examples are designed to focus on queries about the assistant as opposed to the business that is using the assistant to help its customers. So, you will add your own intent.



 Add the about_restaurant intent 



1. From the Intents tab, click Create intent.

![Shows the the Create intent button on the Intents page.](https://cloud.ibm.com/docs-content/v1/content/417db917d18067d9dcc4cf2612564a9a87c3ddc8/assistant/images/gs-ass-intent-add.png)
2. Enter about_restaurant in the Intent name field, and then click Create intent.

![Shows the #about_restaurant intent being added.](https://cloud.ibm.com/docs-content/v1/content/417db917d18067d9dcc4cf2612564a9a87c3ddc8/assistant/images/gs-ass-add-intent.png)
3. Add the following user examples:

Tell me about the restaurant
i want to know about you
who are the restaurant owners and what is their philosophy?
What's your story?
Where do you source your produce from?
Who is your head chef and what is the chef's background?
How many locations do you have?
do you cater or host functions on site?
Do you deliver?
Are you open for breakfast?
4. Click the Close!
An application contains related assets, such as books, views, and websheets, that are grouped in sections. These sections might reflect the structure of your organization, planning and budgeting requirements, or any other relevant grouping of assets. While an application contains logically related assets, there are no implied or required actions associated with the assets or sections in an application.
* [Plans](https://www.ibm.com/docs/planning-analytics/2.0.0?topic=work-plans)

A plan contains assets that are grouped in steps. These steps can represent discrete tasks or contributions that must be completed in a planning or budgeting process. Each step in a plan must be completed by contributing data to the books, views, and websheets in the step.