将变量传递到 Watson Dialog

Passing variables into Watson Dialog

在许多情况下,将已知信息(例如用户姓名以提供个性化问候语)传递到新的 Watson Dialog 对话中可能会有所帮助,以避免向用户询问多余或不必要的问题。在查看 API 文档时,我没有看到这样做的方法。是否有将变量传递到 Watson Dialog 对话的最佳实践方法?

在对话服务中,变量是您创建的配置文件的一部分,用于存储用户在对话期间提供的信息。

以下代码显示了保存用户姓名的配置文件变量的示例。

<variables>
    <var_folder name="username">
        <var name="username" type="TEXT" description="The user's name."></var>
    </var_folder>
</variables>

在您的场景中,您将通过调用以下方式设置此变量:

PUT /v1/dialogs/{dialog_id}/profile

与:

{
  "client_id": 4435,
  "name_values": [
    {
      "name": "username",
      "value": "Bruce Wayne"
    }
  ]
}

不要忘记替换 {dialog_id}{client_id}


我们有一个 API 浏览器,可以让您试用 APIs:Dialog API Explorer.
您还可以在 tutorial.

中阅读更多相关信息

还需要注意的是,如果您将 client_id 省略,则会为您分配一个。然后,您可以将其传递给开始对话调用,以确保选择了配置文件。我发现这在我有欢迎消息的地方很有用,我想将配置文件变量嵌入到例如"Hello "