vania-janet/multiturn-rag-retrieval-data huggingface dataset:
* Do not use any characters or symbols that are not included in the previous sets.









 Using the display_as field 

The display_as field specifies how a word is displayed in a transcript. It is intended for cases where you want the service to display a string that is different from the word's spelling. For example, you can indicate that the word hhonors is to be displayed as HHonors regardless of whether it sounds like hilton honors or h honors.

IBM Cloud

curl -X PUT -u "apikey:{apikey}" --header "Content-Type: application/json" --data "{"sounds_like": ["hilton honors", "H. honors"], "display_as": "HHonors"}" "{url}/v1/customizations/{customization_id}/words/hhonors"

IBM Cloud Pak for Data

curl -X PUT --header "Authorization: Bearer {token}" --header "Content-Type: application/json" --data "{"sounds_like": ["hilton honors", "H. honors"], "display_as": "HHonors"}" "{url}/v1/customizations/{customization_id}/words/hhonors"

As another example, you can indicate that the word IBM is to be displayed as IBM™.

IBM Cloud

curl -X PUT -u "apikey:{apikey}" --header "Content-Type: application/json" --data "{"sounds_like": ["I. B. M."], "display_as":"IBM™"}" "{url}/v1/customizations/{customization_id}/words/IBM"

IBM Cloud Pak for Data

curl -X PUT --header "Authorization: Bearer {token}" --header "Content-Type: application/json" --data "{"sounds_like": ["I. B. M."], "display_as":"IBM™"}" "{url}/v1/customizations/{customization_id}/words/IBM"
"name": "audio1",
"details": {
"codec": "pcm_s16le",
"type": "audio",
"frequency": 22050
}
"status": "ok"
},
{
"duration": 556,
"name": "audio2",
"details": {
"type": "archive",
"compression": "zip"
},
"status": "ok"
},
{
"duration": 0,
"name": "audio3",
"details": {},
"status": "being_processed"
}
]
}
Show more





 List an audio-type resource example 

The following example returns information about the audio-type resource named audio1:

IBM Cloud

curl -X GET -u "apikey:{apikey}" "{url}/v1/acoustic_customizations/{customization_id}/audio/audio1"

IBM Cloud Pak for Data

curl -X GET --header "Authorization: Bearer {token}" "{url}/v1/acoustic_customizations/{customization_id}/audio/audio1"

The resource is 131 seconds long and is encoded with the pcm_s16le codec. It was successfully added to the model.

{
"duration": 131,
"name": "audio1",
"details": {
"codec": "pcm_s16le",
"type": "audio",
"frequency": 22050
}
"status": "ok"
}





 List an archive-type resource example 

The following example returns information about the archive-type resource named audio2:

IBM Cloud

curl -X GET -u "apikey:{apikey}" "{url}/v1/acoustic_customizations/{customization_id}/audio/audio2"

IBM Cloud Pak for Data
If not set, the context instance specified by ibmcloud cis instance-set INSTANCE is used.--output: Specify output format, only JSON is supported.<-- </section "id="section-update-cert-options" "> --><-- <section "id="section-update-cert-examples" "> --> Examples Update custom certificate 5a7805061c76ada191ed06f989cc3dac. ibmcloud cis certificate-update 31984fea73a15b45779fa0df4ef62f9b 5a7805061c76ada191ed06f989cc3dac --json '{"certificate": "-----BEGIN CERTIFICATE-----nMIIDtTCCAp2gAwIBAgIJAMHAwfXZ5/PWMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNVnBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBXnaWRnaXRzIFB0eSBMdGQwHhcNMTYwODI0MTY0MzAxWhcNMTYxMTIyMTY0MzAxWjBFnMQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50nZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBnCgKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmGdtcGbg/1nCGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKnabIRuGvBnKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpidtnKX/a+5n0GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+pyFxIXjbEIndZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pEewooaeO2nizNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABo4GnMIGkMB0GA1UdDgQWBBT/LbE4n9rWf288N6sJA5BRb6FJIGDB1BgNVHSMEbjBsgBT/LbE49rWf288N6sJA
ibmcloud dns custom-resolver-update RESOLVER_ID [--name NAME] [--enabled true|false] [--description DESCRIPTION] [-i, --instance INSTANCE] [--output FORMAT]



 Command options 

RESOLVER_ID
: The ID of custom resolver.

-n, --name
: The name of the custom resolver.

-d, --description
: The descriptive text of the custom resolver.

--enabled
: Whether to enable the custom resolver.

-i, --instance
: Instance name or ID. If not set, the context instance specified by dns instance-target INSTANCE is used.

--output
: Specify output format. Currently, json is the only supported format.





 Examples 

Update a custom resolver f1aba936b94213e5b8dca0c0dbf1f9cc for instance dns-demo.

ibmcloud dns custom-resolver-update f1aba936b94213e5b8dca0c0dbf1f9cc --name "example" --enabled true -description "demo" -i "dns-demo"







 ibmcloud dns custom-resolver 

Get a custom resolver details for a service instance.

ibmcloud dns custom-resolver RESOLVER_ID [-i, --instance INSTANCE] [--output FORMAT]



 Command options 

RESOLVER_ID
: The ID of custom resolver.

-i, --instance
: Instance name or ID. If not set, the context instance specified by dns instance-target INSTANCE is used.

--output
: Specify output format. Currently, json is the only supported format.





 Examples 

Get a custom resolver f1aba936b94213e5b8dca0c0dbf1f9cc for instance dns-demo.

ibmcloud dns custom-resolver f1aba936b94213e5b8dca0c0dbf1f9cc -i "dns-demo"
* UI
* CLI
* API







 Updating custom resolver locations 

You can update custom resolver locations in IBM Cloud® DNS Services by using the UI, CLI, or API.



 Updating a resolver location using the UI 

From the custom resolver details page, select the Resolver locations tab. Here you can enable or disable your custom resolver by setting the toggle switch. Change the priority of your resolver location by clicking the up or down arrows to alter the priority order of the list.

When the resolver location is disabled, the Subnet column changes to a list menu from which you can select a different subnet for your resolver location. When the resolver location is enabled, the Subnets column becomes static.





 Updating a resolver location using the CLI 

To update a resolver location using the CLI, run the following command:

ibmcloud dns custom-resolver-location-update RESOLVER_ID LOCATION_ID [--subnet SUBNET_CRN] [--enabled true|false] [-i, --instance INSTANCE] [--output FORMAT]

Where:



* RESOLVER_ID is the ID of custom resolver.
* LOCATION_ID is the ID of the custom resolver location.
* --subnet is the CRN of the subnet.
* --enabled determines whether to enable the custom resolver location.
* -i, --instance is the instance name or ID. If this is not set, the context instance specified by dns instance-target INSTANCE is used instead.
* --output specifies output format. Currently, JSON is the only supported format.







 Adding a resolver location using the API 

To update a custom resolver location using the API, follow these steps:



1. Set up your API environment with the correct variables.
2. Store the following values in variables to be used in the API command:



* instance_id, which is the unique identifier of a service instance.
* resolver_id, which is the unique identifier of a custom resolver.
* location_id, which is the custom resolver location ID.
So that's, uhm, you know, that, as I say, is the is the predominant form today.

You can edit these peculiarities from the transcript, the audio, or both to create the following sentence:

So that as I say is the predominant form today.







 Performing lightly supervised training 

To train a custom acoustic model with a custom language model, you use the optional custom_language_model_id query parameter of the POST /v1/acoustic_customizations/{customization_id}/train method. Pass the GUID of the acoustic model with the customization_id parameter and the GUID of the custom language model with the custom_language_model_id parameter. Both models must be owned by the credentials that are passed with the request.



* Ensure that the custom language model is fully trained and in the available state. Training fails if the custom language model is not available.
* Ensure that both custom models are based on the same version of the same base model. If a new version of the base model is made available, you must upgrade both models to the same version of the base model for training to succeed. For more information, see [Upgrading custom models](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-custom-upgrade).







 Lightly supervised training example 

The following example request shows a custom language model being used to train a custom acoustic model:

IBM Cloud

curl -X POST -u "apikey:{apikey}" "{url}/v1/acoustic_customizations/{customization_id}/train?custom_language_model_id={customization_id}"

IBM Cloud Pak for Data

curl -X POST --header "Authorization: Bearer {token}" "{url}/v1/acoustic_customizations/{customization_id}/train?custom_language_model_id={customization_id}"







 Using custom language and custom acoustic models for speech recognition 

You can specify both a custom language model and a custom acoustic model with any speech recognition request. If your audio contains domain-specific OOV words, acoustic model customization alone cannot reliably produce those words during speech recognition.
An empty JSON array is sent with the words parameter to indicate that the model's entries are to remain unchanged.

IBM Cloud

curl -X POST -u "apikey:{apikey}" --header "Content-Type: application/json" --data "{"name":"Test Update", "description":"Customization test update", "words":[]}" "{url}/v1/customizations/{customization_id}"

IBM Cloud Pak for Data

curl -X POST --header "Authorization: Bearer {token}" --header "Content-Type: application/json" --data "{"name":"Test Update", "description":"Customization test update", "words":[]}" "{url}/v1/customizations/{customization_id}"

For information about updating the words in a model, see [Adding multiple words to a custom model](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customWordscuWordsAdd).





 Deleting a custom model 

To discard a custom model that you no longer need, use the DELETE /v1/customizations/{customization_id} method. Use this method only if you are sure that you no longer need the model, since deletion is permanent.

IBM Cloud

curl -X DELETE -u "apikey:{apikey}" "{url}/v1/customizations/{customization_id}"

IBM Cloud Pak for Data

curl -X DELETE --header "Authorization: Bearer {token}" "{url}/v1/customizations/{customization_id}"
Google custom search extension setup 

You can access Google search through an extension to your assistant that uses the [Google Programmable Search Engine](https://developers.google.com/custom-search/docs/overview). It is a configurable search that you can customize based on your use case.

To set up the extension for Google search:



 Get Search Engine ID and API key 

Create a Google Programmable Search Engine. Then, get its Search Engine ID and an API key. For detailed instructions, see [Create Programmable Search Engine](https://developers.google.com/custom-search/v1/introductioncreate_programmable_search_engine) in the Google Programmable Search Engine documentation.





 Download the OpenAPI specification 

Download the OpenAPI specification file: [google-custom-search-openapi.json](https://github.com/watson-developer-cloud/assistant-toolkit/blob/master/integrations/extensions/starter-kits/google-custom-search/basic/google-custom-search-openapi.json). You use this file to add the extension to your assistant.

The OpenAPI specification defines the following methods:



* GET /customsearch/v1: Search for content over the entire web.
* GET /customsearch/v1/siterestrict: Search for content over a specific collection of websites.



For more information about the endpoints, see [Custom Search](https://developers.google.com/custom-search/v1/reference/rest/v1/cse/list) or [Custom Search Site Restricted](https://developers.google.com/custom-search/v1/reference/rest/v1/cse.siterestrict/list).

The endpoints have the same arguments and responses, but with differences:



* Custom Search Site Restricted is restricted to searching 10 or fewer websites, each of which can have an unlimited number of pages.
* Custom Search can support any number of websites that is indexed by Google, but has a [daily query limit](https://developers.google.com/custom-search/v1/overviewpricing).
: Specify output format. Currently, json is the only supported format.





 Examples 

Get a custom resolver f1aba936b94213e5b8dca0c0dbf1f9cc for instance dns-demo.

ibmcloud dns custom-resolver f1aba936b94213e5b8dca0c0dbf1f9cc -i "dns-demo"







 ibmcloud dns custom-resolvers 

List custom resolvers for a service instance.

ibmcloud dns custom-resolvers [-i, --instance INSTANCE] [--output FORMAT]



 Command options 

-i, --instance
: Instance name or ID. If not set, the context instance specified by dns instance-target INSTANCE is used.

--output
: Specify output format. Currently, json is the only supported format.





 Examples 

List custom resolvers for instance dns-demo.

ibmcloud dns custom-resolvers -i "dns-demo"







 ibmcloud dns custom-resolver-delete 

Delete a custom resolver for a service instance.

ibmcloud dns custom-resolver-delete RESOLVER_ID [-i, --instance INSTANCE] [-f, --force]



 Command options 

RESOLVER_ID
: The ID of custom resolver.

-i, --instance
: Instance name or ID. If not set, the context instance specified by dns instance-target INSTANCE is used.

---f, --force
: Delete custom resolver without prompting for confirmation.





 Examples 

Delete a custom resolver f1aba936b94213e5b8dca0c0dbf1f9cc for instance dns-demo.

ibmcloud dns custom-resolver-delete f1aba936b94213e5b8dca0c0dbf1f9cc -i "dns-demo"







 ibmcloud dns custom-resolver-location-add 

Add custom resolver location for a service instance.
For more information about improved customization for next-generation models, see [Improved language model customization for next-generation models](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-customizationcustomLanguage-intro-ng).





 Guidelines for adding words to Japanese models based on improved next-generation models 

Do not add custom words for known words, words that are commonly recognized and have a general correspondence between the word and how it is pronounced. Use custom words to create a mapping between how less common words are spelled and how they are pronounced. Also use custom words to add unknown words, those that lack a correspondence between the word and its pronunciation or that are not commonly recognized as words. Adding such words to a corpus is equally effective.

The service enforces a maximum limit of 25 total characters, not including leading or trailing spaces, for custom words and sounds-likes. If you add a custom word or sounds-like that exceeds this limit, the service automatically treats the word as if it were added by a corpus. The word does not appear as a custom word for the model. For the most effective training, it is recommended that Japanese custom words and sounds-likes contain no more than 20 characters. Add long words such as ＩＢＭクラウド音声認識サービス to a corpus.

For example, the pronunciation アイビーエム for the word ＩＢＭ is recognized without customization, so there is no need to add it as a custom word. Because ＩＢＭ, クラウド, 音声認識, and サービス are common words, adding them as custom words has no effect.

For a custom word, enter a commonly used notation that reflects the word's usage and pronunciation. This allows for more efficient customization. For instance, the following example does not reliably produce the string Artificial_Intelligence in response to the utterance エーアイ because Artificial_Intelligence and 人工知能 are not generally uttered as AI:

{"word": "Artificial_Intelligence", "sounds_like": ["エーアイ"], "display_as": "Artificial_Intelligence"},
{
"word": "HHonors",
"sounds_like":
"hilton honors",
"H. honors"
],
"display_as": "HHonors",
"count": 1,
"source":
"corpus1",
"user"
]
},
{
"word": "IEEE",
"sounds_like": "I. triple E."],
"display_as": "IEEE",
"count": 3,
"source":
"corpus1",
"corpus2",
"user"
]
},
{
"word": "tomato",
"sounds_like":
"tomatoh",
"tomayto"
],
"display_as": "tomato",
"count": 1,
"source": "user"]
}
]
}
Show more





 List a specific custom word example 

The following example shows information about the word NCAA from the words resource of the specified model:

IBM Cloud

curl -X GET -u "apikey:{apikey}" "{url}/v1/customizations/{customization_id}/words/NCAA"

IBM Cloud Pak for Data

curl -X GET --header "Authorization: Bearer {token}" "{url}/v1/customizations/{customization_id}/words/NCAA"

The user added the word initially. The service then found the word twice in corpus3. These words were also added to a custom model that is based on a previous-generation model.

{
"word": "NCAA",
"sounds_like": [
"N. C. A. A.",
"N. C. double A."
],
"display_as": "NCAA",
"count": 3,
"source": [
"corpus3",
"user"
]
}
It is a best practice to preserve this information in a format that you can use to re-create your custom acoustic models in the event of a failure. Actively maintaining the information about your custom models and their audio resources, and preparing the calls listed in the following section ahead of time, can enable you to recover as quickly as possible.





 Restoring custom acoustic models 

If you need to recover from a disaster, you can use the backup information to re-create your custom acoustic models and their data:



1. To re-create your custom acoustic models, use the POST /v1/acoustic_customizations method. For more information, see [Create a custom acoustic model](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-acousticcreateModel-acoustic).
2. To add the audio resources to your custom models, use the POST /v1/acoustic_customizations/{customization_id}/audio/{audio_name} method. For more information, see [Add audio to the custom acoustic model](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-acousticaddAudio).
3. To train your custom models once you restore your audio resources, use the POST /v1/acoustic_customizations/{customization_id}/train method. For more information, see [Train the custom acoustic model](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-acoustictrainModel-acoustic).



The methods that you use to add audio resources and to train a custom acoustic model are asynchronous. You need to monitor the requests until they complete.

You can incrementally add audio resources and train your custom acoustic models rather than adding all data before training the models. For example, you can add your audio resources one at a time or in groups, training your models on subsets of the audio resources rather than on all of the audio at one time.







 Disaster recovery for asynchronous speech recognition jobs 

For speech recognition with the asynchronous HTTP interface, you need to maintain the following information:
Delete a custom resolver f1aba936b94213e5b8dca0c0dbf1f9cc for instance dns-demo.

ibmcloud dns custom-resolver-delete f1aba936b94213e5b8dca0c0dbf1f9cc -i "dns-demo"







 ibmcloud dns custom-resolver-location-add 

Add custom resolver location for a service instance.

ibmcloud dns custom-resolver-location-add RESOLVER_ID --subnet SUBNET_CRN [--enabled true|false] [-i, --instance INSTANCE] [--output FORMAT]



 Command options 

RESOLVER_ID
: The ID of custom resolver.

--subnet
: The CRN of the subnet.

--enabled
: Whether to enable the custom resolver location.

-i, --instance
: Instance name or ID. If not set, the context instance specified by dns instance-target INSTANCE is used.

--output
: Specify output format. Currently, json is the only supported format.





 Examples 

Add a location in custom resolver f1aba936b94213e5b8dca0c0dbf1f9cc for instance dns-demo.

ibmcloud dns custom-resolver-location-add f1aba936b94213e5b8dca0c0dbf1f9cc --subnet crn:v1:bluemix:public:is:us-south-1:a/01652b251c3ae2787110a995d8db0135::subnet:0716-b49ef064-0f89-4fb1-8212-135b12568f04 --enabled true -i "dns-demo"







 ibmcloud dns custom-resolver-location-update 

Update custom resolver location for a service instance.
For more information, see [Modifying words in a custom model](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-languageCreatemodifyWord).



For more information about validating the words in a custom language model, see



* [Validating a words resource for previous-generation models](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-corporaWordsvalidateModel)
* [Validating a words resource for next-generation models](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-corporaWords-ngvalidateModel-ng).



* Set the strict parameter of the POST /v1/customizations/{customization_id}/train method to false to exclude invalid resources from the training. The model must contain at least one valid resource (corpus, word, or grammar) for training to succeed. The strict parameter is useful for training a custom model that contains a mix of valid and invalid resources.
curl -X POST --header "Authorization: Bearer {token}" --header "Content-Type: application/zip" --header "Contained-Content-Type: audio/l16;rate=16000" --data-binary @audio2.zip "{url}/v1/acoustic_customizations/{customization_id}/audio/audio2"



The method also accepts an optional allow_overwrite query parameter to overwrite an existing audio resource for a custom model. Use the parameter if you need to update an audio resource after you add it to a model.

The method is asynchronous. It can take several seconds or minutes to complete depending on the duration of the audio. For an archive file, the length of the operation depends on the duration of all audio files contained in the archive. The duration of the operation also depends on the current load on the service. For more information about checking the status of a request to add an audio resource, see [Monitoring the add audio request](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-acousticmonitorAudio).

You can add any number of audio resources to a custom model by calling the method once for each audio or archive file. You can make multiple requests to add different audio resources simultaneously.

You must add a minimum of 10 minutes of audio that includes speech, not silence, to a custom acoustic model before you can train it. No audio- or archive-type resource can be larger than 100 MB.



* For general guidance about adding audio to a custom acoustic model, see [Guidelines for adding audio](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-audioResourcesaudioGuidelines).
* For more information about the maximum amount of audio that you can add to a custom acoustic model, see [Maximum hours of audio](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-audioResourcesaudioMaximum).





 Monitoring the add audio request 

The service returns a 201 response code if the audio is valid.
...
"injected_custom_data": {
"key1": "value11",
"key2": "value2",
"key3": "value3"
}
...
}
}





 Removing custom CDR data 

To remove a key from the CDR custom data, set the cdr_custom_data context variable with that key set to "".

The following example shows that to remove the key1 field from the custom CDR data, you would overwrite the key1 value with a blank, ""

"context": {
"integrations": {
"voice_telephony": {
"cdr_custom_data": {
"key1": ""
}
}
}
}