可以说我有两个意图QuotationIntent
和SalesRepresentativeIntent
。
QuotationIntent
从用户那里得到一些输入,并通过网络挂钩返回适当的结果。成功实现后,我想触发SalesRepresentativeIntent
与用户核对,是否希望他们的销售代表给他们打电话。我可以通过events触发Intent。但是问题是QuotationIntent
履行消息被跳过了。
我不想直接将跟踪意图添加到QuotationIntent
,因为有很多意图需要触发SalesRepresentativeIntent
。
您能告诉我如何实现吗?预先感谢。
答案 0 :(得分:0)
您可以在此处使用上下文。在您的QuotationDone
中添加输出上下文,例如“ QuotationIntent
”。使用与SalesRepresentativeIntent
的输入上下文相同的上下文。这样,SalesRepresentativeIntent
仅在QuotationIntent
完成时才被触发。
要触发SalesRepresentativeIntent
,您需要添加“用户说”短语并培训您的代理人,或者将EVENTS添加到您的意图中。
这样,只有在满足以下条件时才会触发您的SalesRepresentativeIntent
:
if((inputContext is present) AND (event is triggered OR user says phrase is present)){
trigger `SalesRepresentativeIntent`
} else {
fallback intent called
}
完成任务的另一种方法是使用SLOTS。在这里,您可以单方面收集多个参数。添加要收集的参数。在您的情况下,无论您在QuotationIntent
中收集什么内容,都可以在前几个参数中收集它,并根据需要进行设置,然后在SalesRepresentativeIntent
中需要收集的东西可以相同的意图在其他参数中收集。按照您的漫游器向用户询问的顺序排列参数的顺序。这样,将根据是否从用户收集参数自动询问您的响应。