vania-janet/multiturn-rag-retrieval-data huggingface dataset:
Install the Language Translator 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.



1. Clone the Language Translator package repo.

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

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

ibmcloud fn package list

Example output

packages
/myOrg_mySpace/language-translator-v3 private
4. Bind the credentials from the Language Translator instance you created to the package.

ibmcloud fn service bind language-translator language-translator-v3

Example output

Credentials 'Credentials-1' from 'language-translator' service instance 'Watson Language Translator' bound to 'language-translator-v3'.
5. Verify that the package is configured with your Language Translator service instance credentials.

ibmcloud fn package get language-translator-v3 parameters

Example output

ok: got package language-translator-v3, displaying field parameters
[
{
"key": "__bx_creds",
"value": {
"language-translator": {
"apikey": "AA1Aa111AAA1aaAA1AAAAaaAaaa1AAAA1AaAA1",
"credentials": "Auto-generated service credentials",
"iam_apikey_description": "Auto generated apikey during resource-key operation for Instance - crn:v1:ibmcloud:public:language-translator:us-south:a/a11a1a11aa111a111aa1aa1111a1a111:1111a11-aaa1-11a1-111a-1a1111a11111::",
* [Updating an IBM Cloud Kubernetes Service containerd custom registry configuration](https://cloud.ibm.com/docs/openshift?topic=openshift-registryupdate_containerd_registry_config)



* [Example daemonset to update a containerd custom registry configuration](https://cloud.ibm.com/docs/openshift?topic=openshift-registryds-example-registry)





[Setting up continuous integration and delivery](https://cloud.ibm.com/docs/openshift?topic=openshift-cicdcicd)



* [Supported automation tools](https://cloud.ibm.com/docs/openshift?topic=openshift-cicdcicd_strategy)
* [Setting up a continuous delivery pipeline for a cluster](https://cloud.ibm.com/docs/openshift?topic=openshift-cicdcontinuous-delivery-pipeline)







 Developing and deploying apps 

[Planning app deployments](https://cloud.ibm.com/docs/openshift?topic=openshift-plan_deployplan_deploy)



* [Moving workloads to Red Hat OpenShift on IBM Cloud](https://cloud.ibm.com/docs/openshift?topic=openshift-plan_deploymoving)



* [What kind of apps can I run in Red Hat OpenShift on IBM Cloud?](https://cloud.ibm.com/docs/openshift?topic=openshift-plan_deployapp_types)
* [What are some guidelines for developing stateless, cloud-native apps?](https://cloud.ibm.com/docs/openshift?topic=openshift-plan_deploy12factor)
* [What about serverless apps?](https://cloud.ibm.com/docs/openshift?topic=openshift-plan_deployapps_serverless)
* [I already have an app. How can I migrate it to Red Hat OpenShift on IBM Cloud?]
[How Cloud Functions works](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-aboutabout)



* [Cloud Functions terminology](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-aboutfunctions-terminology)
* [What happens behind the scenes in Cloud Functions?](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-aboutabout_scenes)



* [1. Entering the system: NGINX](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-aboutabout_ngnix)
* [2. Entering the system: Controller](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-aboutabout_controller)
* [3. Authentication and Authorization: CouchDB](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-aboutabout_auth)
* [4. Getting the action: CouchDB… again](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-aboutabout_couchdb)
* [5. Who’s there to invoke the action: Load Balancer](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-aboutabout_lb)
* [6. Please form a line: Kafka](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-aboutabout_kafka)
* [7. Invoking the code: Invoker](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-aboutabout_invoker)
* [8.
Supported data stores include SQL based relational databases, in-memory data grids, NoSQL database, files, messaging brokers, and various other systems. Cloud Functions rules and sequences provide flexibility to change the processing pipeline without programming, and is performed through simple configuration updates. The data store options and low administrative maintenance make a Cloud Functions based system highly agile, and easily adaptable to changing requirements.





 Cognitive 

Cognitive technologies can be effectively combined with Cloud Functions to create powerful applications. For example, Watson Visual Recognition can be used with Cloud Functions to automatically extract useful information from videos without having to watch them. This technology is the “cognitive” extension of the [Data Processing](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-use_casesuse_cases_data) use case that was discussed earlier. Another good use for Cloud Functions is to implement Bot function that is combined with cognitive services.

A sample application, [Dark vision](https://github.com/IBM-cloud/openwhisk-darkvisionapp), is provided and does just that. In this application, the user uploads a video or image by using the Dark Vision web application, which stores it in an IBM Cloudant DB. Once the video is uploaded, Cloud Functions detect the new video by listening to IBM Cloudant changes (trigger). Cloud Functions then triggers the video extractor action. During its execution, the extractor produces frames (images) and stores them in IBM Cloudant. The frames are then processed with Watson Visual Recognition, and the results are stored in the same IBM Cloudant DB. The results can be viewed by using the Dark Vision web application or an iOS application. IBM Cloud Object Storage can be used in addition to IBM Cloudant, where video and image metadata are stored in IBM Cloudant, and the media files are stored in IBM Cloud Object Storage.





 Event processing with Kafka or Event Streams 

Cloud Functions is ideally to be used in combination with Kafka, IBM® Event Streams for IBM Cloud® (Kafka based), and other messaging systems. The event driven nature of those systems requires an event driven runtime to process messages.
"body": "IBM Watson Assistant is a cognitive bot that you can customize for your business needs, and deploy across multiple channels to bring help to your customers where and when they need it.",
"url": "https://cloud.ibm.com/docs/assistant?topic=assistant-index",
"id": "6682eca3c5b3778ccb730b799a8063f3",
"result_metadata": {
"confidence": 0.08401551980328191,
"score": 0.73975396
},
"highlight": {
"Shortdesc":
"IBM <em>Watson</em> <em>Assistant</em> is a cognitive bot that you can customize for your business needs, and deploy across multiple channels to bring help to your customers where and when they need it."
],
"url":
"https://cloud.ibm.com/docs/<em>assistant</em>?topic=<em>assistant</em>-index"
],
"body":
"IBM <em>Watson</em> <em>Assistant</em> is a cognitive bot that you can customize for your business needs, and deploy across multiple channels to bring help to your customers where and when they need it."
]
}
}
]
}
]
},
"user_id": "58e1b04e-f4bb-469a-9e4c-dffe1d4ebf23"
}
Show more

For each search result, the title, body, and url properties include content returned from the Discovery query. The search skill configuration determines which fields in the Discovery collection are mapped to these fields in the response. Your application can use these fields to display the results to the user (for example, you might use the body text to show an abstract or description of the matching document, and the url value to create a link the user can click to open the document).
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).



 Watson Assistant API overview 

You can use the Watson Assistant REST APIs, and the corresponding SDKs, to develop applications that interact with the service.



 Client applications 

To build a virtual assistant or other client application that communicates with an assistant at run time, use the new v2 API. By using this API, you can develop a user-facing client that can be deployed for production use, an application that brokers communication between an assistant and another service (such as a chat service or back-end system), or a testing application.

By using the v2 runtime API to communicate with your assistant, your application can take advantage of the following features:



* Automatic state management. The v2 runtime API manages each session with an end user, storing and maintaining all of the context data your assistant needs for a complete conversation.
* Ease of deployment using assistants. In addition to supporting custom clients, an assistant can be easily deployed to popular messaging channels such as Slack and Facebook Messenger.
* Versioning. With dialog skill versioning, you can save a snapshot of your skill and link your assistant to that specific version. You can then continue to update your development version without affecting the production assistant.
* Search capabilities. The v2 runtime API can be used to receive responses from both dialog skills and search skills. When a query is submitted that your dialog skill cannot answer, the assistant can use a search skill to find the best answer from the configured data sources. (Search skills are a beta feature available only to Plus or Premium plan users.)



For details about the v2 API, see the Watson Assistant [v2 API Reference](https://cloud.ibm.com/apidocs/assistant/assistant-v2).

Note: The Watson Assistant v1 API still supports the legacy /message method that sends user input directly to the workspace used by a dialog skill. The v1 runtime API is supported primarily for backward compatibility purposes.
For more information, see the [System entities reference](https://cloud.ibm.com/docs/assistant?topic=assistant-system-entities).

Fuzzy matching for entities
: Fuzzy matching for entities is a beta feature that is now available in English. You can turn on fuzzy matching per entity to improve the ability of your assistant to recognize terms in user input with syntax that is similar to the entity, without requiring an exact match. The feature is able to map user input to the appropriate corresponding entity despite the presence of misspellings or slight syntactical differences. For examples, if you define giraffe as a synonym for an animal entity, and the user input contains the terms giraffes or girafe, the fuzzy match is able to map the term to the animal entity correctly. See [Defining entities](https://cloud.ibm.com/docs/assistant?topic=assistant-entitiesentities-fuzzy-matching) and search for Fuzzy Matching for details.





 18 April 2017 

Updates
: This release includes the following updates:



* The Watson Assistant REST API now supports access to the following resources:



* entities
* entity values
* entity value synonyms
* logs



For more information, see the [API Reference](https://cloud.ibm.com/apidocs/assistant/assistant-v1).
* The behavior of the /messages POST method has changed the handling of entities and intents specified as part of the message input:



* If you specify intents on input, your assistant uses the intents you specify, but uses natural language processing to detect entities in the user input.
* If you specify entities on input, your assistant uses the entities you specify, but uses natural language processing to detect intents in the user input.



The behavior has not changed for messages that specify both intents and entities, or for messages that specify neither.
* The option to mark user input as irrelevant is now available for all supported languages. This is a beta feature.
* A new Credentials tab provides a single place where you can find all of the information you need for connecting your application to a workspace (such as the Watson Assistant credentials and workspace ID), as well as other deployment options.
"authorUserId": "3",
"authorUsername": "Butzke",
"downModVotes": 0,
"id": 3,
"subtitle": "I'm making a simple Arduino web server and I want to keep it turned on all the time. So it must endure to stay working continuously. I'm using an Arduino Uno with a Ethernet Shield. It's powered with a simple outlet power supply 5V 1A. My Questions Will I have any problems leaving the Arduino turned on all the time? li Is there some other Arduino board better recommended for this? li Are there any precautions that I need to heed regarding this? li ul ",
"tags": "<arduino-uno><web-server><ethernet>",
"title": "Is an Arduino capable of running 24 7?",
"upModVotes": 24,
"userId": "13",
"userReputation": 489,
"username": "Matthew G.",
"views": 3234
}
Show more





 How can you protect your data when using Watson Discovery? 

To learn about securing your data when using Watson Discovery, refer to [Protecting sensitive information in your Watson service](https://cloud.ibm.com/docs/discovery?topic=watson-keyservice). For general information about the security architecture, review [Securing AI apps: Watson on IBM Cloud security](https://www.ibm.com/cloud/architecture/architectures/securityArchitecture/watson-security).





 What Watson solutions are available to respond to Covid-19 questions? 

[IBM Watson Assistant for Citizens](https://www.ibm.com/watson/covid-response) on the IBM public cloud brings together Watson Assistant, Natural Language Processing capabilities from IBM Research, and state-of-art enterprise AI search capabilities with Watson Discovery, to understand and respond to common questions about COVID-19.
: A new Learn about IBM Watson® Assistant page is available that provides getting started information and links to service documentation and other useful resources. To open the page, click the icon in the page header.

Bulk export and delete
: You can now simultaneously export a number of intents or entities to a CSV file, so you can then import and reuse them for another Watson Assistant application. You can also simultaneously select a number of entities or intents for deletion in bulk.

Updates to Korean
: Korean tokenizers have been updated to address informal language support. IBM continues to work on improvements to entity recognition and classification.

Emoji support
: Emojis added to intent examples, or as entity values, will now be correctly classified/extracted.

Only emojis that are included in your training data will be correctly and consistently identified; emoji support may not correctly classify similar emojis with different color tones or other variations.

Entity stemming (Beta - English only)
: The fuzzy matching beta feature recognizes entities and matches them based on the stem form of the entity value. For example, this feature correctly recognizes bananas as being similar to banana, and run being similar to running as they share a common stem form. For more information, see [Fuzzy matching](https://cloud.ibm.com/docs/assistant?topic=assistant-entitiesentities-fuzzy-matching).

Workspace import progress
: When you import a workspace from a JSON file, a tile for the workspace is displayed immediately, in which information about the progress of the import is displayed.

Reduced training time
: Multiple models are now trained in parallel, which noticeably reduces the training time for large workspaces.





 26 May 2017 

New API version
: The current API version is now 2017-05-26. This version introduces the following changes:



* The schema of ErrorResponse objects has changed. This change affects all endpoints and methods. For more information, see the [API Reference](https://cloud.ibm.com/apidocs/assistant).
* The internal schema used to represent dialog nodes in exported workspace JSON has changed.
Create a Banking Chatbot 

Use Node.js and Watson to detect emotion, identify entities, and discover answers.



* [Learn more ![External link icon](https://cloud.ibm.com/docs-content/v1/content/icons/launch-glyph.svg)](https://developer.ibm.com/patterns/create-cognitive-banking-chatbot/)
* [Get the Code ![External link icon](https://cloud.ibm.com/docs-content/v1/content/icons/launch-glyph.svg)](https://github.com/IBM/watson-banking-chatbot?cm_sp=IBMCode-_-create-cognitive-banking-chatbot-_-Get-the-Code)
* [View the Demo ![External link icon](https://cloud.ibm.com/docs-content/v1/content/icons/launch-glyph.svg)](https://www.youtube.com/watch?v=Jxi7U7VOMYg&cm_sp=IBMCode-_-create-cognitive-banking-chatbot-_-View-the-Demo)
* [Build from a Starter Kit ![External link icon](https://cloud.ibm.com/docs-content/v1/content/icons/launch-glyph.svg)](https://console.bluemix.net/developer/watson/create-project?starterKit=a5819b41-0f6f-34cb-9067-47fd16835d04&cm_sp=dw-bluemix-_-code-_-devcenter)







 Enrich multimedia files using Watson services 

Build an app that enriches audio and visual files using IBM Watson services.



* [Learn more !
Because instances in London are syndicated to Dallas, you must replace the eu-gb reference in the URL with us-south for the preview web page to render properly.







 8 November 2018 

Japanese data center
: You can now create Watson Assistant service instances that are hosted in the Tokyo data center. See [Data centers](https://cloud.ibm.com/docs/assistant?topic=assistant-services-informationservices-information-regions) for more details.





 30 October 2018 

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.
For additional information, see [Using the Overview page](https://cloud.ibm.com/docs/assistant?topic=assistant-logs-overview).







 27 April 2017 

System entities
: The following system entities are now available as beta features in English only:



* sys-location: Recognizes references to locations, such as towns, cities, and countries, in user utterances.
* sys-person: Recognizes references to people's names, first and last, in user utterances.



For more information, see the [System entities reference](https://cloud.ibm.com/docs/assistant?topic=assistant-system-entities).

Fuzzy matching for entities
: Fuzzy matching for entities is a beta feature that is now available in English. You can turn on fuzzy matching per entity to improve the ability of your assistant to recognize terms in user input with syntax that is similar to the entity, without requiring an exact match. The feature is able to map user input to the appropriate corresponding entity despite the presence of misspellings or slight syntactical differences. For examples, if you define giraffe as a synonym for an animal entity, and the user input contains the terms giraffes or girafe, the fuzzy match is able to map the term to the animal entity correctly. See [Defining entities](https://cloud.ibm.com/docs/assistant?topic=assistant-entitiesentities-fuzzy-matching) and search for Fuzzy Matching for details.





 18 April 2017 

Updates
: This release includes the following updates:



* The Watson Assistant REST API now supports access to the following resources:



* entities
* entity values
* entity value synonyms
* logs



For more information, see the [API Reference](https://cloud.ibm.com/apidocs/assistant/assistant-v1).
* The behavior of the /messages POST method has changed the handling of entities and intents specified as part of the message input:



* If you specify intents on input, your assistant uses the intents you specify, but uses natural language processing to detect entities in the user input.
Replace projectid, region, and MY_SECRET accordingly.

curl -X 'POST' 'https://slackbot-backend.projectid.region.codeengine.appdomain.cloud/database/recreate' -H 'accept: application/json' -H 'API_TOKEN: MY_SECRET'

The above request should return an error message that the confirmation is missing. Now try again with a query parameter:

curl -X 'POST' 'https://slackbot-backend.projectid.region.codeengine.appdomain.cloud/database/recreate?confirmation=True' -H 'accept: application/json' -H 'API_TOKEN: MY_SECRET'

The request should succeed and indicate that the database was recreated. Time for another test:

curl -X 'GET' 'https://slackbot-backend.projectid.region.codeengine.appdomain.cloud/events' -H 'accept: application/json' -H 'API_TOKEN: MY_SECRET'







 Step 2: Create an assistant 

In this part of the tutorial you are going to work with the Watson Assistant service. First, you create a new assistant. Then, you create the custom extension and add it to the assistant. Thereafter, you will create actions and test them using the web preview. Finally, you integrate the chatbot with Slack and perform more tests.



1. In the [IBM Cloud Resource List](https://cloud.ibm.com/resources) open the overview of your services. Locate the instance of the Watson Assistant service under the AI / Machine Learning section. Click on its entry to open the service details.
2. Click on Launch Watson Assistant to get to the Watson Assistant Tool.
3. In the welcome dialog, create a new assistant by using slackbot as Assistant name, then click Next to start personalizing.
4. For the first question on deployment pick Web.
5. For the other questions answer for your role or with Other / Not sure at this time.
6. Click Next for the opportunity to customize the chat UI if desired.
7.