DialogFlow:如果一个意图被触发了三次,那么如何存储和重用每一次(第一次、第二次、第三次)的参数值? [英] DialogFlow: if an intent is triggered three times, how to store and reuse the parameters' value of each time (1st, 2nd, and 3rd)?

查看:11
本文介绍了DialogFlow:如果一个意图被触发了三次,那么如何存储和重用每一次(第一次、第二次、第三次)的参数值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在DialogFlow中:我有一个意图,用户可能会多次触发。如何存储和重用每次参数值?

例如,意图名称为";Progress_tracking";,另一个意图为";get_Progress_report";。

第一次触发";Progress_Tracking&qot;意图:

用户:我在前10分钟只完成了项目的1/5。我不是很有信心。
聊天机器人:感谢您分享进度。你应该相信自己!

第二次触发";Progress_Tracking&qot;意图:

用户:我只完成了项目的一半。它用了5分钟。我想我能按时完成。
聊天机器人:很高兴您从1/5进步到1/2,之前您不太自信。你现在感觉怎么样?

第三次触发";Progress_Tracking&qot;意图:

用户:我已经完成了我的工作!我只花了30分钟!
聊天机器人:做得好!

触发";GET_PROGRESS_REPORT&QOT;意图:

用户:您能给我一个进度报告吗?
聊天机器人:当然!在第一次会议中,你在10分钟内完成了五分之一的工作。在第二节课中,您.

寻找一些指导!提前感谢您!

推荐答案

对于您的用例,我使用了输入和输出的概念Contexts。我还使用了conversational turns的概念。

您可以参考下面提到的步骤:

  • 我创建了意图,并将输入和输出上下文传入其中。
  • 我创建了一个自定义实体,即@Values,将小数数据(1/2,⅕等)存储为@sys.number,它返回十进制值(0.2,0.5)。
  • 我使用#context-name.Parameter-name将参数值从一个意图传递到另一个意图,出于同样的目的,我使用$Parameter-name按照此doc传递参数值。
  • 您可以根据需要参考下面的输出截图

输出1:

输出2:

  • 您可以在您的终端使用下面的代理来检查意图内部的上下文流动。您需要按照此doc将Zip代理导入到您的项目中,它将正常工作。

    Zip文件:Agent Zip file

这篇关于DialogFlow:如果一个意图被触发了三次,那么如何存储和重用每一次(第一次、第二次、第三次)的参数值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆