IBM Cloud Docs
使用 Cloud Object Storage 导入器来迁移交谈日志

使用 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 使用者服务

  1. 使用此脚本在 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
    
  2. 在脚本中,将这些占位符替换为实际值:

    • <enter_COS_key_here>
    • <enter_COS_secret_access_key_here>
    • <enter_COS_endpoint here>
  3. 运行脚本。

  4. 等待 15 到 20 分钟,然后检查数据控制规则 pod 是否稳定。

  5. 当 pod 稳定时,请登录到实例。

  6. 选择正确的助手,然后单击左侧竖线上的 Preview 图标并生成交谈日志。

  7. 检查是否正在 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 屏幕以获取导入的数据,检查是否在正确的助手交谈日志中导入了交谈日志数据。

  1. 使用此脚本在 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
    
  2. 在脚本中,将这些占位符替换为实际值:

    • <enter_COS_key_here>
    • <enter_COS_secret_access_key_here>
    • <enter_COS_endpoint here>
  3. 运行脚本。

  4. 等待 15 到 20 分钟,然后检查数据控制规则 pod 是否稳定。

  5. 当 pod 稳定时,请检查导入器 cron 是否正在按计划运行。

  6. 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_consumer1draft_or_live_environment_id_consumer1action_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 environmentLive Environment 标识。

  • action_skill_id_consumer1 值为 Action Skill ID

同样,您可以从 Cloud Object Storage 导入器集群的助手设置中抽取 Cloud Object Storage 导入器实例,助手和工作空间 target_id 值。

为数据控制器导入器服务生成 JSON 标识映射定义

您可以在开发环境中使用分析报告来深入了解生产交谈日志。

您需要将生产交谈日志数据移至开发环境,然后将生产交谈日志数据转换为供开发助手中的分析报告使用。

对于要由开发环境中的其他实例和助手中的分析报告使用的已移动交谈日志,需要将交谈日志 Elastic 文档的各种标识从源转换为目标。

将此代码用于标识映射定义。

  • 此映射定义支持变换多个实例和助手的交谈日志。

  • 映射是分层的,因此每个实例级别映射还包含此类实例的多个助手级别映射。

  • 每个映射都包含两个标识字段: source_idtarget_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"
				}
			]
		}
	]
}