如何使用API​​.AI?

时间:2017-04-18 18:24:44

标签: nlp dialogflow

我是Api.ai的新手,我读了这份文件。但是我并不了解Api.ai如何更好地使用许多参数。

我试着通过一个例子来解释: 我有一个管理软件来管理成员/动作/项目,我可以使用普通界面在任何项目中获取任何成员的动作。

让我们用智能机器人替换它,聊天将按照我的预期运行,

USER:我想在这里看到我对任何项目名称的行动 bot:你的行动是XXXXXX。

OR

USER:给我项目的所有成员任何项目名称 Bot:成员是" 1-2-3-4-5 -...."

我认为你有我的意思,如果你需要更多我可以解释更多。我怎么能让Api.ai明白这一点?

1 个答案:

答案 0 :(得分:2)

对于API.ai来“记住”值(即存储和检索项目,操作和团队成员的名称等信息),您需要将API.ai连接到您自己的webhook /数据库,这里没有'无论如何,API.ai要自己做这件事。

将API.ai连接到自定义webhook /数据库后,您可以使用API​​.ai将为您分析的变量来运行查询。您只需构建与搜索和参数相对应的意图

以下是流程的流程:

  1. 用户询问“我希望看到我在[此处有任何项目名称]的行动”

  2. API ai逻辑将此识别为$ project_name的意图'search-action',您已在API.ai中设置此项

  3. enter image description here

    1. 您的自定义webhook接收来自API.ai的JSON响应,在这种情况下将如下所示:
    2. {
        "id": "REDACTED",
        "timestamp": "2017-04-19T03:18:18.028Z",
        "lang": "en",
        "result": {
          "source": "agent",
          "resolvedQuery": "I want to see my actions for project Unicorn",
          "action": "search-action",
          "actionIncomplete": false,
          "parameters": {
            "project_name": "project Unicorn"
          },
          "contexts": [],
          "metadata": {
            "intentId": "REDACTED",
            "webhookUsed": "false",
            "webhookForSlotFillingUsed": "false",
            "intentName": "Search - Actions"
          },
          "fulfillment": {
            "speech": "",
            "messages": [
              {
                "type": 0,
                "speech": ""
              }
            ]
          },
          "score": 1
        },
        "status": {
          "code": 200,
          "errorType": "success"
        },
        "sessionId": "REDACTED"
      }

      因此,您的webhook具有识别result.action何时'搜索操作'应该运行数据库搜索项目result.parameters.project_name

      中的操作的逻辑
      1. 您的webhook履行API.ai请求,或者直接向消息平台发送消息(即Facebook Messenger)