vania-janet/multiturn-rag-retrieval-data huggingface dataset:
New API authentication process
: The Watson Assistant service transitioned from using Cloud Foundry to using token-based Identity and Access Management (IAM) authentication in the following regions:



* Dallas (us-south)
* Frankfurt (eu-de)



For new service instances, you use IAM for authentication. You can pass either a bearer token or an API key. Tokens support authenticated requests without embedding service credentials in every call. API keys use basic authentication.

For all existing service instances, you continue to use service credentials ({username}:{password}) for authentication.





 25 October 2018 

Entity synonym recommendations are available in more languages
: Synonym recommendation support was added for the French, Japanese, and Spanish languages.





 26 September 2018 

IBM Watson® Assistant is available in IBM® Cloud Private
: IBM Watson® Assistant is available in IBM® Cloud Private





 21 September 2018 

New API version
: The current API version is now 2018-09-20. In this version, the errors[].path attribute of the error object that is returned by the API is expressed as a [JSON Pointer](https://tools.ietf.org/html/rfc6901) instead of in dot notation form.

Web actions support
: You can now call Cloud Functions web actions from a dialog node. See [Making programmatic calls from a dialog node](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-actions-client) for more details.





 15 August 2018 

Entity fuzzy matching support improvements
: Fuzzy matching is fully supported for English entities, and the misspelling feature is no longer a Beta-only feature for many other languages. See [Supported languages](https://cloud.ibm.com/docs/assistant?topic=assistant-language-support) for details.





 6 August 2018 

Intent conflict resolution
: The tool can now help you to resolve conflicts when two or more user examples in separate intents are similar to one another. Non-distinct user examples can weaken the training data and make it harder for your assistant to map user input to the appropriate intent at run time.
: The Watson Assistant service treats last and next dates as referring to the most immediate last or next day referenced, which may be in either the same or a previous week. See the [system entities](https://cloud.ibm.com/docs/assistant?topic=assistant-system-entitiessystem-entities-sys-date-time) topic for additional information.





 3 August 2017 

Fuzzy matching for additional languages (Beta)
: Fuzzy matching for entities is now available for additional languages, as noted in the [Supported languages](https://cloud.ibm.com/docs/assistant?topic=assistant-language-support) topic.

Partial match (Beta - English only)
: Fuzzy matching will now automatically suggest substring-based synonyms present in user-defined entities, and assign a lower confidence score as compared to the exact entity match. See [Fuzzy matching](https://cloud.ibm.com/docs/assistant?topic=assistant-entitiesentities-fuzzy-matching) for details.





 28 July 2017 

Updates
: This release includes the following updates:



* When you set bidirectional preferences for the tooling, you can now specify the graphical user interface direction.
* The color scheme of the tooling was updated to be consistent with other Watson services and products.







 19 July 2017 

REST API now supports access to dialog nodes
: The Watson Assistant REST API now supports access to dialog nodes. For more information, see the [API Reference](https://cloud.ibm.com/apidocs/assistant/assistant-v1?curl=listdialognodes).





 14 July 2017 

Slots enhancement
: The slots functionality of dialogs was enhanced. For example, a slot_in_focus property was added that you can use to define a condition that applies to a single slot only. See [Gathering information with slots](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-slots) for details.





 12 July 2017 

Support for Czech
For more information, see [Irrelevance detection](https://cloud.ibm.com/docs/assistant?topic=assistant-irrelevance-detection).

Time zone support for now() method
: You can now specify the time zone for the date and time that is returned by the now() method. See [Now()](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-methodsdialog-methods-dates-now).





 24 October 2019 

Testing improvement
: You can now see the top three intents that were recognized in a test user input from the "Try it out" pane. For more details, see [Testing your dialog](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-tasksdialog-tasks-test).

Error message when opening an instance
: When you launch Watson Assistant from the IBM Cloud® dashboard, you might see an error message that says, Module 'ui-router' is not available! You either misspelled the module name or forgot to load it. You can ignore the message. Refresh the web browser page to close the notification.





 16 October 2019 

The changes from 14 October are now available in Dallas.





 14 October 2019 

Deploy your assistant in minutes
: Create a web chat integration to embed your assistant into a page on your website as a chat widget. See [Integrating with your own website](https://cloud.ibm.com/docs/assistant?topic=assistant-deploy-web-chat).

UI changes
: The main menu options of Assistants and Skills have moved from being displayed in the page header to being shown as icons on the side of the page. The tabbed pages for the tools you use to develop a dialog skill were moved to a secondary navigation bar that is displayed when you open the skill.

Rich response types are supported in a dialog node with slots
: You can display a list of options for a user to choose from as the prompt for a slot, for example.

Change to switching service instances
: Where you go to switch service instances has changed.
Migrating to the v2 API 

The Watson Assistant v2 runtime API, which supports the use of assistants and skills, was introduced in November 2018. This API offers significant advantages over the v1 runtime API, including automatic state management, ease of deployment, skill versioning, and the availability of new features such as the search skill.

The v2 API is available for all users, regardless of service plan, at no additional cost.

The v2 API currently supports only runtime interaction with an existing assistant. Authoring applications that create or modify workspaces should continue to use the v1 API.



 Overview 

With the v2 API, your client app communicates with an assistant, which is an orchestration layer that offers several capabilities, including automatic state management, skill versioning, and easier deployment.

All communication with an assistant takes place within the context of a session, which maintains conversation state throughout the duration of the conversation. State data, including any context variables that are defined by your dialog or client application, are automatically stored by Watson Assistant, without any action required on the part of your application.

State data persists until you explicitly delete the session, or until the session times out because of inactivity.

If you prefer to manage state yourself, the v2 API also provides a stateless message method that functions more like the v1 API. If you use the stateless message method, you do not need to explicitly create or delete sessions, and your app is responsible for maintaining context. For more information about the stateless message method, see the [API Reference](https://cloud.ibm.com/apidocs/assistant/assistant-v2messagestateless).

If you have an existing application that uses the v1 API to send user input directly to a workspace, migrating your app to use the v2 API is a straightforward process.





 Assistant ID 

The v2 runtime API sends messages to an assistant. On the Assistant Settings page, find the assistant ID. Your application uses this ID to communicate with the assistant. The service credentials are the same for both the v1 and v2 APIs.

Currently, there is no API support for retrieving an assistant ID. To find the assistant ID, you must use the Watson Assistant user interface.
The programmatic call to the external service must meet these requirements:



* The call must be a POST HTTP request.
* The request body must be a JSON object (Content-Type: application/json).
* The call must return in 30 seconds or less.



If your external service supports only GET requests, or if you need to specify URL parameters dynamically at run time, consider creating an intermediate service that accepts a POST request with a JSON payload containing any runtime values. The intermediate service can then make a request to the target service, passing these values as URL parameters, and then return the response to the dialog.

Do not set up and test your webhook in a production environment where the assistant is deployed and is interacting with customers.

To add the webhook details, complete the following steps:



1. In your assistant, open the environment where you want to configure the webhook.
2. Click the ![Environment settings icon](https://cloud.ibm.com/docs-content/v1/content/ca9232b3702768f24bb897f48f10778fcda28718/watson-assistant/images/gear-icon-black.png) icon to open the environment settings.
3. On the Environment settings page, click Webhooks > Pre-message webhook.
4. Set the Pre-message webhook switch to Enabled.
5. Decide whether to return an error if the webhook call fails.

When enabled, everything stops until the preprocessing step is completed successfully.



* If you have a critical preprocessing step that must be taken before you want to allow the message to be processed by the assistant, enable this setting.

Take steps to test the process that you are calling on a regular basis so you will know if it's down, and can change this setting to prevent all of your message calls from failing.
* When this setting is disabled, the assistant ignores any errors it encounters and continues to process the incoming message without taking the preprocessing step. If the preprocessing step is helpful but not critical, consider keeping this setting disabled.
[View docs](https://cloud.ibm.com/docs/watson?topic=watson-keyservice) 
 [IBM Watson® Assistant](https://cloud.ibm.com/docs/assistant?topic=assistant-getting-startedgetting-started) You can use IBM Watson® Assistant to to build your own branded live chatbot into any device, application, or channel. [View docs](https://cloud.ibm.com/docs/watson?topic=watson-keyservice) 
 [IBM Watson® Natural Language Understanding](https://cloud.ibm.com/docs/natural-language-understanding?topic=natural-language-understanding-getting-startedgetting-started) You can use IBM Watson® Natural Language Understanding to analyze semantic features of text input, including categories, concepts, emotion, entities, keywords, metadata, relations, semantic roles, and sentiment. [View docs](https://cloud.ibm.com/docs/watson?topic=watson-keyservice) 
 [IBM Watson® Personality Insights](https://cloud.ibm.com/docs/natural-language-understanding?topic=natural-language-understanding-about) You can use IBM Watson® Personality Insights to analyze semantic features of text input, including categories, concepts, emotion, entities, keywords, metadata, relations, semantic roles, and sentiment. [View docs](https://cloud.ibm.com/docs/watson?topic=watson-keyservice) 







 Container service integrations 

You can integrate Key Protect with the following container services.



Table 4. Supported container services.

 Service Description Integration docs 

 [IBM Cloud Kubernetes Service](https://cloud.ibm.com/docs/containers?topic=containers-getting-started) You can use the IBM Cloud Kubernetes Service service to deploy highly available apps in Docker containers that run in Kubernetes clusters. [View docs](https://cloud.ibm.com/docs/containers?topic=containers-encryptionkeyprotect)
See [IBM Cloud global data centers](https://www.ibm.com/cloud/data-centers/) for more details.

You can create Watson Assistant service instances that are hosted in the following data center locations:



Data center locations

 Location Location code API location 

 Dallas us-south N/A 
 Frankfurt eu-de fra 
 Seoul kr-seo seo 
 Sydney au-syd syd 
 Tokyo jp-tok tok 
 London eu-gb lon 
 Washington DC us-east wdc 









 Upgrading your plan 

You can explore the Watson Assistant [service plan options](https://www.ibm.com/cloud/watson-assistant/pricing/) to decide which plan is best for you.

The page header shows the plan you are using today. To upgrade your plan, complete these steps:



1. Do one of the following things:



* Trial plan only: The number of days that are left in your trial is displayed in the page header. To upgrade your plan, click Upgrade from the page header before your trial period ends.
* For all other plan types, click Manage![user icon](https://cloud.ibm.com/docs-content/v1/content/ca9232b3702768f24bb897f48f10778fcda28718/watson-assistant/images/user-icon.png), and then choose Upgrade from the menu.



2. From here, you can see other available plan options. For most plan types, you can step through the upgrade process yourself.



* If you upgrade to an Enterprise with Data Isolation plan, you cannot do an in-place upgrade of your service instance. An Enterprise with Data Isolation plan instance must be provisioned for you first.
* When you upgrade from a legacy Standard plan, you change the metrics that are used for billing purposes. Instead of basing billing on API usage, the Plus plan bases billing on the number of monthly active users. If you built a custom app to deploy your assistant, you might need to update the app. Ensure that the API calls from the app include user ID information.
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).



  Integrating with a custom application 

If the available integration channels do not meet your needs, you can build your own client application as the interface between the assistant and your users.

See [API overview](https://cloud.ibm.com/docs/assistant?topic=assistant-api-overview) for more information.
v2 [cURL](https://cloud.ibm.com/apidocs/assistant/assistant-v2deletesession)[node](https://cloud.ibm.com/apidocs/assistant/assistant-v2?code=nodedeletesession)[java](https://cloud.ibm.com/apidocs/assistant/assistant-v2?code=javadeletesession)[python](https://cloud.ibm.com/apidocs/assistant/assistant-v2?code=pythondeletesession) 
 Send user input to assistant (stateful) Send user input to an assistant and receive a response, with conversation state (including context data) stored by Watson Assistant for the duration of the session. v2 [cURL](https://cloud.ibm.com/apidocs/assistant/assistant-v2message)[node](https://cloud.ibm.com/apidocs/assistant/assistant-v2?code=nodemessage)[java](https://cloud.ibm.com/apidocs/assistant/assistant-v2?code=javamessage)[python](https://cloud.ibm.com/apidocs/assistant/assistant-v2?code=pythonmessage) 
 Send user input to assistant (stateless) Send user input to an assistant and receive a response, with conversation state (including context data) managed by your application. v2 [cURL](https://cloud.ibm.com/apidocs/assistant/assistant-v2message-stateless)[node](https://cloud.ibm.com/apidocs/assistant/assistant-v2?code=nodemessage-stateless)[java](https://cloud.ibm.com/apidocs/assistant/assistant-v2?code=javamessage-stateless)[python](https://cloud.ibm.com/apidocs/assistant/assistant-v2?code=pythonmessage-stateless) 







 Authoring methods 



 Method Description API ver Reference 

 List workspaces List the workspaces associated with a Watson Assistant service instance.
* Multiple enviroments: If you are using [multiple environments](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-multiple-environments), channels are exposed only to your internal team for testing and not to your customers.



For more information on environments, see [Environments](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-publish-overviewenvironments) and [Adding and using multiple environments](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-multiple-environments).

You can test integrations from the draft environment and interact with your draft web chat on the Preview page. When you first create a new assistant, the assistant automatically connects to the web chat channel in your live environment. However, the assistant itself is not available to your customers until you embed the web chat JavaScript in the header of your website. For more information, see [Adding the web chat to your website](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-deploy-web-chat).





 Connecting your assistant to a new channel 

All of the channels you can connect your assistant to are available in the Integrations catalog. Two types of integrations are available from the Integrations catalog:



* Channels: The location where your assistant interacts with your users, for example, over the phone, on a website, or in Slack. At least one channel is required for every assistant.
* Extensions: Add-ons to the end experience that help solve specific user problems, for example, connecting to a human agent or searching existing help content. Extensions are not required for an assistant, but they are recommended.



When you add a channel to your assistant, at least two instances of the channel are created. One instance of the channel is connected to the draft environment and the other instance is connected to the live environment. If you are using [multiple environments](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-multiple-environments), instances of the channel are added to your extra environments.
The science behind the service 

The IBM Watson® Text to Speech service offers only voices that rely on [neural voice technology](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-sciencescience-neural): expressive neural and enhanced neural voices. A brief overview of neural voice technology follows. But the topic of synthesizing text to speech is inherently complex. For more information about the scientific research behind the service's speech technology, see the documents that are listed in [Research references](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-references).



 Neural voice technology 

Neural voice technology synthesizes human-quality speech from input text. The service first analyzes the input text to determine the desired content. The service uses an acoustic model that consists of a decision tree to generate candidate units for synthesis.

For each of the phones in a sequence of phones to be synthesized, the model considers the phone in the context of the preceding and following two phones. It then produces a set of acoustic units that are evaluated for fitness. This step reduces the complexity of the search by restricting it to only those units that meet some contextual criteria and discarding all others.

The service then uses three Deep Neural Networks (DNNs) to predict the acoustic (spectral) features of the speech and encode the resulting audio:



* Prosody prediction
* Acoustic feature prediction
* Neural vocoder



During synthesis, the DNNs predict the pitch and phoneme duration (prosody), spectral structure, and waveform of the speech. For example, the prosody prediction module generates target values for the linguistic features that are extracted from the input text. The features include such attributes as part of speech, lexical stress, word-level prominence, and positional features such as the position of the syllable or word in the sentence.

The DNNs are trained on natural human speech to predict the acoustic features of the audio. This modular approach has the advantage of enabling fast and easy training, as well as independent control of each component. Once the base networks are trained, they can then be adapted to new speaking styles or voices for branding and personalization purposes.
1. [Create a Watson Assistant service instance](https://cloud.ibm.com/catalog/services/conversation).
2. When the service instance is created, service credentials are automatically created for you.







 Installing the Watson Assistant package 

After you have a Watson Assistant service instance, install the Watson Assistant package into your namespace.



 Installing from the Cloud Functions CLI 

Install the Watson Assistant package from the CLI. Be sure to [install the Cloud Functions plug-in for the IBM Cloud CLI](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-cli_install) first.

To install the Watson Assistant package, run the following commands.



1. Clone the Watson Assistant package repo.

git clone https://github.com/watson-developer-cloud/openwhisk-sdk
2. Deploy the package.

ibmcloud fn deploy -m openwhisk-sdk/packages/assistant-v1/manifest.yaml
3. Verify that the package is added to your package list.

ibmcloud fn package list

Example output

packages
/myOrg_mySpace/assistant-v1 private
4. Bind the credentials from the Watson Assistant instance you created to the package.

ibmcloud fn service bind conversation assistant-v1

Example output

Credentials 'Credentials-1' from 'conversation' service instance 'Watson Assistant (formerly Conversation)-8h' bound to 'assistant-v1'.
5. Verify that the package is configured with your Watson Assistant service instance credentials.

ibmcloud fn package get assistant-v1 parameters

Example output

ok: got package assistant-v1, displaying field parameters
[
{
"key": "__bx_creds",
"value": {
"conversation": {
"credentials": "Credentials-1",
"instance": "Watson Assistant (formerly Conversation)-8h",
"password": "AAAA0AAAAAAA",
For more information, see [Algorithm version and training](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-algorithm-version).

Algorithm beta version (2022-06-10)
: Algorithm beta version (2022-06-10) includes a new irrelevance detection algorithm to improve off-topic detection accuracy. Utterances with similar meanings are expected to have more similar confidences in comparison to previous irrelevance detection algorithms. For example, the training utterance please suggest route from times square has 100% confidence at runtime. Currently in IBM Cloud, the utterance please suggest route from central park gets a low confidence and could be flagged as irrelevant. With beta version (2022-06-10), the same utterance is expected to be predicted correctly with a 46% confidence.





 3 June 2022 

Extensions support for importing API document with unsupported methods
: When building a custom extension, you can now import an API document even if it contains operations with required array parameters, which are not supported. The unsupported operations are automatically disabled, but this does not affect other operations. (Previously, the entire API document was rejected if it contained unsupported operations.) For more information, see [Building a custom extension](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-build-custom-extension).





 27 May 2022 

Support for custom extensions and dialog in Actions preview panel
: You can now view your entire assistant from the Actions preview panel, including custom extensions and dialog. This allows you to have a complete view of how an action is working. For more information about previewing actions, see [Reviewing and debugging your actions](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-review).





 19 May 2022 

Sign out due to inactivity setting
: Watson Assistant now uses the Sign out due to inactivity setting from Identity & Access Management (IAM). IBM Cloud account owners can select the time it takes before an inactive user is signed out and their credentials are required again. The default is 2 hours.