API.AI 没有连接到我的后端

API.AI does not connect to my back-end

我正在使用 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"
}

我发现没有错误可以解释为什么我的后端没有被调用。

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

您没有在 intent.Give 某些动作名称的动作键中提供任何值,并保留与您的函数相同的名称,它将接受来自 api.ai

的参数

基本上流量是

1) 用户输入一个输入。

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

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

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

注意:如果 Intent 中需要 none 个参数,它会直接调用操作。