繁体   English   中英

Watson Assistant 新用户体验如何自动导出助手的内容?

[英]How to export automatically the content of an assistant in the new user experience of Watson Assistant?

新用户体验中,您可以手动下载JSON格式的助手内容。 但是,我需要自动执行。

通过使用 API 的 V1,我可以使用带有 export=True 的 get_workspace 方法来导出/下载工作区的内容。但是,在我构建基于动作技能的聊天机器人的新用户体验中,我无法获得此方法所需的工作区 ID。 新用户体验中是否有其他选项或一些解决方法来下载助手的内容?

您现在可以使用这些 API 在新的用户体验中导入/导出技能:

https://cloud.ibm.com/apidocs/assistant/assistant-v2#exportskills https://cloud.ibm.com/apidocs/assistant/assistant-v2#importskills

请注意,这些目前在 SDK 中不受支持,但它们应该会在下一个版本中得到支持。

正如 Brian 提到的,API 现在可用,但文档不是最新的。 还会有进一步的更新,这可能会更容易(同样没有官方日期)。

目前导出仅导出“草稿”。

示例:导出技能

import requests
from time import sleep
import json

username = 'apikey'
password = '<API_KEY>'

service_instance = '<SERVICE_URL>'

assistant_id = '<ASSISTANT_ID>'
version = '2021-11-27'

url = f'{service_instance}/v2/assistants/{assistant_id}/skills_export?version={version}'

max_tries = 3
skill = None
while max_tries > 0:
    data = requests.get(url, auth=(username, password)).json()

    if 'assistant_skills' in data:
        skill = data['assistant_skills'][0]
        break
    if 'error' in data:
        print(data)
        break

    sleep(5)
    print(f'Retrying {max_tries}...')
    max_tries = max_tries - 1

if skill is not None:
    filename = f"{skill['name'].replace(' ', '-')}-action.json"
    print(f"Skill downloaded: {filename}")

    with open(filename, 'w') as file:
        file.write(json.dumps(skill, indent=2))

相关字段可以从环境设置中获取(单击 Draft 上的 cog)。

显示数据的 UI 图片可以找到以填写代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM