vania-janet/multiturn-rag-retrieval-data huggingface dataset:
* The lowercase string null MUST be considered a match for a value absent from the observable resource state.
* Any other string MUST be considered invalid and SHOULD be rejected with a 400 status code and appropriate error response model.





Schema guidance for floats in requests

 Constraint Recommended value Description 

 type number type MUST be number. 
 format float or double format MUST be float or double. 
 minimum minimum value MAY be present. 
 maximum maximum value MAY be present. 











 String 

The string type provides for arbitrary strings of characters. Note that the string type referred to here is not equivalent to a JSON string, as JSON strings are also used to represent dates, date/times, and enumerations.



 Response format 

For responses, a string field SHOULD have a documented maximum length and SHOULD have a documented permissible character set. For the sake of backward-compatible future expansions, documented constraints MAY be more permissive (allowing for longer strings or a larger character set) for responses than for requests.

A string value MUST be returned as a JSON string.

A free-form string field (such as a description or notes field) that allows a zero-length value MUST NOT be optional in a response body. A string field set to an empty string MUST be represented as a literal empty string ("").



Schema guidance for strings in responses

 Constraint Recommended value Description 

 type string type MUST be string. 
 minLength minLength SHOULD be present. 
 maxLength maxLength SHOULD be present. 
 pattern pattern SHOULD be present unless character constraints cannot be expressed in a regular expression. 







 Request formats 

For requests, a string field MUST have documented minimum and maximum lengths and MUST have a documented permissible character set. A string field that does not contain completely free-form values SHOULD have a documented regular expression pattern which values are required to match.

Length, character set, and pattern constraints MUST be checked prior to any other processing of strings included in requests. Failure to match constraints MUST cause the entire request to fail with a 400 status code and appropriate error response model.
Verify that the plan shows all of the resources that you want to create and that the names and values are correct. If the plan needs to be adjusted, edit the input.auto.tfvars file to correct resources and run \terraform plan --out plan1 again.
8. Create the virtual private cloud for SAP instance and IAM access policy in IBM Cloud.

terraform apply "plan1"

The virtual private cloud and components are created and you see output similar to the terraform plan output.







 Next steps 

If you need to rename your resources after they are created, modify the input.auto.tfvars file to change the names and run terraform plan and terraform apply again. Do not use the IBM Cloud Dashboard and user interface to modify your VPC after it is created. The Terraform scripts create a complete solution and selectively modifying resources with the user interface might cause unexpected results.

If you need to remove your VPC, go to your project folder and run terraform destroy.





 Related information 

For more information about Terraform on IBM Cloud, see [Terraform on IBM Cloud getting started tutorial](https://cloud.ibm.com/docs/ibm-cloud-provider-for-terraform?topic=ibm-cloud-provider-for-terraform-getting-started).

For more information about using Terraform for creating only a VPC for SAP, without the SAP architecture, see [Creating single-tier virtual private cloud for SAP by using Terraform](https://cloud.ibm.com/docs/sap?topic=sap-create-terraform-single-tier-vpc-sap).

SAP One Support Notes that apply to this document:



* [SAP Note 84555 - Windows Server, Linux®, and UNIX: Certified hardware](https://launchpad.support.sap.com//notes/84855)
* [SAP Note 2927211 - SAP Applications on IBM Cloud Virtual Private Cloud (VPC) Infrastructure environment](https://launchpad.support.sap.com//notes/2927211)
"response_type": "audio",
"channel_options": {
"voice_telephony": {
"loop": true
}
}
}
]
}
}
Show more





 Enabling keypad entry 

If you want customers to be able to send information by typing it on their phone keypad instead of speaking, you can add support for phone keypad entry. The best way to implement this type of support is to enable dual-tone multifrequency (DTMF) signaling. DTMF is a protocol used to transmit tones that are generated when a user presses keys on a push-button phone. The tones have a specific frequency and duration that can be interpreted by the phone network.

To start listening for tones as the user presses phone keys, use the dtmf response type in a dialog node or action step. This response type can be added using the JSON editor.

{
"output": {
"generic": [
{
"response_type": "dtmf",
"command_info": {
"type": "<command type>",
"parameters": {
"parameter name": "parameter value",
"parameter name": "parameter value"
}
},
"channels":
{
"channel": "voice_telephony"
}
]
}
]
}
}
Show more

The command_info property specifies a DTMF command for the phone integration. The supported commands and their related parameters are as follows.



 command_info.type : collect 

Instructs the phone integration to collect dual-tone multi-frequency signaling (DTMF) input from a user. This command supports the following parameters:



 parameter name description required default 

 termination_key The DTMF termination key, which signals the end of DTMF input (for example, ). no n/a 
 count The number of DTMF digits to collect. This must be a positive integer no larger than 100.
About 

Use IBM Watson™ Knowledge Studio for IBM Cloud Pak for Data to create a machine learning model that understands the linguistic nuances, meaning, and relationships specific to your industry or to create a rule-based model that finds entities in documents based on rules that you define.



 Identify custom entities and relations 

An entities and relations workspace enables you to create your own entity type system and train a custom model that can recognize custom entities in text. With machine learning models, you can also define custom relation types and train the model to recognize when two entities are related. Consider the following example sentence.

ABC Motors has received great reviews for its new 2020 Lightning.

A custom entities and relations model could be trained to recognize "2020 Lightning" as a Vehicle entity, and "ABC Motors" as a Manufacturer entity. The model could also be trained to recognize that the two entities are connected by an isManufacturedBy relation.



 Build a machine learning model 

Knowledge Studio provides easy-to-use tools for annotating unstructured domain literature, and uses those annotations to create a custom machine learning model that understands the language of the domain. The accuracy of the model improves through iterative testing, ultimately resulting in an algorithm that can learn from the patterns that it sees and recognize those patterns in large collections of new documents. You can deploy the finished machine learning model to other Watson cloud-based offerings and cognitive solutions to find and extract mentions of relations and entities, including entity coreferences.

![Overview of the process to build a machine learning model](https://cloud.ibm.com/docs-content/v1/content/148d3bd95f946aa1bb53ea1540475f522e6b61c9/watson-knowledge-studio-data/images/wks-ovw-anno.svg) Figure 1. Overview of the process to build a machine learning model



1. Based on a set of domain-specific source documents, the team creates a type system that defines entity types and relation types for the information of interest to the application that will use the model.
2.
Optional: Customize the types of files that are crawled.

The crawler is configured automatically to exclude a list of file extensions for file types that can be unsafe to crawl. You can add more file extensions to the excluded filter list, or list only the file extensions for file types that you want to include in the crawl. Listing the types of files to include is even more secure.

To change the file types that are crawled, in the Extension filter section, choose whether to use an Excluded or Included filter list. And then list the file extensions for the types of files you want to exclude or include.

This configuration option was introduced with the 4.0.3 release.
10. Optional: Specify the character set of the data to crawl.

The converter that is used by the crawler is configured automatically to detect the character set of the files before it converts them. However, you can choose to specify a different character encoding to use for the data conversion. To specify a character encoding, complete the following steps:



* Set the Automatic code page detection switch to Off.
* In the Code page to use field, specify the character encoding as a [Java Charset](https://docs.oracle.com/javase/8/docs/api/java/nio/charset/Charset.html) value. For example, UTF-8 or UTF-16. If you don't specify a character set, ISO-8859-1 is used.



This configuration option was introduced with the 4.0.3 release.
11. Optional: If you want to enable document-level security, in the Security section, set the Enable Document Level Security switch to On.

When you enable this option, your users can crawl and query content that they have access to. You must provide the details about the LDAP directory you want to use.

LDAP server URL
: The LDAP server URL to connect to. For example, ldap://<ldap_server>:<port>.

LDAP binding username
: The username to use to bind to the directory service.

LDAP binding user password
: The password that is associated with the binding username.
For more information, see [Rich responses](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-overviewdialog-overview-multimedia).





 4 November 2021 

Actions enhancement: Add variables to links
: In an actions skill, when including a link in an assistant response, you can now access and use variables. In the URL field for a link, type a dollar sign ($) character to see a list of variables to choose from.





 14 October 2021 

vgwHangUp message no longer sent
: Previously, the phone integration sent a message containing the text vgwHangUp to the assistant when a call was ended by the caller. This message is no longer sent.





 7 October 2021 

The new Watson Assistant
: The new Watson Assistant is now available! This new experience, focused on using actions to build customer conversations, is designed to make it simple enough for anyone to build a virtual assistant. Building, testing, publishing, and analyzing your assistant can all now be done in one simple and intuitive interface.



* New navigation provides a workflow for building, previewing, publishing, and analyzing your assistant.
* Each assistant has a home page with a task list to help you get started.
* Build conversations with actions, which 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.
* A new way to publish lets you review and debug your work in a draft environment before going live to your customers.
* Use a new suite of analytics to improve your assistant. Review which actions are being completed to see what your customers want help with, determine if your assistant understands and addresses customer needs, and decide how can you make your assistant better.
* New [documentation](https://cloud.ibm.com/docs/watson-assistant) focuses on the workflow of building, deploying, and improving your assistant.



You can easily switch to the new Watson Assistant and try it out. Visit the Manage menu for your Watson Assistant instance, then choose Switch to new experience.





 21 September 2021 

Analytics Overview change
: To improve reliability, the Values column has been removed from Top entities on the Analytics Overview page.
* Service



For help, see [Popular role assignments](https://cloud.ibm.com/docs/assistant?topic=assistant-access-controlaccess-control-recommendations). For a description of all your options, see [Understanding roles](https://cloud.ibm.com/docs/assistant?topic=assistant-access-controlaccess-control-iam-roles).
10. Optional: Select a single resource, such as a skill or assistant, and then assign the person to the appropriate service role for the resource.

For a description of your resource-level service options, see [Resource-level access roles](https://cloud.ibm.com/docs/assistant?topic=assistant-access-controlaccess-control-resource-service-roles).
11. Click Add.
12. Click Invite to finish the process.



When more people contribute to the development of a dialog skill, unintended changes can occur, including skill deletions. Only one person can edit an intent, entity, or a dialog node at a time. If multiple people work on the same item at the same time, then the changes that are made by the person who saves their changes last are the only changes applied. Changes that are made at the same time by someone else and that are saved first are not retained. Coordinate the updates that you plan to make with your team members to prevent anyone from losing their work. Also, consider creating backup copies of your dialog skill regularly, so you can roll back to an earlier version if necessary. To create a backup, [download the skill as a JSON file](https://cloud.ibm.com/docs/services/assistant?topic=assistant-skill-tasksskill-tasks-download). If you use an actions skill, each team member can work on a single action at a time.





 Popular role assignments 

To get you started quickly, consider applying these roles at first.



* To give someone the same level of access to a Watson Assistant service instance as you have, assign the user to the following roles:



* Instance platform role: Administrator
* Instance service role: Manager
Adding an extension to your assistant 

After you build a custom extension, you must add it to the assistant before it can be accessed by actions.

Adding the extension to the assistant configures the extension for use within a particular environment, and it makes the extension available so that it can be called from actions.

You can use different configuration details for each environment. For example, you might want to use the URL for a test server in the draft environment, but a production server in the live environment.

For information about how to create a custom extension, see [Build a custom extension](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-build-custom-extension).



 Adding the extension to the draft environment 

To add a custom extension to the assistant, follow these steps:



1. On the ![Integrations icon](https://cloud.ibm.com/docs-content/v1/content/ca9232b3702768f24bb897f48f10778fcda28718/watson-assistant/images/integrations.svg)Integrations page, scroll to the Extensions section and find the tile for the custom extension you want to add.
2. Click Add. Review the overview of the extension and click Confirm to configure it for your assistant.

When you first add an extension to an assistant, the configuration settings you provide are applied only to the draft environment. You must complete configuration for the draft environment before you can add the extension in the live environment.
3. Read the information in the Get started step, and then click Next.
4. In the Authentication step, specify the authentication and server information you want your assistant to use when it calls the service.



* In the Authentication type field, select the type of authentication to use (or No authentication if the API is not authenticated). The available authentication types are determined by the security schemes that are defined in the OpenAPI document.
* Specify the additional information required for the authentication type you selected (such as the username and password, API key, bearer token, or OAuth 2.0 details).
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 access 

You can give other people access to your Watson Assistant resources, and control the level of access they get.

Maybe you want one development team to have access to a test assistant and another development team to have access to a production assistant. And you want data scientists to be able to view analytics for user conversation logs from both assistants. And maybe you want a writer to be able to author the dialogue that is used by your assistant to converse with your customers. To manage who can do what with your skills and assistants, you can assign different access roles to different people.



 Before you grant access to others 

For each person to whom you grant access to your Watson Assistant service instance, decide whether you want to give the person a role with instance-level or resource-level access. Instance-level access applies to all of the assistants and skills in a single service instance. Resource-level access applies to individual skills and assistants within a service instance only.





 Granting users access to your resources 



1. If you plan to give a user access to a single skill or assistant in your service instance, get the ID for the skill or assistant. You need to provide the ID in a later step.



* To get the assistant ID, go to the Assistants page. Click the overflow menu for the assistant, and then click Settings > API Details. Copy the assistant ID and paste it somewhere that you can access it from later.
* To get the skill ID, go to the Skills page. Click the overflow menu for the skill, and then click View API Details. Copy the skill ID and paste it somewhere that you can access it from later.



2. Click the User ![User](https://cloud.ibm.com/docs-content/v1/content/417db917d18067d9dcc4cf2612564a9a87c3ddc8/assistant/images/user-icon2.png) icon in the page header.
3.
Overview: Previewing and publishing 

After you build an assistant, you can test to make sure it works as you intended before you make it available to customers. Watson Assistant makes it straightforward to preview your assistant in a closed environment and manage exactly what you make available to customers.

An assistant consists of three core elements:



* Content: The conversation logic and words that are used to respond to your customer. Content is required for every assistant.
* Channels: The location where your assistant interacts with your customers, such as the web chat interface on your website. At least one channel is required for every assistant.
* Extensions: Add-ons to the end experience that help solve specific customer problems (for example, searching existing help content).



In general, you follow this high-level process throughout the life of your assistant:



1. Build your initial content.
2. Test your content in the draft environment, and gain approval from team members.
3. Publish different versions of your draft content.
4. Set up the channels in your live environment where customers interact with your assistant.
5. Assign your published version to the live environment for customers to use.
6. Use analytics to improve your assistant and republish content as needed.





 Environments 

You can group your work in separate containers that are called environments. Each environment contains its own content, channels, and extensions. Environments also have their own IDs, URLs, and service credentials that can be referenced by external services.

Each new assistant comes with two environments: the draft environment and the live environment. On the Environments page, the draft environment can be managed from the Draft environment tab, and the live environment can be managed from the Live environment tab. 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.
From the Assistants page, find the assistant that you want to rename.
2. Click the ![open and close list of options](https://cloud.ibm.com/docs-content/v1/content/417db917d18067d9dcc4cf2612564a9a87c3ddc8/assistant/images/kebab.png) icon, and then choose Rename.
3. Edit the name, and then click Save.





 Changing the skill that is associated with the assistant 

You can add one conversation skill (actions or dialog) and one search skill to an assistant. If you want to change a skill that your assistant is using, you can swap one conversation skill or one search skill for another skill.



1. From the Assistants page, open the assistant.
2. Click the ![open and close list of options](https://cloud.ibm.com/docs-content/v1/content/417db917d18067d9dcc4cf2612564a9a87c3ddc8/assistant/images/kebab.png) icon for the skill you want to swap, and then choose Swap skill.

To swap the current dialog skill for a different version of the skill, choose Change skill version.
3. Choose an existing skill to use instead or [create a skill](https://cloud.ibm.com/docs/assistant?topic=assistant-skill-add).
[open and close list of options](https://cloud.ibm.com/docs-content/v1/content/a2b18c153837bce00a5b4de496e4b4ca64bbf56e/assistant-data/images/kabob-beta.png) icon, and then choose Delete. Confirm the deletion.







 Renaming an assistant 

You can change the name of an assistant and its associated description after you create the assistant.

To rename an assistant, follow these steps:



1. From the Assistants tab, find the assistant that you want to rename.
2. Click the ![open and close list of options](https://cloud.ibm.com/docs-content/v1/content/a2b18c153837bce00a5b4de496e4b4ca64bbf56e/assistant-data/images/kabob-beta.png) icon, and then choose Rename.
3. Edit the name, and then click Rename to save your changes.





 Changing the skill that is associated with the assistant 

You can add one skill of each skill type to an assistant. If you want to change a skill that your assistant is using, you can swap one skill for another skill.



1. From the Assistants tab, open the assistant.
2. Click the ![open and close list of options](https://cloud.ibm.com/docs-content/v1/content/a2b18c153837bce00a5b4de496e4b4ca64bbf56e/assistant-data/images/kabob-beta.png) icon for the skill you want to swap, and then choose Swap skill.

To swap the current dialog skill for a different version of the skill, choose Change skill version.
3. Choose an existing skill to use instead or [create a skill](https://cloud.ibm.com/docs/assistant-data?topic=assistant-data-skill-add).

You cannot swap search skills currently.







 Switching between service instances