python - 如何将变量作为上下文传递给 IBM Cloud Watson Assistant V2?
问题描述
我正在尝试为IBM Cloud Watson Assistant使用新的API 版本 V2。我需要向助手发送消息,而不是为工作区发送消息。上下文结构现在具有全局和与技能相关的部分。
我的应用程序如何将值作为上下文变量传递?它们需要放置在结构中的什么位置?我正在使用 Python SDK。我有兴趣将信息作为客户端对话操作的一部分发送。
解决方案
在使用工具测试 Python SDK 和 API V2 的基础上,我得出以下结论。如果请求作为输入选项的一部分,则由助手提供上下文。
"context": {
"skills": {
"main skill": {
"user_defined": {
"topic": "some chatbot talk",
"skip_user_input": true
}
}
},
"global": {
"system": {
"turn_count": 2
}
}
}
要将值从我的客户端/应用程序传回给助手,我可以使用 context 参数。然而,与 V1 API 相比,我需要将键/值对放在user_defined部分的“下方” :
context['skills']['main skill']['user_defined'].update({'mydateOUT':'2018-10-08'})
以上是此示例文件中用于客户端操作的代码片段。通过放置我的上下文变量,一切正常,我可以使用 API 版本 2 实现客户端操作。
推荐阅读
- date - 构建前端仪表板时如何在 IBM COGNOS 中对日期进行分组
- sqlite - ON_DELETE="CASCADE" 不适用于 flask-sqlalchemy
- import - 有没有办法从节点模块动态导入
- snmp - 对 SNMP V2 的布尔变量支持
- teamcity - TeamCity 看不到 geckodriver 路径
- python - 如何在 Tkinter 的按钮中自动分配命令参数?
- javascript - 函数不会遍历数组的所有索引
- c - 为什么节点没有插入到最后?
- php - 如何在 php laravel 中检查日期是否比 3 个月大
- flutter - 我们可以在flutter中构建apk时单独排除特定文件吗