python - 如何将 Dialogflow 与 Django (Python) 集成?

标签 python django machine-learning webhooks dialogflow-es

我正在使用 Dialogflow 开发一个助手(机器人),我有一个 Django 项目,我必须在其中提取数据,然后通过机器人公开它,这将存储在本地平台中。

我之前使用过 Dialogflow,它之前也有集成,但与 Node.js 和 Javascript、Django (python) 的集成是一个全新的挑战,我很困惑。

到目前为止,我有以下内容:

  • 我知道我可以用这个包做到这一点:https://github.com/dialogflow/dialogflow-python-client-v2
  • 我为 webhook 添加了一个 url,现在这仅在本地有效,如下所示:

    from django.http import HttpResponse
    from django.views.decorators.csrf import csrf_exempt
    import dialogflow
    
    
    @csrf_exempt
    def webhook(request):
        return HttpResponse('Works like a charm!')
    

    在 urls.py 中我有:

    url(r'^webhook$', views.webhook, name='webhook')
    

这就是我不知道之后如何继续的事情,我被阻止了,我不知道如何进行集成以及缺少什么,有什么建议吗?

最佳答案

步骤

  • 通过使用一个 url-endpointview 渲染该文件,为您的聊天机器人 UI 制作一个 html 文件,以显示 html 文件的用途,例如 bot.html
  • 对于dialogflow,我首先建议您根据您的要求构建一个dialogflow agent
  • 用于 djangoserver 提供的 agent 的 webhook,它通过 localtunnel public IP 进行路由(用于开发目的)使用像 ngrok 这样的 localtunnel 到您的 django 服务器)
  • 然后将此链接添加到代理fulfillment

嘿你可以引用这个LINK使用它你只需要

  • 创建一个url-endpointview,例如/chatbot 它将接受机器人通过 AJAX 请求发送的文本。然后,此 text 会传递给链接中上述函数中的参数 texts。但对该函数进行一些更改,例如不打印履行文本,只需返回它。
  • 然后,在上面的url-endpoint /chatbot中,将响应返回为链接中该函数返回的fulfillmentText
  • 如果您想使用数据库的某些数据,那么您可以将 django-models 创建为普通数据库中的表,为此请检查 models - docs 。 然后您可以使用 models.objects.all() 等访问数据。

关于python - 如何将 Dialogflow 与 Django (Python) 集成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50921502/

相关文章:

Python MySQL 解压 cur.fetchall() 的结果

python - PyLint/PyLint3 无法识别文档字符串

Django:模板中显示的多维字典

python - 'module' 对象没有属性 'views' django 错误

python - 如何规范化来自 Wordnet 的相似性度量

Python - 导入父模块后找不到子模块

javascript - 如何将 Python 列表传递给 HTML 级别的 Javascript

machine-learning - h2o 流用户界面 : Build Model but no ROC CURVE or AUC for multiclass?

r - 在 R 中为 svm 编写自定义内核

python - 如何预测不超过目标示例?