Dialogflow es 在dialogflow实现中访问以前的后续意图参数
我使用内联编辑器中提供的默认dialogflow代码,基于dialogflow实现^0.5.0来整理在几个后续意图中给出的所有参数。我有一个跟进意图提问的设置,最终的意图是询问所有问题 从dialogflow控制台内的先前意图中提取数据以包含在响应中只需使用Dialogflow es 在dialogflow实现中访问以前的后续意图参数,dialogflow-es,Dialogflow Es,我使用内联编辑器中提供的默认dialogflow代码,基于dialogflow实现^0.5.0来整理在几个后续意图中给出的所有参数。我有一个跟进意图提问的设置,最终的意图是询问所有问题 从dialogflow控制台内的先前意图中提取数据以包含在响应中只需使用#order cream followup.chocolate type从先前意图获取参数,或使用$quantity从当前意图获取参数。但是,虽然agent.parameters['quantity']的工作方式类似于$quantity,但我
#order cream followup.chocolate type
从先前意图获取参数,或使用$quantity
从当前意图获取参数。但是,虽然agent.parameters['quantity']
的工作方式类似于$quantity
,但我找不到在dialogflow实现中实现与#order cream followup.chocolate type
等效的方法
抱歉,如果这是一个明显的答案,我会迷失在DialiFlow的各种不同文档中,并在google上进行操作
我的代码:(当前只是在添加代码以处理数据输出之前登录到控制台)
要获取仍处于活动状态的上下文(即其
lifespanCount
尚未达到0),可以使用agent.context.get()
。所以你的例子看起来像
agent.context.get('order-cream-followup').params['chocolate-type']
(这是在库的0.6.0版本中引入的。)
然而。。。这要求上下文仍然有效。如果您使用的是后续意图(可能会变得混乱),则寿命最初仅设置为2,因此它们可能已过期
你应该做两件事:
谢谢我一直在尝试使用上下文,但没有成功,可能是它已经过期了(
agent.context
在我尝试调用它时甚至没有定义)。遗憾的是,由于客户的意愿,选项1不可能实现。将尝试选项2:)如果未定义agent.context
,则可能存在其他问题。你能用你正在使用的库的版本更新你的问题吗?agent.context
是在库的0.6.0版本中引入的,你说你正在运行0.5.0。由于旧方法已被弃用,您应该更新。非常感谢,我使用的是内联编辑器提供的默认package.json。将升级版本。还有一件事。从v0.6.1开始,上下文名称在Dialogflow的后端自动转换为小写,因此如果您尝试使用大写字符,则您的agent.content.get()
可能返回未定义。此外,参数
已更改为参数
。
agent.context.get('order-cream-followup').params['chocolate-type']