11

我正在使用 API.AI 编写代理我观察到我的后端并不是每次都被调用。我可以在我的访问日志中看到这一点。知道什么会导致问题吗?

这是控制台的响应:

{
  "id": "c1902c75-1550-43f6-9cc8-b0461f1dfac7",
  "timestamp": "2016-12-22T19:58:13.49Z",
  "result": {
    "source": "agent",
    "resolvedQuery": "echo test",
    "action": "",
    "actionIncomplete": false,
    "parameters": {
      "myInput": "test"
    },
    "contexts": [],
    "metadata": {
      "intentId": "062b4383-06a0-40fe-bbeb-9189db49aeb8",
      "webhookUsed": false,
      "webhookForSlotFillingUsed": "false",
      "intentName": "Response"
    },
    "fulfillment": {
      "speech": "",
      "messages": [
        {
          "type": 0,
          "speech": ""
        }
      ]
    },
    "score": 0.75
  },
  "status": {
    "code": 200,
    "errorType": "success"
  },
  "sessionId": "70be8f65-81f0-40be-a271-84a2d4960224"
}

我没有看到任何错误解释了为什么我的后端没有被调用。

这是我的意图的屏幕截图:

我对 webhook 的意图

4

1 回答 1

2

您没有在意图的操作键中给出任何值。给出一些操作名称并保持与您的函数相同的名称,它将接受来自 api.ai 的参数

基本上流程是

1)用户输入一个输入。

2)api.ai 尝试将用户的输入与您定义的意图相匹配,如果没有找到,它将进入回退意图。

3)一旦匹配了正确的意图,api.ai 就会尝试从用户的句子中提取参数。

4)一旦找到所有必需的参数,它将调用您在意图中定义的操作。

注意:如果意图中不需要任何参数,它会直接调用 action 。

于 2017-01-16T12:42:43.517 回答