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