Python 有没有办法通过代码跳转到Watson中的对话节点?

Python 有没有办法通过代码跳转到Watson中的对话节点?,python,ibm-cloud,ibm-watson,watson-conversation,Python,Ibm Cloud,Ibm Watson,Watson Conversation,在Watson对话中,我要做的第一件事就是询问用户一个Id。我在python中收到这个Id,并在一个简单的数据库中检查Id是否存在(这是一个非常简单的逻辑) 现在,如果用户不在我的数据库中,我想跳到节点1。因此,我在python中寻找一些来实现这一点,因为Watson无法检查我的db 我一直在看一些信息。是最有用的,但我在寻找 对我来说,寻找插槽和处理程序也很有趣,但同样,这无法在我的简单数据库中进行检查 我期待着这样的事情: 节点1:询问id 如果id存在,则: 节点2:Hi$name!废话

在Watson对话中,我要做的第一件事就是询问用户一个Id。我在python中收到这个Id,并在一个简单的数据库中检查Id是否存在(这是一个非常简单的逻辑)

现在,如果用户不在我的数据库中,我想跳到节点1。因此,我在python中寻找一些来实现这一点,因为Watson无法检查我的db

我一直在看一些信息。是最有用的,但我在寻找

对我来说,寻找插槽和处理程序也很有趣,但同样,这无法在我的简单数据库中进行检查

我期待着这样的事情:

  • 节点1:询问id
  • 如果id存在,则:
  • 节点2:Hi$name!废话废话
  • 但如果id不存在,则跳到节点1
我制作了一个简单的函数,以了解我想做什么:

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 (???)
我还看到,json(?)中可能有这个参数
dialog\u node:“node1或其他任何参数”
,因此我可以通过python访问它,但我没有找到任何相关信息

提前谢谢。如果你认为这个问题可以编辑来改进,请评论一下,我会尽力去做。

这有与Watson Assistant提供的数据库交互的代码。相关的GitHub repo为Db2和PostgreSQL显示了它。它是通过IBM Cloud Functions操作完成的。另一个选项是使用

现在,检查ID后,您将设置一个变量。在对话框树中,您可以设置ID存在或具有特定值的条件,以处理对话框节点或切换到对话框树的该分支。因此,您将强制Watson Assistant进入您的预期处理。

此代码用于与数据库进行交互相关的GitHub repo为Db2和PostgreSQL显示了它。它是通过IBM云函数操作完成的。另一个选项是使用


现在,检查ID后,您将设置一个变量。在对话框树中,您可以设置ID存在或具有特定值的条件来处理对话框节点或切换到对话框树的该分支。因此,您将强制Watson Assistant进入预期处理。

基本上您可以使用Assistant对话框通过让应用程序设置上下文变量和/或输入文本,切换到适当的节点,以强制节点匹配或触发适当的偏离。非常感谢Henrik!我也想到了一些事情:最后,当我实现telegram-watson通信时,我认为用户从telegram发送的信息并不都是needs将被传递给watson。我可以做一些清理和检查,并设置一个变量!另一方面,并非watson响应的所有内容都必须通过TL发送给用户,因为我可以在这样做之前进行清理和检查!但我会看一看,因为它看起来更干净!@chughts问题是当您无法执行时如何强制节点I don’’检查完后,我不能把身份证交给沃森!但我想我已经弄明白了。如果你已经有了对话设计,你可以“强制”“通过清理和检查数据,在内部进行操作,然后做出响应!查看Watson Assistant的Botkit和Botkit中间件:为了获得灵感或直接使用,您可以使用Assistant对话框切换到适当的节点,通过设置应用程序上下文变量和/或输入文本,强制节点匹配或触发适当的偏离。非常感谢Henrik!我也想到了一些事情:最后,当我实现了一个telegram-watson通信时,我认为用户通过Telegrame发送的信息并不都需要传递给watson。我可以做一些清洁和检查,并设置一个变量!另一方面,并非watson响应的所有内容都必须通过TL发送给用户,因为我可以在这样做之前进行清理和检查!但我会看一看,因为它看起来干净多了@chughts问题在于,当检查完id后无法将其传递给watson时,如何强制节点!但我想我明白了。如果你已经有了对话式的设计,你可以通过清理和检查数据来“强制”,在里面做一些事情,然后做出回应!查看Watson Assistant的Botkit和Botkit中间件:灵感来源还是直接使用