vania-janet/multiturn-rag-retrieval-data huggingface dataset:
[Checkmark icon](https://cloud.ibm.com/docs-content/v1/content/adcecdbe4e86955f88aac7f3c1e7ec3ff44992ef/icons/checkmark-icon.svg) ![Checkmark icon](https://cloud.ibm.com/docs-content/v1/content/adcecdbe4e86955f88aac7f3c1e7ec3ff44992ef/icons/checkmark-icon.svg) ![Checkmark icon](https://cloud.ibm.com/docs-content/v1/content/adcecdbe4e86955f88aac7f3c1e7ec3ff44992ef/icons/checkmark-icon.svg) ![Checkmark icon](https://cloud.ibm.com/docs-content/v1/content/adcecdbe4e86955f88aac7f3c1e7ec3ff44992ef/icons/checkmark-icon.svg) 
 Secure Gateway ![Checkmark icon](https://cloud.ibm.com/docs-content/v1/content/adcecdbe4e86955f88aac7f3c1e7ec3ff44992ef/icons/checkmark-icon.svg) ![Checkmark icon](https://cloud.ibm.com/docs-content/v1/content/adcecdbe4e86955f88aac7f3c1e7ec3ff44992ef/icons/checkmark-icon.svg) 
 Security Group for VPC ![Checkmark icon](https://cloud.ibm.com/docs-content/v1/content/adcecdbe4e86955f88aac7f3c1e7ec3ff44992ef/icons/checkmark-icon.svg) !
* You have a networking background and familar with concepts such as IP Addressing, subnets, routing, etc.,
* Focus will be on establishing the underlying network connectivity to support VPC based workloads.



* Note: A separate deployment guide will cover the compute resources which runs within the VPC like IBM Kubernetes Services (IKS), Red Hat OpenShift, IBM Code Engine, and VPC Virtual Server Instances (VSIs).



* Deployment will start small (i.e. single multi-zone VPC) but will grow to multiple VPCs, so interconnectivity among the VPCs will be required (and may even span across multiple IBM Cloud accounts).
* Private connectivity to resources outside the VPC is needed. This includes IBM Cloud Services and potentially on-prem resources.







 Understanding IBM Cloud VPC Concepts 





 Next Steps 

The next step on the deployment journey is:



* [Understanding Network Flows](https://cloud.ibm.com/docs/vpc-journey?topic=vpc-journey-vpc-network-flows)
* [IBM Cloud VPC Bare Metal Servers](https://cloud.ibm.com/docs/vpc?topic=vpc-planning-for-bare-metal-servers)
* [IBM Cloud VPC RYO VMware reference architecture](https://cloud.ibm.com/docs/vmwaresolutions?topic=vpc-ryo-overview)
* [IBM Cloud Direct Link overview](https://cloud.ibm.com/docs/dl?topic=dl-get-started-with-ibm-cloud-dl)
* [IBM Cloud Transit Gateway overview](https://cloud.ibm.com/docs/transit-gateway?topic=transit-gateway-getting-started)
* [IBM Cloud VPC VPN overview](https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-overview)
* [VPC IaaS endpoints](https://cloud.ibm.com/docs/vpc?topic=vpc-service-endpoints-for-vpcinfrastructure-as-a-service-iaas-endpoints)
* [VMware on Bare Metal VPC tutorial](https://cloud.ibm.com/docs/solution-tutorials?topic=solution-tutorials-vpc-bm-vmware)
[Checkmark icon](https://cloud.ibm.com/docs-content/v1/content/adcecdbe4e86955f88aac7f3c1e7ec3ff44992ef/icons/checkmark-icon.svg) 
 Security Group for VPC ![Checkmark icon](https://cloud.ibm.com/docs-content/v1/content/adcecdbe4e86955f88aac7f3c1e7ec3ff44992ef/icons/checkmark-icon.svg) ![Checkmark icon](https://cloud.ibm.com/docs-content/v1/content/adcecdbe4e86955f88aac7f3c1e7ec3ff44992ef/icons/checkmark-icon.svg) ![Checkmark icon](https://cloud.ibm.com/docs-content/v1/content/adcecdbe4e86955f88aac7f3c1e7ec3ff44992ef/icons/checkmark-icon.svg) ![Checkmark icon](https://cloud.ibm.com/docs-content/v1/content/adcecdbe4e86955f88aac7f3c1e7ec3ff44992ef/icons/checkmark-icon.svg) 
 Security and Compliance Center ![Checkmark icon](https://cloud.ibm.com/docs-content/v1/content/adcecdbe4e86955f88aac7f3c1e7ec3ff44992ef/icons/checkmark-icon.svg) ![Checkmark icon](https://cloud.ibm.com/docs-content/v1/content/adcecdbe4e86955f88aac7f3c1e7ec3ff44992ef/icons/checkmark-icon.svg) 
 Security and Compliance Center Workload Protection !
* [Direct Link](https://cloud.ibm.com/docs/dl?topic=dl-iam)
* [Transit Gateway](https://cloud.ibm.com/docs/transit-gateway?topic=transit-gateway-iam)





For more information, see [How IBM Cloud IAM works](https://cloud.ibm.com/docs/account?topic=account-iamoverview).





 VMware licensing 

For licensing, you have two options:



* Use VMware licenses provided by IBM Cloud.
* Bring your own VMware license.



When you order it, you can specify how a bare metal server is licensed by selecting from different ESXi image options: ESXi™ 7.x BYOL or ESXi 7.x. The ESXi 7.x BYOL option provides ESXi in evaluation mode. The evaluation period is 60 days and begins at the time of provisioning. At any time during the 60-day evaluation period, you can convert from evaluation mode to licensed mode with your appropriate customer-provided license. The ESXi 7.x option provides ESXi in licensed mode and it is activated during the provisioning process.

For more information about how to license ESXi, see [Licensing ESXi hosts](https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.esxi.install.doc/GUID-28D25806-748B-49C0-97A1-E7DE5CB335A9.html).

For other VMware licenses, for example, vCenter Server and NSX-T, see [FAQ about licensing and BYOL](https://cloud.ibm.com/docs/vmwaresolutions?topic=vmwaresolutions-faq_byol).

Billing applies for all IBM rented licenses.





 Network design and connectivity 

To manage access to your IBM Cloud network and VMware management components, and to plan your IBM Cloud network topology, you must complete the following steps:



* Devise a strategy for public versus private network connectivity to and from your VMware workloads.
* [IBM Cloud VPC Bare Metal Servers](https://cloud.ibm.com/docs/vpc?topic=vpc-planning-for-bare-metal-servers)
* [IBM Cloud VPC RYO VMware reference architecture](https://cloud.ibm.com/docs/vmwaresolutions?topic=vmwaresolutions-vpc-ryo-arch-overview)
* [IBM Cloud Direct Link overview](https://cloud.ibm.com/docs/dl?topic=dl-get-started-with-ibm-cloud-dl)
* [IBM Cloud Transit Gateway overview](https://cloud.ibm.com/docs/transit-gateway?topic=transit-gateway-getting-started)
* [IBM Cloud VPC VPN overview](https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-overview)
* [VPC IaaS endpoints](https://cloud.ibm.com/docs/vpc?topic=vpc-service-endpoints-for-vpcinfrastructure-as-a-service-iaas-endpoints)
* [VMware on Bare Metal VPC tutorial](https://cloud.ibm.com/docs/solution-tutorials?topic=solution-tutorials-vpc-bm-vmware)
For more information, see [x86-64 instance profiles](https://cloud.ibm.com/docs/vpc?topic=vpc-profiles&interface=uibalanced), [Dedicated host profiles](https://cloud.ibm.com/docs/vpc?topic=vpc-dh-profiles&interface=uibalanced-dh-pr).





 28 March 2023 

Private DNS zones for network load balancers
: You can now use IBM Cloud Application and Network Load Balancers for VPC to bind DNS zones from [IBM Cloud DNS Services](https://cloud.ibm.com/docs/dns-svcs?topic=dns-svcs-getting-started), so you can move all DNS resolutions into private networks. Private DNS zones are resolvable only on IBM Cloud, and only from explicitly permitted networks in an account or with cross account access. For more information, see [Integrating a load balancer with IBM Cloud DNS Services](https://cloud.ibm.com/docs/vpc?topic=vpc-lb-dns).

Enhancements to viewing profiles - number of supported network interfaces
: In IBM Cloud console, when you click View all profiles on the Create virtual server instance page, the Bandwidth column values include a tooltip. The tooltip now includes the number of network interfaces that can be attached for the profile. A similar feature is now available in the API when you list instance profiles. For more information, see [Network interface configuration for instance profiles](https://cloud.ibm.com/docs/vpc?topic=vpc-api-change-log&interface=cli28-march-2023-all-version-dates).





 23 March 2023 

New network latency dashboard
: Provides visibility into network latency between all regions to help you plan the optimal selection for your cloud deployment and plan for scenarios, such as data residency and performance. This dashboard provides the average network round-trip latency (round-trip time or RTT) for all pairs of regions in IBM Cloud over a 30-day period.
[Checkmark icon](https://cloud.ibm.com/docs-content/v1/content/f02b9c9adcbb7328d95a45e105cec371d50f15eb/icons/checkmark-icon.svg) ![Checkmark icon](https://cloud.ibm.com/docs-content/v1/content/f02b9c9adcbb7328d95a45e105cec371d50f15eb/icons/checkmark-icon.svg) 
 Cross-regional copy ![Checkmark icon](https://cloud.ibm.com/docs-content/v1/content/f02b9c9adcbb7328d95a45e105cec371d50f15eb/icons/checkmark-icon.svg) ![Checkmark icon](https://cloud.ibm.com/docs-content/v1/content/f02b9c9adcbb7328d95a45e105cec371d50f15eb/icons/checkmark-icon.svg) 
 Costs are based on GBs per month. ![Checkmark icon](https://cloud.ibm.com/docs-content/v1/content/f02b9c9adcbb7328d95a45e105cec371d50f15eb/icons/checkmark-icon.svg) ![Checkmark icon](https://cloud.ibm.com/docs-content/v1/content/f02b9c9adcbb7328d95a45e105cec371d50f15eb/icons/checkmark-icon.svg) 







 Benefits of creating backups 

The IBM Cloud Backup for VPC offers you the following benefits.



* Prevent data loss - Protect your critical data by scheduling regular backups. Establish a data restoration plan to quickly restore your compromised volumes. Reduce technical and financial impacts from unplanned outages.
* [Update code that performs circuit sampling](https://cloud.ibm.com/docs/quantum-computing?topic=quantum-computing-migrate-sampler)
* [Update code that calculates expectation values](https://cloud.ibm.com/docs/quantum-computing?topic=quantum-computing-migrate-estimator)



* Algorithm users that refer to Qiskit algorithms but do not directly use primitives. These users now need to pass in a primitive instead of a backend to the updated Qiskit algorithms. Refer to this topic for details:



* [Work with updated Qiskit algorithms](https://cloud.ibm.com/docs/quantum-computing?topic=quantum-computing-migrate-qiskit-alg)





The following topics are use cases with code migration examples:



* [Update parameter values while running](https://cloud.ibm.com/docs/quantum-computing?topic=quantum-computing-migrate-update-parm)
* [Algorithm tuning options (shots, transpilation, error mitigation)](https://cloud.ibm.com/docs/quantum-computing?topic=quantum-computing-migrate-tuning)





 Why use Qiskit Runtime? 



Table comparison. Qiskit Runtime primitive functionality compared to backend.run
This table has row and column headers. The row headers identify the function. The column headers indentify the method. To understand whether a function is supported, in the table, navigate to the row, and find the value for the method you are interested in.

 Backend.run Runtime Primitives 

 Simplified algorithm building blocks X ✔ 
 Flexible interface ✔ ✔ 
 Elastic compute integration ✔ ✔ 
 Queuing efficiency X ✔ 
 Data caching X  
 Error mitigation support X ✔ 
 SAAS enablement X  



Key:



* ✔ - Full support
* X - No support
*  - Future support



Benefits of using Qiskit Runtime:



* Simplify algorithm design and optimization.
Example 3: Declaring table UDFs using Java

The following example illustrates the use of the return table clause. The example shows a create function statement that declares a table function called MyScalarFunc. The Java™ implementation of the UDF is packaged inside the class com.ibm.test.udfs.TableConsumingTableFunc. This UDF takes as input two lists of tuples and outputs a list of tuples that merges together the input lists. The Java™ implementation of the UDF is included in [Implementing user-defined functions](https://cloud.ibm.com/docs/watson-knowledge-studio?topic=watson-knowledge-studio-annotation-query-language-referenceaql-user-def-imp).

-- Declare a simple table function that "zips together" two input tables
create function MyTableFunc(
firstArg table( spanVal Span ) as locator,
secondArg table( spanVal Span, strVal Text ) as locator
)
return table( outSpan1 Span, outSpan2 Span, outStr Text)
external_name
'udfjars/udfs.jar:com.ibm.test.udfs.TableConsumingTableFunc!eval'
language java
deterministic
called on null input;

Example 4: Declaring a table UDF implemented in PMML

The following example shows a create function statement that declares a table function named IrisDecisionTree using PMML language. The PMML implementation of the UDF is specified in the IrisTree.xml file, which is shown in the following example. The model that is stored in the IrisTree.xml is a decision tree model.

-- Scoring function based on a decision tree model stored in IrisTree.xml
create function IrisDecisionTree(
params table(
sepal_length Float,
sepal_width Float,
petal_length Float,
petal_width Float
) as locator
)
return table( class Text, actual_class Text,
-- This PMML file also defines additional output fields
"Probability_Iris-setosa" Float,
Other methods for accessing resources (such as getResource(), getResources(), getSystemResource()) are not supported. For example, a UDF JAR file that contains the properties file my.properties in the package com.ibm.myproject.udfs, can access it with the following Java statement:

InputStream in = this.getClass().getClassLoader().
getResourceAsStream(“com/ibm/myproject/udfs/my.properties”);



 Lifecycle of UDFs implemented in Java 

The following operations are performed when the extractor is compiled (the CompileAQL.compile() API), instantiated (OperatorGraph.createOG() API) and validated (OperatorGraph.validateOG() API), exactly once for each create function statement in AQL:



1. Load the Java class that contains the UDF method, using a fresh new class loader. The class is searched inside the UDF JAR specified in the corresponding create function statement. Any other classes that are required when loading this class are also searched inside the same UDF JAR, and if not found, the search is delegated to the classloader that instantiated the Runtime.
2. Create an instance of that class.
3. For table UDFs, invoke the method initState().



Since those steps are performed for each create function statement, if a Java class contains multiple UDF methods (and all methods are used in AQL in different create function statements), then the class is loaded multiple times, each time in a separate class loader (Step 1). Furthermore, multiple instances of the class are created (Step 2) and the method initState() is called once for each instance (Step 3). The reason every UDF results in a separate class loader is to allow different UDFs to use different versions of the same class (or library).

At runtime (OperatorGraph.execute() API), the UDF class is not loaded again because the class is loaded during extractor instantiation. The Java method that implements the UDF is invoked when necessary to compute pieces of the output.
The initialization code is now executed exactly once - when the class MySeparateClass.java is loaded by the system classloader.





Tip:

The compiled representation of a module (the .tam file) contains the serialized binary code of the UDF. Therefore, if the same UDF code is referenced by create function statements in two different modules, the UDF code is serialized in the compiled representation of both modules. In other words, the UDF code is serialized twice. In such cases, you can avoid the redundancy by creating a separate module that acts as a library of UDFs, and reuse that library in other modules. To create a library of UDFs, follow these steps:



1. Create one module.
2. Place all UDF JAR files inside that module.
3. Define all necessary functions with the create function statements.
4. Export them all with export function statements so that they can be imported and used in other modules.







 Examples 

Example 1: Implementing a scalar UDF

This example shows the implementation of a scalar UDF named toUpperCase. This UDF takes as input a value of type Span and outputs a string value that consists of the text content of the input Span, converted to uppercase.

package com.ibm.biginsights.textanalytics.udf;
import com.ibm.avatar.algebra.datamodel.Span;

/
* @param s input Span
* @return all upper-case version of the text of the input Span
/
public String toUpperCase(Span s) {
return s.getText().toUpperCase();
}

Example 2: Implementing a scalar UDF that uses a table as input

This example shows the implementation of a scalar UDF named TableConsumingScalarFunc. This UDF takes as input two lists of tuples and outputs a string value that concatenates the content of the two input tuple lists.

import com.ibm.avatar.algebra.datamodel.TupleList;

/
* Example implementation of a user-defined scalar function using a table as input
/
"percentage_of_total": 59.35177415676025
},
{
"name": "containers-kubernetes",
"current_total": 287299,
"percentage_of_total": 12.023670768735
},
{
"name": "container-registry",
"current_total": 218164,
"percentage_of_total": 9.130321057818866
},
{
"name": "ibm-cloud-databases-prod",
"current_total": 205699,
"percentage_of_total": 8.608651799894956
},
{
"name": "schematics",
"current_total": 107925,
"percentage_of_total": 4.516739242794874
}
]
Show more





 List usage data for a specific host for the past 6 months 

By specifying the <HOST_NAME>, the usage data for only that service is returned. For platform logs, the <HOST_NAME> is the [CRN service name](https://cloud.ibm.com/docs/log-analysis?topic=log-analysis-cloud_services) for the service.

curl "https://api.us-south.logging.cloud.ibm.com/v1/usage/hosts/<HOST_NAME>" -u <SERVICE_KEY>:

For example, if you want to query usage data for the IBM Cloud® Kubernetes Service service you would run the following:

curl "https://api.us-south.logging.cloud.ibm.com/v1/usage/hosts/containers-kubernetes" -u <SERVICE_KEY>:

And the output would be similar to the following:

[
{
"name": "containers-kubernetes",
"current_total": 205699,
This use case pertains to both Direct Link Connect and Direct Link Dedicated offerings.

Adding one or more autonomous system (AS) numbers at the beginning of an AS path is called AS prepending. You can use this technique to make a route less preferable to the BGP router by increasing the length of the AS path. For example, you might want route redundancy, but don't want traffic going through both routes at the same time.

Assuming all other criteria is equal, the prefix of the AS prepend matches with routes and lengthens the AS path to the destination. This results in a lower priority route compared to one without AS prepends to the same destination. Take the following use case, for example. Suppose that you want your East site to prefer Path A through IBM PoP East when sending traffic to 10.80.0.0/28. To de-prioritize Path B, the BGP Autonomous System Number (ASN) of 12345 is prepended to the route (12345 12345 12345 4040 286 I).

Zoom

![Influencing route priority using AS prepends](https://cloud.ibm.com/docs-content/v1/content/b698ea8660e1f51664f7479f870bbf8840335d06/dl//images/as-prepends.png)

Figure 1. Influencing route priority using AS prepends

For more information, see [Influencing route preference using AS prepends](https://cloud.ibm.com/docs/dl?topic=dl-models-for-diversity-and-redundancy-in-direct-linkdl-bgp-path-selection) and [Planning considerations when using AS prepends with VPC connections](https://cloud.ibm.com/docs/dl?topic=dl-as-prepends-routes).





 Direct Link Connect use cases 

These use cases are best for working with hybrid workloads, cross-provider workloads, large or frequent data transfers, private workloads, and environment administration. Use these use cases:



* When you want quicker connectivity for mission-critical workloads.
* [Enabling the digital transformation of on-premises legacy systems at steel mills and other manufacturing plants](https://cloud.ibm.com/docs/satellite?topic=satellite-use-caseuse-case-manufacture2)
* [Establishing a service platform for point of sale (POS) or multi function printer (MFP) systems](https://cloud.ibm.com/docs/satellite?topic=satellite-use-caseuse-case-manufacture3)
* [Accelerating the establishment of new global sites and plants](https://cloud.ibm.com/docs/satellite?topic=satellite-use-caseuse-case-manufacture4)
* [Using cloud for cost and speed when starting new services during development phase and move on-premises once established](https://cloud.ibm.com/docs/satellite?topic=satellite-use-caseuse-case-manufacture5)
* [Deploying applications on-premises, only scaling out to cloud during peak times](https://cloud.ibm.com/docs/satellite?topic=satellite-use-caseuse-case-manufacture6)



* [Distribution use cases for Satellite](https://cloud.ibm.com/docs/satellite?topic=satellite-use-caseuse-case-distribution)



* [Delivering and integrating store or warehouse digitization solutions for the distribution or retail sectors](https://cloud.ibm.com/docs/satellite?topic=satellite-use-caseuse-case-distribution1)



* [Public sector or health use cases for Satellite](https://cloud.ibm.com/docs/satellite?topic=satellite-use-caseuse-case-health)



* [On-premises service platform](https://cloud.ibm.com/docs/satellite?topic=satellite-use-caseuse-case-health1)



* [Communications use cases for Satellite](https://cloud.ibm.com/docs/satellite?topic=satellite-use-caseuse-case-communications)
[Understanding Schematics use cases](https://cloud.ibm.com/docs/schematics?topic=schematics-how-it-workshow-it-works)



* [Infrastructure deployment with Schematics Workspaces](https://cloud.ibm.com/docs/schematics?topic=schematics-how-it-workshow-to-workspaces)
* [Configuration management with Schematics Actions](https://cloud.ibm.com/docs/schematics?topic=schematics-how-it-workshow-to-actions)
* [Software deployments with IBM-provided templates](https://cloud.ibm.com/docs/schematics?topic=schematics-how-it-workshow-to-software)
* [Next steps](https://cloud.ibm.com/docs/schematics?topic=schematics-how-it-worksusecase-nextsteps)



[Your responsibilities when using Schematics](https://cloud.ibm.com/docs/schematics?topic=schematics-sc-responsibilitiessc-responsibilities)



* [Incident and operations management](https://cloud.ibm.com/docs/schematics?topic=schematics-sc-responsibilitiesincident-ops-mgt)
* [Change management](https://cloud.ibm.com/docs/schematics?topic=schematics-sc-responsibilitieschange-mgt)
* [Identity and access management](https://cloud.ibm.com/docs/schematics?topic=schematics-sc-responsibilitiesiam)
* [Security and regulation compliance](https://cloud.ibm.com/docs/schematics?topic=schematics-sc-responsibilitiessecurity-reg-compliance)
* [Disaster recovery](https://cloud.ibm.com/docs/schematics?topic=schematics-sc-responsibilitiesdisaster-recovery)







 Understanding Blueprints
firstArg table( spanVal Span ) as locator,
secondArg table( spanVal Span, strVal Text ) as locator
)
return String
external_name
'udfjars/udfs.jar:com.ibm.test.udfs.TableConsumingScalarFunc!eval'
language java
deterministic
called on null input;

-- Create two views to serve as inputs to the table function.
-- Note that column names don't match, but types do.
create view FirstInputView as
extract regex /d+/ on 1 token in D.text as match
from Document D;

create view SecondInputView as
select S.match as spanCol, 'Dummy string' as textCol
from
(extract regex /[A-Z]+/ on 1 token in D.text as match
from Document D) S;

-- Call the scalar function defined above from the select list.
create view ScalarFuncOutput as
select MyScalarFunc(FirstInputView, SecondInputView) as func
from Document D;

Show more

Example 3: Using Table UDFs implemented in Java

This example illustrates the usage of the MyTableFunc table UDF function, whose Java™ implementation is included in [Implementing user-defined functions](https://cloud.ibm.com/docs/watson-knowledge-studio?topic=watson-knowledge-studio-annotation-query-language-referenceaql-user-def-imp).

-- Declare a simple table function that "zips together" two input tables
create function MyTableFunc(
firstArg table( spanVal Span ) as locator,
secondArg table( spanVal Span, strVal Text ) as locator
)
return table( outSpan1 Span, outSpan2 Span, outStr Text)
external_name
'udfjars/udfs.jar:com.ibm.test.udfs.TableConsumingTableFunc!eval'
language java
deterministic
called on null input;