vania-janet/multiturn-rag-retrieval-data huggingface dataset:
If you encounter an error when you try to import the JSON file, make sure the file satisfies all of the requirements that are listed in [Preparing the API definition](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-build-custom-extensionbuild-custom-extension-openapi-file). Edit the file to correct errors or remove unsupported features. Click the X to clear the error message, and try the import again.

After you import the file successfully, click Next.
6. In the Review extension step, review what has been imported.



* The Review authentication table shows information about the authentication methods that are defined in the OpenAPI document. (Authentication methods are defined by the securitySchemes object in the OpenAPI document.)
* The Review servers table shows the URLs of the servers that are defined in the OpenAPI document, along with any server variables that must be specified.
* The Review operations table shows the operations that the assistant is able to call from an action step. An operation is a request by using a particular HTTP method, such as GET or POST, on a particular resource.

![Review operations table](https://cloud.ibm.com/docs-content/v1/content/ca9232b3702768f24bb897f48f10778fcda28718/watson-assistant/images/extension-review-operations.png)

For each operation, a row in the table shows the following information:



* Operation: A description of the operation, which is derived from either the summary (if present) or description in the OpenAPI file.
* Method: The HTTP method used to send the API request for the operation.
* Resource: The path to the resource the operation acts upon.



To see more information about an operation, click the !
For more information about how Dockerfile instructions can be specified, see [Dockerfile reference](https://docs.docker.com/engine/reference/builder/).

In a Code Engine build, you define a source that points to a Git repository. The context that is available to the Docker build is, by default, the root directory of your Git repository. For example, if you have a directory that is named src in your repository, then you can use the COPY statement in the Dockerfile to copy this directory into your image. For example,

COPY src /app/src

To copy the entire Git repository, specify the following COPY statement,

COPY . /app/src

If you copy the entire Git repository, but want to exclude some files, for example the README.md of the repository, then you can add a [.dockerignore file](https://docs.docker.com/engine/reference/builder/dockerignore-file). Use the same file to also ignore the files and directories that you specify in your [.gitignore file](https://git-scm.com/docs/gitignore). By using the same file, you ensure that a build that you run locally has the same set of files available as the build running in Code Engine.

Always copy your application files into a subdirectory of the root (/) rather than into the root directly to avoid conflicts with operating system files. When you name your application directory, do not use one that is reserved by Unix-based operating systems, Kubernetes or Code Engine builds, such as /bin, /dev, /etc, /lib, /proc, /run, /sys, /usr, /var, or /workspace. Naming your application directory /app is a best practice.

If your source code repository contains the sources for different applications that are organized in directories, similar to the [Code Engine samples repository](https://github.com/IBM/CodeEngine), then you can use a subdirectory as your context.
[Code Engine workloads in Satellite overview](https://cloud.ibm.com/docs-content/v1/content/ad5f41087138b4b1bb795e3b5b0661ac5a105cbd/codeengine/images/ce_on_sat.svg)

Figure 1. Code Engine workloads in Satellite overview



 Limitations for Beta 



* Supported in the eu-de region only.
* No support for building images from source.
* No support for subscriptions.
* No support for SOC2.
* No support for IBM Cloud Framework for Financial Services validation.
* No support for autoscaling your nodes.
* No logs or monitoring metrics are collected.
* No support for private endpoints.
* If you use service binding, you must set up your bind through the UI and the service you are binding to must be accessible from your Satellite location.
* No support for Code Engine CLI. You must create and access your compute environment from the Code Engine console.



To request inclusion to the allowlist for Code Engine on Satellite, you must contact support by [opening a case](https://cloud.ibm.com/unifiedsupport/cases/form).

After your create your compute environment, the Satellite location includes a link to the cluster; however, you cannot access it directly.





 Prerequisites for running Code Engine workloads in Satellite 

Before you begin, set up your Satellite location, label your hosts, and meet your minimum host requirements.



* Verify that your infrastructure meets the [minimum host requirements](https://cloud.ibm.com/docs/satellite?topic=satellite-host-reqs) for Satellite.
* Create a [Satellite location](https://cloud.ibm.com/docs/satellite?topic=satellite-locations).
* Label the hosts to use for Code Engine with the env:codeengine label. For more information, see [Assigning hosts with host auto assignment](https://cloud.ibm.com/docs/satellite?topic=satellite-assigning-hostshost-autoassign-ov).
Why can't I write rules for the topic? 

The section to add conditions (rules) for the topic is not visible.

  What’s happening 

When you create a topic, you cannot see the section to add conditions (rules) for the topic. You see a message, 'No sources available to configure conditions'.

Zoom

![Unable to create rules](https://cloud.ibm.com/docs-content/v1/content/4c9a07fe500838e5e55e71e73131ef20b44a6c66/event-notifications/images/en-ts-rules.png)

Figure 1. Unable to add conditions for the topic

Either of the following issues might cause this error message:

  Why it’s happening 



*  Event Notifications service is not integrated with the IBM Managed Service. For a list of integrated services, see [Event sources](https://cloud.ibm.com/docs/event-notifications?topic=event-notifications-en-source).
*  Event Notifications service is integrated with the IBM Managed service but the source service is not added and authorized.



  How to fix it 

Provide service-to-service authorization between the IBM Managed service and Event Notifications. Integrate Event Notifications service with IBM Managed service, which registers IBM Managed service (for example, Security and Compliance Center) as source with Event Notifications service instance.

Zoom

![Add conditions](https://cloud.ibm.com/docs-content/v1/content/4c9a07fe500838e5e55e71e73131ef20b44a6c66/event-notifications/images/en-ts-rules2.png)

Figure 2. Add conditions for the topic)

When the source is registered with Event Notifications service, you can add conditions (rules) to the topic.
(https://cloud.ibm.com/docs/codeengine?topic=codeengine-image-cannot-pullimage-cannot-pull)



* [Next steps](https://cloud.ibm.com/docs/codeengine?topic=codeengine-image-cannot-pullimage-cannot-pull-next)







 Troubleshooting jobs 

[Debugging jobs](https://cloud.ibm.com/docs/codeengine?topic=codeengine-troubleshoot-jobtroubleshoot-job)



* [Job limits to consider](https://cloud.ibm.com/docs/codeengine?topic=codeengine-troubleshoot-jobts-job-limits)
* [Getting logs for my jobs](https://cloud.ibm.com/docs/codeengine?topic=codeengine-troubleshoot-jobts-jobrun-gettinglogs)
* [Getting system event information for my jobs](https://cloud.ibm.com/docs/codeengine?topic=codeengine-troubleshoot-jobts-job-gettingevent)



[Why can't I submit a job run with the CLI?](https://cloud.ibm.com/docs/codeengine?topic=codeengine-ts-jobrun-submit-fails-clits-jobrun-submit-fails-cli)

[Why is my job run not starting?](https://cloud.ibm.com/docs/codeengine?topic=codeengine-ts-jobrun-notstartts-jobrun-notstart)

[Why is my job run not completing?](https://cloud.ibm.com/docs/codeengine?topic=codeengine-ts-jobrun-doesnotcompletets-jobrun-doesnotcomplete)

[I'm over my limit for jobs or job runs. How can I delete them?]
If you're looking to provide feedback, see [Submitting feedback](https://cloud.ibm.com/docs/overview?topic=overview-feedback).



 Providing support case details 

To ensure that the support team can start investigating your case to provide a timely resolution, include details from the Schematics logs:



1. Find the Schematics log:



1. In the IBM Cloud console, go to Schematics > Workspaces > deployable architecture instance.
2. From the workspace Activity page, select the Schematics apply action that failed.
3. Click Jobs to see the detailed log output.



2. Provide errors from the Schematics log:



1. In the log file, find the last action that Schematics started before the error occurred. For example, in the following log output, Schematics tried to run a copy script in the instances_module module by using the Terraform null_resource.

2021/05/24 05:03:41 Terraform apply | module.instances_module.module.compute_remote_copy_rpms.null_resource.remote_copy[0]: Still creating... [5m0s elapsed]
2021/05/24 05:03:41 Terraform apply 
2021/05/24 05:03:42 Terraform apply 
2021/05/24 05:03:42 Terraform apply 
2021/05/24 05:03:42 Terraform apply | Error: timeout - last error: ssh: rejected: connect failed (Connection timed out)
2. Paste the errors into the case details.



3. Provide the architecture name, source URL, and version from the log:



1. In the log file, find the architecture information. In the following example, you see the Related Workspace, sourcerelease, and sourceurl:
"crn": "crn:v1:bluemix:public:schematics:us-south:a/1f7277194bb748cdb1d35fd8fb85a7cb:9ae7be42-0d59-415c-a6ce-0b662f520a4d:blueprint:Blueprint-Basic-Test-API.soB.347a",
"account": "1f7277194bb748cdb1d35fd8fb85a7cb",
"created_at": "2022-11-23T14:32:45.897540037Z",
"created_by": "test@in.ibm.com",
"updated_at": "2022-11-23T14:43:01.561699411Z",
"updated_by": "test@in.ibm.com",
"sys_lock": {
"sys_locked_at": "0001-01-01T00:00:00Z"
},
"user_state": {
"set_at": "0001-01-01T00:00:00Z"
},
"state": {}
}

For more information, see [troubleshooting section](https://cloud.ibm.com/docs/schematics?topic=schematics-bp-apply-fails).







 Next steps 

After updating the blueprint configuration in Schematics, the next step is to [apply](https://cloud.ibm.com/docs/schematics?topic=schematics-apply-blueprint) the changes.
With this app revision, this app outputs Hello World from Code Engine and the output includes the names of the environment variables, which were added in the previous steps.



When you set environment variables in your app or job, this action adds a new environment variable or overrides an existing environment variable. If you have an environment variable with the same Name, and specify a different value than the previously defined environment variable, then the updated environment variable overrides the existing value. For example, if you have a defined environment variable that is named envvar1 and its value is myenvar1, and you define another environment variable that is also named envvar1 and specify its value as mynewenvvar1, then after you save and deploy your updated app or you save your updated job, your running app, or job uses the envvar1 environment variable with value mynewenvvar1.





 Updating environment variables from the console 



1. To update an existing environment variable, go to your app or job that includes the environment variable that you want to change and click the Environment variables tab to display your table of environment variables.
2. From the table of environment variables, click the environment variable that you want to update.
3. From the Edit environment variable page, make your update and click Done to save your changes. When you edit your environment variable, you can change the Defined by value and its corresponding required fields.
4. Click Save and deploy to deploy your application with your changes or click Save to run your job with your changes. When your app or job is in Ready state, your app or job is updated with your environment variables.







 Creating and updating environment variables with the CLI 

Create and manage environment variables with the Code Engine CLI.

You can define environment variables when you create your app or job, or when you update an existing app or job with the CLI.

When you create an environment variable with the CLI, you can reference configmaps or secrets, or you can create a literal environment variable. These instructions describe creating and updating literal environment variables with the CLI.
segment_rules <Array>
collections <Array>
name IBMers
feature_id ibm-discount
description Discount given to IBM employees
disabled_value false
enabled true
created_time 2021-02-02T17:52:46Z
updated_time 2021-02-02T17:52:46Z









 ibmcloud ac feature get 

You can get a feature, by using the command:

ibmcloud ac feature get --environment_id ENVIRONMENT_ID --feature_id FEATURE_ID [--include INCLUDE]



 Command options 

--environment_id ENVIRONMENT_ID
: Environment ID

--feature_id FEATURE_ID
: Feature ID for the feature flag.

--include INCLUDE (optional)
: Include the associated collections in the response.





 Example 

To get a feature with ID ibm-discount, run the following command:

ibmcloud ac feature get --environment_id "production" --feature_id ibm-discount



 Output 

The command returns the following output:

name type disabled_value updated_time feature_id description enabled_value created_time order rules value
IBMers BOOLEAN false 2021-02-02T17:52:46Z ibm-discount Discount given to IBM employees true 2021-02-02T17:52:46Z 1 <Array> true









 ibmcloud ac feature update 

You can update a feature, by using the command:

ibmcloud ac feature update {--file FILE-PATH | --environment_id ENVIRONMENT_ID --name NAME --feature_id FEATURE_ID --description DESCRIPTION --enabled_value ENABLED_VALUE --disabled_value DISABLED_VALUE --enabled ENABLED --tags TAGS --segment_rules SEGMENT_RULES --collections COLLECTIONS}



 Command options 

--environment_id ENVIRONMENT_ID
: Environment ID

--name NAME
: Feature name. Required field - input either as a flag or from file.

--feature_id FEATURE_ID
: Feature ID. Required field - input either as a flag or from file.

--description DESCRIPTION
: Description of the feature.
--enabled_value ENABLED_VALUE
: Value of the feature when it is enabled. Required field - input either as a flag or from file.

--disabled_value DISABLED_VALUE
: Value of the feature when it is disabled. Required field - input either as a flag or from file.

--tags TAGS
: Tags associated with the feature. Required field - input either as a flag or from file.

--segment_rules SEGMENT_RULES
: Specify the targeting rules that are used to set different values for different segments.

--enabled ENABLED
: The state of the feature flag.

--collections COLLECTIONS
: Collections array.

--file FILE
: Input through file. File format Supported - JSON





 Example 

To create a collection with name sample using flags ([click here](https://cloud.ibm.com/docs/app-configuration?topic=app-configuration-cli-plugin-app-configuration-cliac-fileinput) for using commands with '--file' flag), run the following command:

ibmcloud ac feature create --environment_id "production" --name "IBMers" --feature_id "ibm-discount" --description "Discount given to IBM employees" --type "BOOLEAN" --enabled_value true --disabled_value false --segment_rules '[{"rules":{"segments":"ibm_employees"]}],"value": true,"order": 1}]' --collections '[{"collection_id":"corporatediscount","enabled": true}]' --tags "discount,sale" --enabled true



 Output 

The command returns the following output:

type BOOLEAN
enabled_value true
segment_rules <Array>
collections <Array>
name IBMers
feature_id ibm-discount
description Discount given to IBM employees
disabled_value false
enabled true
created_time 2021-02-02T17:52:46Z
updated_time 2021-02-02T17:52:46Z









 ibmcloud ac feature get
Select a value for Tag; for example, latest.
16. Click Done. You selected your image in the registry to reference from your job.
17. Modify any default values for environment variables or runtime settings. For more information about these options, see [Options for creating and running a job](https://cloud.ibm.com/docs/codeengine?topic=codeengine-job-planjob-options).
18. From the Create job page, click Create.
19. After your job is created, the job page for your specific job opens. From your job page, click Submit job to submit a job based on the current configuration.



To add registry access before you create a job configuration, see [Accessing container registries](https://cloud.ibm.com/docs/codeengine?topic=codeengine-add-registry).





 Creating a job with an image from a private registry with CLI 

To create a job configuration with an image from a private registry with CLI, use the job create command. This command requires a name and an image and also allows other optional arguments. For a complete listing of options, see the [ibmcloud ce job create](https://cloud.ibm.com/docs/codeengine?topic=codeengine-clicli-job-create) command.

Before you begin



* Set up your [Code Engine CLI](https://cloud.ibm.com/docs/codeengine?topic=codeengine-install-cli) environment.
* [Create and work with a project](https://cloud.ibm.com/docs/codeengine?topic=codeengine-manage-project).
* Before you can work with a Code Engine job that references an image in a private registry, you must first add access to the registry, pull the image, and then create your job configuration.





1. To pull images from a private registry, you must first create a private registry.
For information about required permissions for accessing image registries, see [Setting up authorities for image registries](https://cloud.ibm.com/docs/codeengine?topic=codeengine-add-registryauthorities-registry).



1. Open the [Code Engine](https://cloud.ibm.com/codeengine/overview) console.
2. Select Start creating from Start from source code.
3. Select Job.
4. Enter a name for the job. Use a name for your job that is unique within the project.
5. Select a project from the list of available projects. You can also [create a new one](https://cloud.ibm.com/docs/codeengine?topic=codeengine-manage-projectcreate-a-project). Note that you must have a selected project to create a job.
6. Select Source code.
7. Click Specify build details.
8. Select a source repository, for example, https://github.com/IBM/CodeEngine. Because we are using sample source that does not require credentials, select None for the Code repo access. You can optionally provide a branch name. If you do not provide a branch name and you leave the field empty, Code Engine automatically uses the default branch of the specified repository. Click Next.
9. Select a strategy for your build and resources for your build. For more information about build options, see [Planning your build](https://cloud.ibm.com/docs/codeengine?topic=codeengine-plan-build). Click Next.
10. Provide registry information about where to store the image of your build output. Select a container registry location, such as IBM Registry, Dallas. If your registry is private, you must [set up access](https://cloud.ibm.com/docs/codeengine?topic=codeengine-add-registry) to it.
11. Select an existing Registry access secret or create a new one.
You must specify values for all required parameters before you can proceed.
7. If you want to specify a value for any optional parameters, click Optional parameters. You can then repeat this process for each optional parameter you want to use.
8. Click Apply. (If the Apply button is not available, check to make sure you have specified values for all required parameters.)



The And then section of the step editor now shows an overview of the call to the extension:

![Overview of configured call to extension](https://cloud.ibm.com/docs-content/v1/content/ca9232b3702768f24bb897f48f10778fcda28718/watson-assistant/images/extension-and-then.png)

If you need to make changes, click Edit extension to reopen the Extension setup window.



 Compatible variables for parameters 

To pass an input parameter value for an operation, you must select a compatible action variable or session variable.

An action variable contains a value that is based on a customer response in a previous step. A session variable might have a value based on a customer response or a value defined by an expression. (For more information about action variables and session variables, see [Using variables to manage conversation information](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-manage-info).)

When you assign a value to a parameter, the variable you choose must be compatible with the data type of the parameter. (For example, a number parameter must be assigned a numeric value rather than text.)

The following table shows the possible customer response types and the parameter data type compatible with each.



Compatible response types for parameters

 Customer response type Compatible data types Notes 

 options string A selected option is always treated as a string, even if it is a numeric value. 
 number number <br>integer A floating-point number passed as the value for an integer parameter might cause an error, depending on the behavior of the REST API. 
 date string Dates are rendered as YYYY-MM-DD.
If the registry access does not exist, you must first [create your IAM API key](https://cloud.ibm.com/docs/codeengine?topic=codeengine-add-registryimages-your-account-api-key) and then [Add registry access to Code Engine](https://cloud.ibm.com/docs/codeengine?topic=codeengine-add-registryadd-registry-access-ce).



If you want to update only the registry access to your image, you can make this change without clicking Configure image to open the configure image dialog and use the Registry access menu to select an existing registry access or [create a registry access to Code Engine](https://cloud.ibm.com/docs/codeengine?topic=codeengine-add-registryadd-registry-access-ce) for the image that is referenced by your application.

5. Click Done. You selected your image in the registry to reference from your app.
6. Click Save and create to save your change and deploy the app revision.
7. After the application status changes to Ready, you can test the app revision. Click Test application and then click Send request in the Test application pane. To open the application in a web page, click Application URL. For this app, Hello World from Code Engine is displayed.







 Updating an app to reference a different image in Container Registry with the CLI 

Update an application to reference a different image in Container Registry from the Code Engine CLI.

For this example, update the myhelloapp that you created in [Deploying an application that references an image in a container registry with the CLI](https://cloud.ibm.com/docs/codeengine?topic=codeengine-deploy-app-crimagedeploy-app-crimage-cli) to reference a different image in a different namespace in the same account. Update the app to reference the helloworld_repo image in the mynamespace2 namespace in Container Registry.



1. Add a different image to Container Registry.