【问题标题】:How to integrate Dialogflow with Django python and consume RESTful APIs?如何将 Dialogflow 与 Django python 集成并使用 RESTful API?
【发布时间】:2018-11-26 08:43:03
【问题描述】:

大家好,我目前正在使用 Google 的 Dialogflow 开发一个聊天机器人,我真的需要帮助。

我已经看过How to integrate Dialogflow with Django (Python)?,但我仍然很困惑,我不知道下一步该做什么。我们的 Django 项目 已经建立,我已经在 Dialogflow 中创建了我的 agent,我还学习了如何使用 ngrok 来连接 Dialogflow到履行/网络钩子。我也是 Django python 的新手,这些只是我到目前为止所做的事情。

我已经搜索了几乎(如果不是全部)关于如何使用 RESTful API 将 Dialogflow 集成到 Django python 的教程/文章/视频,我找到了 没有 如何做到这一点。大多数教程使用 FlaskNodeJS 作为他们的后端。

虽然本教程使用 Flask https://www.pusher.com/tutorials/chatbot-flask-dialogflow/,但我尝试这样做只是为了了解如何将对话流集成到后端并调用 RESTful API。我设法复制了教程中的内容,但不幸的是,我不了解后端的编码部分或设置 webhook 的代码,因为我对它很陌生。

我现在真的很迷茫,我真的不知道在 backend(Django) 中编写什么代码才能将 RESTful API 连接到 Dialogflow . 如果你们能帮助我并提供一些代码的详细解释或逐步如何将 Dialogflow 集成到 Django 并使用 RestFUL API,我将非常感谢。

【问题讨论】:

    标签: python django django-rest-framework dialogflow-es chatbot


    【解决方案1】:

    虽然您可以将 Dialogflow Python API 用于文本请求,但我个人只使用他们的 POST 接口。因为它对我来说使用起来更简单。好消息是,您无需使用 webhook。

    您只需要 Dialogflow 控制台中的客户端访问令牌即可。 上面写着:YOUR_CLIENT_ACCESS_TOKEN' 你只需输入你的访问令牌。

    然后你可以像这样发送 HTTP POST 请求:

    curl \
    https://api.dialogflow.com/v1/query?v=20150910 \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer YOUR_CLIENT_ACCESS_TOKEN' \
    -d '{
      "lang": "en",
      "query": "I need apples",
      "sessionId": "12345",
      "timezone": "America/New_York"
    }'
    

    https://dialogflow.com/docs/reference/agent/query

    我通常使用 Python 中的“Requests”包,您可以使用它进行安装

    pip install requests
    

    Requests example

    我认为它漂亮且易于使用。 只有当您想要使用的不仅仅是向 Dialogflow 发送查询,例如添加或删除 Intent 时,您需要的还不止这些。但就您的目的而言,这应该足够了。 希望对您有所帮助,请随时提出更多问题。

    【讨论】:

      猜你喜欢
      • 2019-01-27
      • 2018-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-29
      • 1970-01-01
      • 2018-11-05
      相关资源
      最近更新 更多