如何通过V2将变量作为上下文传递给IBM Cloud Watson Assistant?

时间:2018-11-22 15:55:11

标签: python ibm-cloud watson-conversation

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

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

1 个答案:

答案 0 :(得分: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中针对客户端操作的代码段。通过放置上下文变量,一切正常,我可以使用API​​版本2实施客户端操作。