我想知道是否有一种方法可以激活一种意图,一种 “满足此条件,而不是意图XX”。 我试图解释我想做什么: 当用户说一个特定的单词时,该意图会在数据库中查找根据优先级算法要执行的任务。例如,如果选择任务1作为最高优先级,那么我应该能够激活“在运行时”任务1的意图,而无需要求用户说“请说001激活任务1”。 预先感谢
答案 0 :(得分:1)
我已经通过将我的响应移动到不同的功能,在Webhook中实现了您对“如果满足条件,达到X意向”的要求。在以下情况下,我需要基于if条件的不同响应和不同输出上下文。这样,我可以根据用户输入动态触发不同的意图。
const game = SessionsService.getGame(userId);
if(game) {
logger.info("Found a gamein progress..")
const response = gameInProgress();
conv.contexts.set("_defaultwelcomeintent-followup", 1);
return conv.ask(response);
} else {
logger.info("No game in progress found..")
const response = welcome();
conv.contexts.set("_introduction", 1);
conv.contexts.set("_setup", 1);
return conv.ask(response);
};
响应函数的示例:
function gameInProgress() {
const text = messages.gameInProgressText();
const ssml = messages.gameInProgressSsml();
const response = new BasicResponse(text, ssml);
return response;
};
您可以代替您的boardService来实现优先级算法。