使用 Cloud Object Storage 导入器来迁移交谈日志
IBM Cloud Pak for Data
您可以使用 Cloud Object Storage 导入器服务将交谈日志从一个安装迁移到另一个安装。
该图显示了两个集群:
集群 | 描述 |
---|---|
Cloud Object Storage 消费者 | Red Hat OpenShift 集群,安装用于将交谈日志数据导出到 Cloud Object Storage |
Cloud Object Storage 进口商 | Red Hat OpenShift 集群,具有从 Cloud Object Storage 使用者集群中复制的存储区导入交谈日志数据的安装 |
{caption="Architecture Diagram" caption-side="bottom"}
配置数据控制器 Cloud Object Storage 使用者服务
-
使用此脚本在 Cloud Object Storage 使用者集群上创建新文件。
COS_ACCESS_KEY=`echo -n "<enter_COS_key_here>"|base64` COS_SECRET_ACCESS_KEY=`echo -n "<enter_COS_secret_access_key_here>"|base64` COS_ENDPOINT="<enter_COS_endpoint here>" #For e.g. COS_ENDPOINT="https://s3.us.cloud-object-storage.appdomain.cloud" cat <<EOF | oc apply -f - apiVersion: v1 kind: Secret metadata: name: wa-data-governor-cos-credentials namespace: cpd data: COS_ACCESS_KEY: ${COS_ACCESS_KEY} COS_SECRET_KEY: ${COS_SECRET_ACCESS_KEY} type: Opaque EOF cat <<EOF | oc apply -f - apiVersion: assistant.watson.ibm.com/v1 kind: TemporaryPatch metadata: name: wa-data-governor namespace: cpd spec: apiVersion: assistant.watson.ibm.com/v1 kind: WatsonAssistant name: wa patch: data-governor: dataexhaust: spec: consumers: cosConsumer: true cos: endpoint: ${COS_ENDPOINT} secret: accessKey: COS_ACCESS_KEY name: wa-data-governor-cos-credentials secretKey: COS_SECRET_KEY patchType: patchStrategicMerge EOF
-
在脚本中,将这些占位符替换为实际值:
<enter_COS_key_here>
<enter_COS_secret_access_key_here>
<enter_COS_endpoint here>
-
运行脚本。
-
等待 15 到 20 分钟,然后检查数据控制规则 pod 是否稳定。
-
当 pod 稳定时,请登录到实例。
-
选择正确的助手,然后单击左侧竖线上的
Preview
图标并生成交谈日志。 -
检查是否正在
data-exhaust-backup-wa-data-governor-e58d5f4a1344
Cloud Object Storage 存储区中创建 Cloud Object Storage 对象。
配置数据控制器 Cloud Object Storage 导入器服务
在 Cloud Object Storage 导入器集群上创建文件,并将以下脚本复制到其中。 将占位符 <enter_COS_key_here>
,<enter_COS_secret_access_key_here>
和 <enter_COS_endpoint here>
替换为实际值并保存文件。 然后,运行脚本。 等待 15 -20 分钟,并检查数据控制器 pod
是否稳定。 当 pod 稳定时,请检查导入器 cron 是否正在按计划运行。 当 importer
pod 完成时,通过转至 Assistant UI 并检查 Analyze
屏幕以获取导入的数据,检查是否在正确的助手交谈日志中导入了交谈日志数据。
-
使用此脚本在 Cloud Object Storage 导入器集群上创建新文件。
COS_ACCESS_KEY=`echo -n "<enter_COS_key_here>"|base64` COS_SECRET_ACCESS_KEY=`echo -n "<enter_COS_secret_access_key_here>"|base64` cat <<EOF | oc apply -f - apiVersion: v1 kind: Secret metadata: name: wa-data-governor-cos-credentials namespace: cpd data: COS_ACCESS_KEY: ${COS_ACCESS_KEY} COS_SECRET_KEY: ${COS_SECRET_ACCESS_KEY} type: Opaque EOF
COS_ENDPOINT="<enter_COS_endpoint here>" # For e.g. COS_ENDPOINT="https://s3.us.cloud-object-storage.appdomain.cloud" # See "How to generate a JSON mapping defintion" below for instructions on how to create the next line JSON_ID_MAPPING='{"instances":[{"source_id":"<instance_id_consumer1>","target_id":"<instance_id_importer1>","assistants":[{"source_id":"<draft_or_live_environment_id_consumer1>","target_id":"<draft_or_live_environment_id_importer1>"}],"workspaces":[{"source_id":"<action_skill_id_consumer1>","target_id":"<action_skill_id_importer1>"}]}]}' cat <<EOF | oc apply -f - apiVersion: assistant.watson.ibm.com/v1 kind: TemporaryPatch metadata: name: wa-data-governor spec: apiVersion: assistant.watson.ibm.com/v1 kind: WatsonAssistant name: wa patchType: patchStrategicMerge patch: data-governor: dataexhaust: spec: cos: endpoint: ${COS_ENDPOINT} secret: accessKey: COS_ACCESS_KEY name: wa-data-governor-cos-credentials secretKey: COS_SECRET_KEY cosImporter: fromBucket: data-exhaust-backup-wa-data-governor-e58d5f4a1344 clearObjectTags: false filter: # Modify prefix value. prefix: "20230322" fromTenant: "*" # Modify schedule to run importer cron less frequently schedule: '* * * * *' # See "How to generate a JSON mapping defintion" below for instructions on how to create the next line schema: ${JSON_ID_MAPPING} workers: 3
-
在脚本中,将这些占位符替换为实际值:
<enter_COS_key_here>
<enter_COS_secret_access_key_here>
<enter_COS_endpoint here>
-
运行脚本。
-
等待 15 到 20 分钟,然后检查数据控制规则 pod 是否稳定。
-
当 pod 稳定时,请检查导入器 cron 是否正在按计划运行。
-
当
importer
pod 完成时,通过打开助手并检查Analyze
屏幕以获取导入的数据,检查是否在正确的助手中导入了交谈日志。
参数 | 描述 |
---|---|
fromBucket | 包含要导入的数据的 Cloud Object Storage 存储区 |
调度 | 要运行的 Cloud Object Storage 定时作业的调度 |
clearObjectTags | 设置为 true 以允许导入器在已处理的 Cloud Object Storage 对象上重新运行 |
工作程序 | 工作程序线程数。 增加数量需要更多的作业资源。 |
过滤器 | 提供对从 Cloud Object Storage 存储区导入的对象的控制 |
前缀 | 允许导入特定日期的对象 |
documentTimestampWindow | 允许在特定时间范围内导入对象 |
cos | Cloud Object Storage 凭据 |
模式 | 变换模式,允许导入器修改字段以允许在训练中查看来自 pprd 实例的分析数据。 有关更多信息,请参阅 为数据控制器导入器服务生成 JSON 标识映射定义。 |
fromTenant | 允许导入特定过滤器租户数据 |
可以在 Cloud Object Storage 使用者集群上的“助手设置”页面上找到 instance_id_consumer1
,draft_or_live_environment_id_consumer1
和 action_skill_id_consumer1
值。
{caption="Assistant settings" caption-side="bottom"}
例如:
-
可以从
Service Instance URL
中抽取instance_id_consumer1
。 例如,00000000-0000-0000-1679-443304652288
。 -
draft_or_live_environment_id_consumer1
值是Draft environment
或Live Environment
标识。 -
action_skill_id_consumer1
值为Action Skill ID
。
同样,您可以从 Cloud Object Storage 导入器集群的助手设置中抽取 Cloud Object Storage 导入器实例,助手和工作空间 target_id 值。
为数据控制器导入器服务生成 JSON 标识映射定义
您可以在开发环境中使用分析报告来深入了解生产交谈日志。
您需要将生产交谈日志数据移至开发环境,然后将生产交谈日志数据转换为供开发助手中的分析报告使用。
对于要由开发环境中的其他实例和助手中的分析报告使用的已移动交谈日志,需要将交谈日志 Elastic 文档的各种标识从源转换为目标。
将此代码用于标识映射定义。
-
此映射定义支持变换多个实例和助手的交谈日志。
-
映射是分层的,因此每个实例级别映射还包含此类实例的多个助手级别映射。
-
每个映射都包含两个标识字段:
source_id
和target_id
。 您需要在实例和助手级别为每个映射提供数据。
您可以在适用的实例和助手中查找标识数据。
{
"instances": [
{
"source_id": "<string>",
"target_id": "<string>",
"assistants": [
{
"source_id": "<string>",
"target_id": "<string>"
}
],
"workspaces": [
{
"source_id": "<string>",
"target_id": "<string>"
}
]
}
]
}
用法示例
将助手从一个源实例映射到多个目标实例中的助手。
以下示例将 1 源实例中的 2 助手映射到 2 目标实例中的 2 助手。
{
"instances": [
{
"source_id": "07079e0a-a8cd-4dc5-b3a4-7879d7cf0a8f",
"target_id": "90876f0b-c98d-fcc9-c4b5-0291a3bd4f9a",
"assistants": [
{
"source_id": "081513d5-9858-4eb9-9012-5ce0af8182a6",
"target_id": "f4e5f6d5-3903-486f-8563-416446d8c8a0"
}
]
},
{
"source_id": "07079e0a-a8cd-4dc5-b3a4-7879d7cf0a8f",
"target_id": "79640a7b-45bc-7eea-b4f1-98b55fca6b1c",
"assistants": [
{
"source_id": "9645f5d1-f432-4abd-a589-12bc4af5b133",
"target_id": "a4bb579e-e3b5-34bc-afe5-9afc490e8bac"
}
]
}
]
}