我正在使用 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-endpoint
和view
渲染该文件,为您的聊天机器人 UI 制作一个 html 文件,以显示 html 文件的用途,例如bot.html
。 - 对于dialogflow,我首先建议您根据您的要求构建一个
dialogflow
agent
。 - 用于
djangoserver
提供的agent
的 webhook,它通过localtunnel
public IP
进行路由(用于开发目的)使用像 ngrok 这样的 localtunnel 到您的django
服务器
) - 然后将此链接添加到
代理
的fulfillment
。
嘿你可以引用这个LINK使用它你只需要
- 创建一个
url-endpoint
和view
,例如/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/