我最近一直在与Dialogflow合作,使聊天机器人执行一些简单的任务。例如,使用webhooks和youtube api时,用户要求向他显示视频,然后漫游器仅用youtube视频url进行回答。
E.G。 用户说 告诉我尼尔年轻的收获之月
代理商说 在这里您可以:https://www.youtube.com/watch?v=n2MtEsrcTTs
我通过使用一个名为“ YoutubeQuery”的自定义实体来执行此操作,我选中了“允许自动扩展”,而未选中“定义同义词”,然后我只添加了两个值“ Kavinsky Night Call”和“ Indigo Night Tamino”
我的意图是,我做了几个这样的训练短语:
一切正常。
现在,我的问题是一个名为Orders的新代理
我只想从Firestore数据库中获取订单ID,但是在到达那里之前,我遇到了一个很大的问题
我定义了订单的ID实体,就像youtubeQuery一样。我添加了一些示例订单ID,我希望它们全部以OD开头,并在示例后有4位数字(DX0001,DX0009,DX9999)
现在,除非我从训练短语或我在实体中定义的ID示例中给出确切的订单ID,否则它将始终给我一个带有空参数OrderID的响应 我先说“我的订单”开始我的意图,然后提示我“您的ID是什么?
因此,当我提供尚未在Intent的训练短语中使用的ID时,我会在这样的参数中得到一个空值:
但是当我给出一个已经在训练短语中使用过的ID(例如第一个DX0808)时,它确实可以工作...
如何在不将所有可能的订单ID(从DX0001到DX9999)添加到训练短语或实体中的情况下进行这项工作。 我的意思是它确实适用于我的youtube查询,我可以在其中放置任何可以“捕捉”价值的东西。有什么帮助吗?