【问题标题】:How to pass variables as context to IBM Cloud Watson Assistant with V2?如何将变量作为上下文传递给 IBM Cloud Watson Assistant V2?
【发布时间】:2018-11-22 15:55:10
【问题描述】:

我正在尝试将新的API version V2 用于IBM Cloud Watson Assistant。我需要向助手发送消息,而不是为工作区发送消息。上下文结构现在具有全局和技能相关部分。

我的应用如何将值作为上下文变量传递?它们需要放置在结构中的什么位置?我正在使用 Python SDK。 我有兴趣将信息作为client dialog actions 的一部分发送。

【问题讨论】:

  • 你使用什么语言?
  • 添加了有关 Python SDK 的信息
  • SDK 似乎存在问题,其中只有 3 个记录的变量作为上下文 github.com/watson-developer-cloud/python-sdk/issues/597 的一部分发送。开发人员正在研究这个问题,但我认为它不会在星期一之前得到解决
  • 我尝试了 context->skills->主要技能->user_defined,它似乎工作
  • @GermanAttanasio 我用完整的 cURL 请求和响应更新了我的答案供您参考 - stackoverflow.com/questions/53404249/…

标签: python ibm-cloud watson-conversation


【解决方案1】:

基于使用tool 测试Python SDK 和API V2,我得出以下结论。如果作为input options 的一部分请求上下文,则由助手提供。

  "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'})

以上是来自此sample file 的用于客户端操作的代码 sn-p。通过放置上下文变量,一切正常,我可以使用 API 版本 2 实现客户端操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-26
    相关资源
    最近更新 更多