vania-janet/multiturn-rag-retrieval-data huggingface dataset:
See [Building a search skill](https://cloud.ibm.com/docs/assistant?topic=assistant-skill-search-add) for more details.





 4 March 2019 

Simplified navigation
: The sidebar navigation with separate Build, Improve, and Deploy tabs has been removed. Now, you can get to all the tools you need to build a dialog skill from the main skill page.

Improve page is now called Analytics
: The informational metrics that Watson generates from conversations between your users and your assistant moved from the Improve tab of the sidebar to a new tab on the main skill page called Analytics.





 28 February 2019 

New API version
: The current API version is now 2019-02-28. The following changes were made with this version:



* The order in which conditions are evaluated in nodes with slots has changed. Previously, if you had a node with slots that allowed for digressions away, the anything_else root node was triggered before any of the slot level Not found conditions could be evaluated. The order of operations has been changed to address this behavior. Now, when a user digresses away from a node with slots, all the root nodes except the anything_else node are processed. Next, the slot level Not found conditions are evaluated. And, finally, the root level anything_else node is processed. To better understand the full order of operations for a node with slots, see [Slot usage tips](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-slotsdialog-slots-node-level-handler).
* Strings that begin with a number sign (#) in the context or output objects of a message are no longer treated as intent references.

Previously, these strings were treated as intents automatically. For example, if you specified a context variable, such as "color":"FFFFFF", then the hex color code (FFFFFF) would be treated as an intent. Your assistant would check whether an intent named FFFFFF was detected in the user's input, and if not, would replace FFFFFF with false. This replacement no longer occurs.
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).



 Dialog creation workflow 

Use Watson Assistant to leverage AI as you build, deploy, and incrementally improve a conversational assistant.

![Shows the flow of development steps starting with developing training data and ending with deploying to production](https://cloud.ibm.com/docs-content/v1/content/417db917d18067d9dcc4cf2612564a9a87c3ddc8/assistant/images/dev-process.png)



 Development process 

The typical workflow for an assistant project includes the following steps:



1. Define a narrow set of key customer needs that you want the assistant to address on your behalf, including any business processes that it can initiate or complete for your customers. Start small.
2. Create intents that represent the customer needs you identified in the previous step. For example, intents such as about_company or place_order.
3. Build a dialog that detects the defined intents and addresses them, either with simple responses or with a dialog flow that collects more information first.
4. Define any entities that are needed to more clearly understand the user's meaning. For example, you might add an @product entity that you can use with the place_order intent to understand what product the customer wants to buy.

Mine existing intent user examples for common entity value mentions. Using annotations to define entities captures not only the text of the entity value, but the context in which the entity value is typically used in a sentence.

For dictionary-based entities, you can use synonym recommendations to expand your entity definitions.
5. Test each function that you add to the assistant in the "Try it" pane, incrementally, as you go.
6. When you have a working assistant that can successfully handle key tasks, add an integration that deploys the assistant to a development environment. Test the deployed assistant and make refinements.
7.
Then we created the definition of org1 and used all of that information to create the peer. And now that we have a peer we have everything we need to join a channel or join a network. If you want to host a channel, check out our next video, which will show you how to create an ordering service. So thank you for watching this video, and happy block chaining.



 Creating your peer organization's CA 

Your CA issues the certificates and private keys for your organization's admins, client applications, and nodes. These identities are not managed by IBM and the private keys are not stored in the console. They are only stored in your browser local storage. Therefore, make sure to export your identities and the MSP of your organization. If you attempt to access the console from a different machine or a different browser, you will need to import these identities and organization definitions.

To create the CA that will issue certificates for your first organization, perform the following steps in your console:



1. Navigate to the Nodes tab on the left and click Add Certificate Authority. The side panels will allow you to customize the CA that you want to create and the organization that this CA will issue keys for.
2. In this tutorial, we're creating nodes, as opposed to importing them, so make sure the option to Create a Certificate Authority is selected. Then click Next.
3. Use the side panel to give your CA a display name. Our recommended value for this CA is Org1 CA. Then give your CA admin credentials by specifying a CA administrator enroll ID of admin and a secret of adminpw. Again, these are recommended values.
4. The Advanced deployment options are only available in paid clusters and can be safely ignored for purposes of this tutorial. For more information about these options, see the links below.



* [Database and replica sets](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-console-build-ha-caibp-console-build-ha-ca-create) (Creating an HA CA) This option is only available on paid clusters.
This is where channel creation and management are handled.

When you first navigate to this tab, it will be empty except for the Create channel and Join channel buttons. This is because you haven't created a channel and joined a peer to it yet.



 Creating the channel 

Perform the following steps from your console:



1. Navigate to the Channels tab.
2. Click Create channel. The create channel panel will open. From here, you will perform all of the steps to create your channel.
3. On the Prerequisites panel, you can decide whether or not you want to specify any Advanced channel configuration options. For more information about these options, see [Advanced channel deployment and management](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-console-governibp-console-govern). For the purposes of this tutorial, we'll assume you don't want to specify any advanced channel configuration options, so click Next.
4. On the Channel details page, give your channel a name and specify the ordering service the channel will be hosted on. In this tutorial, our channel is called channel1 while the ordering service is called Ordering Service. Note: you will not be able to change the channel name or the ordering service it is hosted on later. Click Next.
5. On the Organizations page, select the organizations that will be part of this channel. As we have only created one organization, this will be Org1 MSP (org1msp). After clicking Add, you can assign the organization a role on the channel. Because each channel must have at least one operator, make Org1 MSP (org1msp) an Operator.
6. Next, choose a Channel update policy for the channel. This is the policy that will dictate how many organizations will have to approve updates to the channel configuration. Because this tutorial only involves creating a single organization, this policy should be 1 out of 1. As you add organizations to the channel, you should change this policy to reflect the needs of your use case. A sensible standard in a five organization channel is to use a majority of organizations.
* A provisioned VPC infrastructure. Based on the type of deployment strategy that you want to use, click one of the following links to create an IBM Cloud® Schematics workspace. This workspace generates and applies the Terraform plan to create the VPC, the virtual server instances, and the Load Balancer that are required to run and access the app.

[![Provision VPC for Rolling button](https://cloud.ibm.com/docs-content/v1/content/562806c0b18119f4d21cb66f5ae6d051634b4a16/ContinuousDelivery/images/ds-vpc-setup-deploy_rolling_button.png)](https://cloud.ibm.com/schematics/workspaces/create?repository=https://github.com/Cloud-Schematics/vpc-bastion-rolling-deploy)[![Provision VPC for Blue-Green button](https://cloud.ibm.com/docs-content/v1/content/562806c0b18119f4d21cb66f5ae6d051634b4a16/ContinuousDelivery/images/ds-vpc-setup-deploy_bg_button.png)](https://cloud.ibm.com/schematics/workspaces/create?repository=https://github.com/Cloud-Schematics/vpc-bastion-bluegreen-deploy)[![Provision VPC for Canary button](https://cloud.ibm.com/docs-content/v1/content/562806c0b18119f4d21cb66f5ae6d051634b4a16/ContinuousDelivery/images/ds-vpc-setup-deploy_canary_button.png)](https://cloud.ibm.com/schematics/workspaces/create?repository=https://github.com/Cloud-Schematics/vpc-bastion-canary-deploy)
For example, the following command creates an organization that is named IBM.

ibmcloud account org-create IBM

If REGION is not specified, the name is default to current region.



This operation can be run only by the account owner.





 Creating spaces by using the CLI 

You can also create spaces by using the IBM Cloud® CLI.



1. Log in, and select the account.

ibmcloud login
2. Create an organization by running the [ibmcloud account space-create](https://cloud.ibm.com/docs/cli?topic=cli-ibmcloud_commands_accountibmcloud_account_space_create) command, where -o is the organization, and -q is the quota to assign to the newly created space.

ibmcloud account space-create SPACE [-o ORG] [-q SPACE_QUOTA]







 Creating orgs by using the Cloud Foundry API 

You can create an organization by calling the Cloud Foundry API. For detailed information about how to use it, see [Create an Organization](http://v3-apidocs.cloudfoundry.org/version/3.97.0/index.htmlcreate-an-organization). Check the following sample request, where my-organization is the name of your organization:

curl "https://api.example.org/v3/organizations" -X POST -H "Authorization: bearer [token]" -H "Content-Type: application/json" -d '{ "name": "my-organization" }'





 Creating spaces by using the Cloud Foundry API 

You can also create spaces by calling the Cloud Foundry API. For detailed information about how to use it, see [Create a Space](http://v3-apidocs.cloudfoundry.org/version/3.97.0/index.htmlcreate-a-space). Check the following sample request, where my-spaceis the name of your space:

curl "https://api.example.org/v3/spaces" -X POST -H "Authorization: bearer [token]" -H "Content-Type: application/json" -d '{
In those instructions, you create two identities, one for the peer and another for the peer's organization admin identity.
3. [Create the peer's organization MSP definition](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-console-build-networkibp-console-build-network-create-peers-org1) for the peer's organization in the first cluster.
4. [Export the peer's organization definition](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-console-join-networkibp-console-join-network-add-org2-remote) and share it with an ordering service admin.
5. Similarly, the ordering service admin needs to follow the steps to [import the peer's organization](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-console-join-networkibp-console-join-network-import-remote-msp) and add it to the consortium. They will also need to complete the steps in those instructions to export the ordering service to a JSON file.
6. [Import the ordering service JSON file](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-console-join-networkibp-console-join-network-import-remote-orderer) to your console.
7. [Create a peer](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-console-build-networkibp-console-build-network-peer-create) in the first cluster.
8. [Join your peer to the channel](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-console-join-networkibp-console-join-network-join-peer-org2).
You can find more information about the create command [here](https://cloud.ibm.com/docs/hpvs-cli-plugin?topic=hpvs-cli-plugin-hpvs_cli_plugincreate_instance).

The newly created instance is marked as provisioning until provisioning completes. Use the ibmcloud hpvs instance <CRN>[command](https://cloud.ibm.com/docs/hpvs-cli-plugindetails_list) to list your new instance and check its current state. After provisioning completes, the instance is marked as active.







 Billing information 

When you create virtual servers by selecting a priced plan, IBM bills you monthly for each instance. IBM does not consider how long an instance exists within one month. If you delete a virtual server before the end of a month, IBM charges the fee for the complete month and then automatically stops the billing.

For example, if you create three instances with the Medium plan on 1 February 2020, and delete all instances on 15 May 2020, you're charged with 4 x 3 x 720,00 USD = 8.640,00 USD.





 Free plan 

Virtual servers that are created with the Free plan are automatically deleted after 30 days without warning. That's why you must back up important data regularly. Deleted Free instances aren't removed from the Resource list. You must delete them manually.
Machine learning model creation workflow 

Create a machine learning model that trains a model you can use to identify entities, coreferences, and relationships of interest in new documents.

Understand the typical workflow for creating a machine learning model in Knowledge Studio.

All the steps are performed by the project manager, except for the Annotate documents step, which is performed by the human annotator. Because human annotators are often subject matter experts, they might be consulted during the creation of workspace resources, such as the type system, also.

![The workflow for developing a machine learning model](https://cloud.ibm.com/docs-content/v1/content/50eddb8fd81f33092880335ff107a78ff5cd0f65/watson-knowledge-studio/images/wks-checklist.svg) Figure 1. The workflow for developing a machine learning model



 Steps to create or refine a model 



 Step Description 

 Create a workspace See [Creating a workspace](https://cloud.ibm.com/docs/watson-knowledge-studio?topic=watson-knowledge-studio-create-project). A workspace contains the resources that are used to create the model, including: <br> <br>- Type system: Upload or create the type system, and define the entity types and relation types that human annotators can apply when annotating text. The model process manager typically works with subject matter experts for your domain to define the type system. See [Establishing a type system](https://cloud.ibm.com/docs/watson-knowledge-studio?topic=watson-knowledge-studio-typesystem) <br> <br>- Source documents: Create a corpus by uploading sample documents that are representative of your domain content into the workspace. See [Adding documents for annotation](https://cloud.ibm.com/docs/watson-knowledge-studio?topic=watson-knowledge-studio-documents-for-annotation). Partition the corpus into document sets, specify the percentage of documents that are shared among all document sets, and assign the document sets to human annotators.
If you're manually creating the initial subnet, versus creating it when you created your VPC, the region (location) that you select is used as the region of the VPC. All additional resources that you in this VPC are created in the selected region.

If you created a subnet when you created your VPC, more subnets must be created in the same region. You can create multiple subnets within VPC zones.
5. Click Create subnet.









 Provisioning your Intel virtual server 

Before you can create a virtual server, you must create the VPC and you must create an SSH key that you add to the server instance during its creation - see more details on [SSH keys with virtual servers](https://cloud.ibm.com/docs/vpc?topic=vpc-ssh-keys).

Use the following steps to order your virtual server and necessary components. For more information about creating a virtual server, see [Creating virtual server instances by using the IBM Cloud console](https://cloud.ibm.com/docs/vpc?topic=vpc-creating-virtual-servers).



1. Log in to the [IBM Cloud console](https://cloud.ibm.com) with your unique credentials.
2. Click Menu icon ![Menu icon](https://cloud.ibm.com/docs-content/v1/content/icons/icon_hamburger.svg) > VPC Infrastructure > Virtual server instances.
3. Click Create.
4. Enter a unique Name for the virtual server, which becomes the hostname. SAP hostnames must consist of a maximum of 13 alpha-numeric characters. For more information about SAP hostnames, see [SAP Notes 611361](https://launchpad.support.sap.com//notes/611361) and [129997](https://launchpad.support.sap.com//notes/129997).
5. Choose a Resource group.

The resource group can't be changed after the virtual server is created.
6.
[Create a root key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-create-root-keys) in the Key Protect instance that you specify.

ibmcloud kp create KEY_NAME -i $INSTANCE_ID
[-k, --key-material KEY_MATERIAL]
[-s, --standard-key]
[--output FORMAT]



 Required parameters 

KEY_NAME
: A unique, human-readable alias to assign to your key.





 Optional parameters 

-k, --key-material
: The base64 encoded key material that you want to store and manage in the service. To import an existing key, provide a 256-bit key. To generate a new key, omit the --key-material parameter.





 Usage examples 



 Create a key 

$ ibmcloud kp create my-new-root-key -i $INSTANCE_ID
SUCCESS

Key ID Key Name
3df42bc2-a991-41cb-acc2-3f9eab64a63f my-new-root-key





 Import a key that you generate on-premises 

$ ibmcloud kp create my-imported-root-key -i $INSTANCE_ID -k $KEY_MATERIAL
SUCCESS

Key ID Key Name
3df42bc2-a991-41cb-acc2-3f9eab64a63f my-imported-root-key





 Import a key by using an import token 

$ ibmcloud kp create my-imported-root-key -i $INSTANCE_ID -k $ENCRYPTED_KEY -n $NONCE -iv $IV
SUCCESS

Key ID Key Name
3df42bc2-a991-41cb-acc2-3f9eab64a63f my-encrypted-root-key
[More Actions icon](https://cloud.ibm.com/docs-content/v1/content/f02b9c9adcbb7328d95a45e105cec371d50f15eb/icons/action-menu-icon.svg) for the host where you want the instance to be created and select New instance.
3. If you want to create an instance on any dedicated host within a dedicated group, on the Dedicated groups tab click the Actions icon ![More Actions icon](https://cloud.ibm.com/docs-content/v1/content/f02b9c9adcbb7328d95a45e105cec371d50f15eb/icons/action-menu-icon.svg) for the dedicated group where you want the instance to be created and select New instance. The virtual server instance is provisioned on any dedicated host in the group that has space available.
4. For more information, see [Creating virtual server instances by using the UI](https://cloud.ibm.com/docs/vpc?topic=vpc-creating-virtual-servers).







 Creating instances on dedicated hosts by using the CLI 

After you created a dedicated host, you can start provisioning virtual server instances on the dedicated host by using the command-line interface (CLI).



 Before you begin 



1. Make sure that you downloaded, installed, and initialized the following CLI plug-ins. For more information, see [CLI prerequisites](https://cloud.ibm.com/docs/vpc?topic=vpc-set-up-environmentcli-prerequisites-setup).





* IBM Cloud CLI
* The infrastructure-service plug-in





2. Have an [IBM Cloud VPC](https://cloud.ibm.com/docs/vpc?topic=vpc-creating-a-vpc-using-cli).







 Gathering information to create an instance on a dedicated host by using the CLI 

Ready to create an instance on a dedicated host or dedicated group?
You can create a generic secret with the secret create command in one of the following ways. By default, a generic secret is created when the --format option is not specified.



* Create a secret directly from the command line by using the --from-literal option in KEY=VALUE format. For example,

ibmcloud ce secret create --name myliteralsecret --from-literal "TARGET=My literal secret"
* Create a secret by using the --from-file option to point to a file. By using this option, all the contents of the file become the value for the key-value pair. For this example, use a file that is named secrets.txt, which contains my little secret1.



* The following example uses the --from-file KEY=FILE format with the secret create command:

ibmcloud ce secret create --name mysecretmsg1 --from-file TARGET=secrets.txt
* The following example command uses the --from-file FILE format with the secret create command. In this example, TARGET (no extension) is the name of the file, which is the same as the name of the environment variable that is known to the job.

ibmcloud ce secret create --name mysecretmsg2 --from-file TARGET



* Create a secret by using the --from-env-file option to point to a file that contains one or more lines that match the format KEY=VALUE. Each line from the specified file is added as a key-value pair. Any lines in the specified file that are empty or begin with are ignored. For this example, use a file that is named secrets_multi.txt, which contains the key-value pairs: sec1=mysec1, sec2=mysec2, and sec3=mysec3.

ibmcloud ce secret create --name mysecretmulti --from-env-file secrets_multi.txt
: The catalog describes all of the services that can be created through a service broker, and each service is made up of plans. Plans typically represent the costs and benefits for a given variant of the service. Many services use plans related to the size the product, for example small, medium, and large.

Provisioning new service instances
: A service instance is a created instance of a service and plan as described in the service broker’s catalog.

Connecting and disconnecting applications and containers from those service instances
: When a service instance is created, you want your application or container to start communicating with that instance. From a service broker’s perspective, this is called a service binding.

Deprovisioning service instances
: This action deletes all the resources that are created upon the initial creation of the service instance.





 Before you begin 



* [Register your service in IBM Cloud Partner Center](https://cloud.ibm.com/docs/sell?topic=sell-svc-register).
* [Define the product details of your service](https://cloud.ibm.com/docs/sell?topic=sell-svc-define).
* Review the [Provisioning scenario](https://cloud.ibm.com/docs/sell?topic=sell-how-it-worksprovision2) to gain an understanding of how resource creation works.
* Read and familiarize yourself with the [Open Broker API spec](https://github.com/openservicebrokerapi/servicebroker/blob/v2.12/spec.md), and use the readme file as a guide to learn more. IBM Cloud uses the Open Service Broker API (OSB) version 2.12 specification.







 Building your broker 

Configure and deploy a broker that has your required specifications by using the following steps:

Explore [broker samples](https://github.com/IBM/sample-resource-service-brokers) to see how you can structure your broker to meet requirements. Not all languages are represented by a sample.



1.