我正在使用 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,我首先建议您根据需要构建一个
dialogflowagent。 agent的 webhook 由您的djangoserver提供,通过localtunnel 的public IP路由(用于开发目的使用像 ngrok 这样的本地隧道到你的django 的server)- 然后将此链接添加到
agent的fulfillment。
嘿,你可以引用这个LINK使用它你只需要
- 创建一个
url-endpoint和viewsay/chatbot它将接受通过AJAX请求由机器人发送的文本。此text然后传递给上述链接函数中的参数texts。但是对该功能进行一些更改,例如不打印fulfillment text只是返回它。 - 然后在上面的
url-endpoint/chatbot中返回响应作为链接中该函数返回的fulfillmentText。 - 如果你想使用你数据库的一些数据,那么你可以创建
django-models作为普通数据库中的表,为此检查models - docs . 然后您可以使用models.objects.all()等访问数据
