在 Watson 对话中,我做的第一件事就是询问用户一个 ID。我在 python 中收到它并检查一个简单的数据库,如果 id 存在那里(这是一个非常简单的逻辑)。
现在,如果用户在我的数据库中不存在,我想要的是跳转到节点 1。所以我在 python 中寻找一些东西来这样做,因为 Watson 无法检查我的数据库。
寻找槽和处理程序对我来说也很有趣,但同样,这无法检查我的简单数据库。
我期待这样的事情:
我做了一个简单的函数来理解我想要做什么:
def checkingId(bot, update):
message=update.message.text #let's suppose it is already parsed, to make it simpler
result=cursor.execute("select name from users where id=message")
if(result!=None): #so if the id exists in the table
#no problem here, keep it going like normal watson would do
whatever()
else:
jumpToNode1InWatson (???)
我也看到dialog_node": "node1 or whatever it is"
json(?) 中可能有这个参数,所以我可以通过 python 访问它,但我没有找到任何相关的东西。
提前致谢。如果您认为可以编辑问题以改进它,请发表评论,我会尽力这样做。
这个面向数据库驱动的聊天机器人的 IBM Cloud 解决方案教程包含与来自 Watson Assistant 的数据库进行交互的代码。相关的 GitHub 存储库针对 Db2 和 PostgreSQL 显示了它。它是通过 IBM Cloud Functions 操作完成的。另一种选择是使用客户端对话操作。
现在,一旦您检查了 ID,您将设置一个变量。在对话树中,您可以拥有 ID 存在或具有特定值来处理对话节点或切换到对话树的该分支的条件。因此,您将强制 Watson Assistant 进入您的预期处理。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句