0

我正在试用 IBM Watson Assistant。最终目标是通过它的Watson Assistant 的 cURL API 端点将它与我的自定义 PHP 后端集成 (因为还没有完整的 PHP SDK)

让我告诉我到目前为止我做了什么:

  1. 从训练数据集中导入示例工作区。
  2. 然后我尝试了这个,它工作正常。

在此处输入图像描述

  1. 然后我通过 cURL API 尝试了同样的事情,我得到了这样的响应:(美化了 json 输出格式)

.

{
  "intents": [
    {
      "intent": "locate_amenity",
      "confidence": 0.999901008605957
    }
  ],
  "entities": [
    {
      "entity": "amenity",
      "location": [
        7,
        10
      ],
      "value": "gas",
      "confidence": 1
    }
  ],
  "input": {
    "text": "i need some gas"
  },
  "output": {
    "text": [
      "Hi. It looks like a nice drive today. What would you like me to do?  "
    ],
    "nodes_visited": [
      "Start And Initialize Context"
    ],
    "log_messages": []
  },
  "context": {
    "conversation_id": "153c18ee-1015-4b6a-ae04-789e29bf4a05",
    "system": {
      "dialog_stack": [
        {
          "dialog_node": "root"
        }
      ],
      "dialog_turn_counter": 1,
      "dialog_request_counter": 1,
      "_node_output_map": {
        "Start And Initialize Context": [
          0,
          0
        ]
      },
      "branch_exited": true,
      "branch_exited_reason": "completed"
    },
    "AConoff": "off",
    "lightonoff": "off",
    "musiconoff": "off",
    "appl_action": "",
    "heateronoff": "off",
    "volumeonoff": "off",
    "wipersonoff": "off",
    "default_counter": 0,
    "previous_cuisine": "",
    "previous_restaurant_date": "",
    "previous_restaurant_time": ""
  }
}

现在请让我在这里了解两件事。

问题(一)

此时,我期待 API 返回一条消息:

“附近有加油站,你想开车去哪一个?”

但为什么没有。如果是这样,我该如何实现?

问题2)

如何正确回复,"Go to number 5."以便 API 理解我指的是上一个调用?(又名)如何继续对话流程?(注意:我尝试用以前的“上下文”、“实体”、“意图”发回,但不知何故它仍然被识别为新消息。)

请与我分享一个 cURL 调用示例以跟进上一条消息。


由于还没有完整的 PHP SDK,我很难仅通过 cURL API 调用来理解。API 文档也没有解释这些细节。请帮忙。

谢谢你们。

4

1 回答 1

3

Watson Assistant 的消息 API 是无状态的。处理请求所需的一切都作为参数提交。这包括消息本身,也包括上下文。上下文保存有关对话树中对话位置的状态。它还可以保存从 WA 传输到应用程序的信息,例如,处理客户端操作。或者从应用程序到 WA,例如,使用数据库中的记录。

满足您的要求:

  • 当开始新对话时,您的对话可能会发出该响应。我看到它与“试用”中的相同。
  • 您需要先发送“嗨”或空消息,等待 WA 的回复,然后将“我需要加油”连同您从 WA 收到的上下文数据一起发送。当您查看细节时,您会看到对话框堆栈、转数计数器等。对话 ID 是当前聊天的标识符。
  • 有了以上内容,WA 的下一个响应应该与“尝试一下”中的完全一样,因为您在对话树中向下。
于 2018-06-22T08:22:16.000 回答