vania-janet/multiturn-rag-retrieval-data huggingface dataset:
Debugging projects 

Use the troubleshooting tips to learn how to troubleshoot Code Engine projects.

To understand how to create, work with, and delete projects, see [Managing projects](https://cloud.ibm.com/docs/codeengine?topic=codeengine-manage-project).



 Project limits to consider 

The maximum number of projects that you can create per region is 20. For more information about limits for projects, see [Project quotas](https://cloud.ibm.com/docs/codeengine?topic=codeengine-limitsproject_quotas).

The maximum number of projects includes projects that are active and any projects that are not permanently deleted, such as projects that are soft deleted. A project that is soft deleted can be restored within 7 days before it is permanently deleted.

When working with the console, review your defined projects from the [Projects page on the Code Engine console](https://cloud.ibm.com/codeengine/projects). This listing includes the region where your project lives. From this page, you can delete projects as needed. When you delete a project from the console, the project is soft deleted. The deleted project does not display from the Projects page.

When working with the CLI, use the [project list](https://cloud.ibm.com/docs/codeengine?topic=codeengine-clicli-project-list) command to display all your projects. The output of this command displays the region where your project lives.

Use the [project delete](https://cloud.ibm.com/docs/codeengine?topic=codeengine-clicli-project-delete) command to delete a project. In the CLI, you can delete a project by specifying the name of the project or by specifying the project id. If you specify the --name of the project, you must be working in the same region where the project lives. If you specify the --id of the project, you are not required to be in the same project to issue the project delete command.
This documentation is for the classic Watson Assistant experience. To see the documentation for the new Watson Assistant, please go [here](https://cloud.ibm.com/docs/watson-assistant).



 Managing workflow with versions 

Versions help you manage the workflow of a dialog skill development project.

Create a skill version to capture a snapshot of the training data (intents and entities) and dialog in the skill at key points during the development process. Being able to save an in-progress skill at a specific point in time is especially useful as you start to fine tune your assistant. You often need to make a change and see the impact of the change in real time before you can determine whether or not the change improves or lessens the effectiveness of the assistant. Based on your findings from a test environment deployment, you can make an informed decision about whether to deploy a given change to an assistant that is deployed in a production environment.

If you have a free (Lite) plan, you cannot create skill versions.

To learn more about how versions can improve the workflow you use to build an assistant, [read this blog post](https://medium.com/ibm-watson/watson-assistant-versions-announcement-d60869b1f5f).



 Creating a version 

You can edit only one version of the dialog skill at a time. The in-progress version is called the development version.

When you save a version, any skill settings that you applied to the development version are saved also.

To create a dialog skill version, follow these steps:



1. From the header of the skill, click Save new version, and then describe the current state of the skill.

Adding a good description will help you to distinguish multiple versions from one another later.

Add the date you deploy the version to its description to make it easier to filter logs by version from the Analytics page later. For more information, see [Picking a data source](https://cloud.ibm.com/docs/assistant?topic=assistant-logslogs-pick-data-source).
2. Click Save.



A snapshot is taken of the current skill and saved as a new version.
[190-Application-Platform.svg](https://cloud.ibm.com/media/docs/images/homepage/190-Application-Platform.svg)](https://www.ibm.com/cloud/architecture)[IBM Training<br><br>Build your skills with IBM Cloud training.<br><br>![83-Elements-of-the-cloud.svg](https://cloud.ibm.com/media/docs/images/homepage/83-Elements-of-the-cloud.svg)](https://www.ibm.com/training/cloud)[Community<br><br>Join the IBM Cloud community and collaborate with others.<br><br>![35-Connectivity.svg](https://cloud.ibm.com/media/docs/images/homepage/35-Connectivity.svg)](https://community.ibm.com/community/user/publiccloud/home)
The number of validation responses you can enter depends upon the value in the If attempts exceed field.
* In the If attempts exceed field, click + or -, or directly edit the number, to change how many consecutive attempts the customer can make before the Fallback action is triggered. Or, if you enabled [response modes](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-action-response-modes), you can use the number of step validation attempts from the response mode that you are using.
* Select Repeat Assistant Says response if you want the customer to see or hear the original question. For example, following a validation message of I’m sorry, please choose a day when we are open, the assistant repeats When do you want to visit? We are open Monday through Friday.





For date, time, and numeric customer responses, you can customize the validation to check for a specific answer, such as a range of dates or a limited currency amount. Each choice is optional so that you can build a validation specific to the response.



Validation choices

 Response type Validation choices 

 Number Minimum, maximum 
 Date After date, before date, specific days of the week 
 Time Start time, end time 
 Currency Minimum, maximum 
 Percentage Minimum, maximum 









 When your customer asks to speak to a live agent 

At any point in the conversation, your customer might ask to speak to a live agent. The built-in Fallback action is preconfigured with example input that detects such requests; you can edit the Customer starts with section of the Fallback action to add more examples. You can also upload or download examples phrases in a comma-separated value (CSV) file, just like you can when building your own actions. For more information on uploading or downloading example phrases, see [Adding more examples](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-understand-questionsunderstand-questions-adding-more-examples).







 Editing the fallback action 

The built-in Fallback action is automatically provided with each assistant and cannot be deleted. However, you can edit the Fallback action to modify the conversation your users have with the assistant when errors occur.
Example of limiting access to one assistant 

This example explains how to follow the steps in [Adding users from the Manage menu](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-access-controlaccess-control-add-users) and set specific resources that limit a user to building and publishing actions in one assistant. For each user, you need to add three access policies that identify the service instance, assistant ID, and skill ID. (Use Assistant settings to get the ID values for your assistant and action skill.)

This table lists the values that you need to add for each policy:



Settings to limit access to one assistant

 Policy Specific resources Value Service role Platform role 

 1 Service Instance Choose the instance that includes the assistant None Viewer 
 2 Resource Type Assistant ID Manager None 
 2 Assistant, Environment, or Skill ID ID for the assistant Manager None 
 3 Resource Type Skill ID Manager None 
 3 Assistant, Environment, or Skill ID ID for the action skill Manager None 



The access policies for your user should look like this example:

Zoom

![Access policies example](https://cloud.ibm.com/docs-content/v1/content/ca9232b3702768f24bb897f48f10778fcda28718/watson-assistant/images/access-control-policies-example.png)

Access policies example

With this set of access policies, your user can build and publish actions in one assistant. The user can't add integrations because the service instance is set to Reader. The user has read-only access to other assistants but can't build or publish actions.
However, existing deployments are not affected and do not need to be modified or redeployed at this time.

Fallback value for session variables
: In action skills, you can now set a fallback value for session variables. This feature lets you to define a value for a session variable if a user-defined value isn't found.





 16 July 2021 

Logging API changes
: The internal storage and processing of logs has changed. Some undocumented fields or filters might no longer be available. (Undocumented features are not officially supported and might change without notice.)

New API version
: The current API version (v1 and v2) is now 2021-06-14. The following changes were made with this version:



* The metadata property of entities detected at run time is deprecated. For detailed information about detected system entities, see the interpretation property.
* The data types of certain entity mentions are no longer automatically converted:



* Numbers in scientific notation (such as 1E10), which were previously converted to numbers
* Boolean values (such as false), which were previously converted to booleans





These values are now returned as strings.





 17 June 2021 

Actions skill now generally available
: As of this release, the beta program has ended, and actions skills are available for general use.

An actions skill contains actions that represent the tasks you want your assistant to help your customers with. Each action contains a series of steps that represent individual exchanges with a customer. Building the conversation that your assistant has with your customers is fundamentally about deciding which steps, or which user interactions, are required to complete an action. After you identify the list of steps, you can then focus on writing engaging content to turn each interaction into a positive experience for your customer.

Date and time response types
: New to action skills, these response types allow you to collect date and time information from customers as they answer questions or make requests.

New built-in variables
: Two kinds of built-in variables are now available for action skills.



* Set by assistant variables include the common and essential variables Now, Current time, and Current date.
You can create new roles that are scoped to single services. This means that you can't combine actions for two different services in a custom role, but you can combine as many actions that you want into a new role for a single service. After you create a custom role with a name of your choosing, anyone in the account who can assign access to a particular service can use that role when assigning access.

Custom roles can be created only for individual IAM-enabled services. A custom role can't be created for the options of all account management services or all IAM-enabled services.



1. In the IBM Cloud® console, go to Manage > Access (IAM), and select Roles.
2. Click Create.
3. Enter a name for your role. This name must be unique within the account. Users see this role name in the console when they assign access to the service.
4. Enter an ID for the role. This ID is used in the CRN, which is used when assigning access by using the API. The role ID must begin with a capital letter and use alphanumeric characters only.
5. Optional: Enter a succinct and helpful description that helps the users who are assigning access know what level of access this role assignment gives a user. This description also shows in the console when a user assigns access to the service.
6. Select a service that you want to create the role for.
7. Review the available actions, and select Add for all actions that you want in your new role.

You must add at least one service-defined action to successfully create the new role. If you aren't sure which actions are defined by the service, look in the Type column.
8. Click Create when you're done adding actions.



If a service removes an action that you use in a custom role, the custom role is not updated, and might not be valid anymore if the role contained only the removed actions.

If you plan to delete a custom role because it is no longer needed, you must be assigned the Administrator role on the Role management service.
Managing and organizing your actions 

Use different Watson Assistant capabilities to manage your actions workflow within a single assistant and between multiple assistants.



Tasks

 Task                                        You can                                                                                                                                                                                                   

 [Duplicating an action](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-duplicate-action)                   Duplicate an action to reuse information in a new action. When you duplicate an action, the new action includes everything except example phrases.                                                        
 [Copying an action to another assistant](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-copy-action)  Copy an action from one assistant to another. When you copy an action, references to other actions, variables, and saved responses are also copied.                                                       
 [Uploading or downloading all actions](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-upload-download-actions)    Upload or download all your actions as a JSON file.                                                                                                                                                       
 [Organizing actions in collections](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-collections)       Use a collection to organize your actions. You can put actions into folder-style groups based on whatever categorization you need at your organization, such as by use case, internal team, or status.
(https://cloud.ibm.com/docs-content/v1/content/417db917d18067d9dcc4cf2612564a9a87c3ddc8/assistant/images/reservation.png)

The user might provide values for mutliple slots at once. For example, the input might include the information, There will be 6 of us dining at 7 PM. This one input contains two of the missing required values: the number of guests and time of the reservation. Your assistant recognizes and stores both of them, each one in its corresponding slot. It then displays the prompt that is associated with the next empty slot.

![Shows that two slots are filled, and the service prompts for the remaining one.](https://cloud.ibm.com/docs-content/v1/content/417db917d18067d9dcc4cf2612564a9a87c3ddc8/assistant/images/pass-in-info.png)

Slots make it possible for your assistant to answer follow-up questions without having to reestablish the user's goal. For example, a user might ask for a weather forecast, then ask a follow-up question about weather in another location or on a different day. If you save the required forecast variables, such as location and day, in slots, then if a user asks a follow-up question with new variable values, you can overwrite the slot values with the new values provided, and give a response that reflects the new information. (For more information about how to call an external service from a dialog, see [Making programmatic calls from a dialog node](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-webhooks)).

![Shows someone asking for a weather forecast, and then following up with a question about weather for a different location and time.]
Tutorial: Adding a node with slots to a dialog 

In this tutorial, you will add slots to a dialog node to collect multiple pieces of information from a user within a single node. The node you create will collect the information that is needed to make a restaurant reservation.



 Learning objectives 

By the time you finish the tutorial, you will understand how to:



* Define the intents and entities that are needed by your dialog
* Add slots to a dialog node
* Test the node with slots





 Duration 

This tutorial will take approximately 30 minutes to complete.





 Prerequisite 

Before you begin, complete the [Getting Started tutorial](https://cloud.ibm.com/docs/assistant-data?topic=assistant-data-getting-started). You will use the Watson Assistant tutorial skill that you created, and add nodes to the simple dialog that you built as part of the getting started exercise.

You can also start with a new dialog skill if you want. Just be sure to create the skill before you begin this tutorial.







 Step 1: Add intents and examples 

Add an intent on the Intents tab. An intent is the purpose or goal that is expressed in user input. You will add a #reservation intent that recognizes user input that indicates that the user wants to make a restaurant reservation.



1. From the Intents page of the tutorial skill, click Add intent.
2. Add the following intent name, and then click Create intent:

reservation

The #reservation intent is added. A number sign () is prepended to the intent name to label it as an intent. This naming convention helps you and others recognize the intent as an intent. It has no example user utterances associated with it yet.
3. In the Add user examples field, type the following utterance, and then click Add example:

i'd like to make a reservation
4. Add these additional examples to help Watson recognize the reservation intent.

I want to reserve a table for dinner
Can 3 of us get a table for lunch?
do you have openings for next Wednesday at 7?
Is there availability for 4 on Tuesday night?
Your customers interact with assistants on the live environment and cannot interact with assistants on the draft environment. You can build and iterate on your content separately from what your customers see. You do not want customers to stumble upon an incomplete action that leads them to a dead end.

For Enterprise plans, you can add up to three environments as a staging area to test your assistant before deployment. You can build content in the draft environment and test versions of your content in the extra environments. For more information, see [Adding and using multiple environments](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-multiple-environments).





 The draft environment 

The draft environment contains all your in-progress work in the Actions, Preview, and Publish pages. Use the Draft environment tab to manage the draft environment, including adding draft environment integrations (channels and extensions) that you can use for internal testing before deployment. These integrations are unique to the draft environment, and changes to draft integrations don't affect the live environment.

Zoom

![Draft environment](https://cloud.ibm.com/docs-content/v1/content/ca9232b3702768f24bb897f48f10778fcda28718/watson-assistant/images/draft-environment-page.png)

Draft environment

You can click Preview this environment to open another browser tab and see the draft environment as a sample web chat.

For more information about previewing your assistant in the draft environment, see [Previewing and sharing your assistant](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-preview-share).





 Publishing 

When you are ready to create a snapshot of your content and settings, you can publish from the Publish page. Each time that you publish, you create a new version, such as V1 or V2.

Zoom

!
You can even bundle the group of actions that you create to form a package. With a package, you can reuse common actions or sequences by calling the package instead of configuring the action or sequence again.

What is a sequence?

A set of actions can be chained together into a sequence without having to write any code. A sequence is a chain of actions, invoked in order, where the output of one action is passed as input to the next action. By creating a sequence, you can combine existing actions together for quick and easy reuse. A sequence can then be invoked just like any other action. For more information about sequences, see [Creating sequences](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-sequences).

What is a web action?

A web action is an action that can be invoked without authentication and can be used to implement HTTP handlers that respond with headers, status code, and body content of different types. For more information, see [Creating a web action](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-actions_web).
Backup copies of all smart cards need to be created and stored in a safe place. It is suggested that you order 10 or 12 smart cards and initialize them this way:



* Create a certificate authority (CA) smart card and a backup certificate authority smart card.
* Create two EP11 smart cards and two backup EP11 smart cards to store two administrator signature keys. Generate administrator signature keys separately on two EP11 smart cards and copy them to other two backup smart cards.
* Create two EP11 smart cards and two backup EP11 smart cards to store two master key parts, or create three EP11 smart cards and three backup EP11 smart cards to store three master key parts. Generate EP11 master key parts separately on two or three smart cards, depending on the number of key parts when you load your master key. Copy each key part value to a backup EP11 smart card.



For calculating the number of smart cards needed, you can refer to the following formulas:



Table 1. Formulas for calculating smart cards number

 Assumptions Formula 

 <br><br> * The number of backups per smart card: x<br> * The number of administrators (1 to 8): y<br> * The number of master key parts (2 or 3): z<br> * Store administrator signature keys separately from master key parts<br><br><br> 1 (CA card) + x (CA card backups) + y (administrator signature key EP11 cards)+ y * x (administrator signature key EP11 card backups) + z (master key part EP11 cards)+ z * x (master key part EP11 card backups) = (1+x) * (1+y+z)