golang DM/ivr 画布开源项目,支持拖拉式产生IVR

1 篇文章 0 订阅

最近我在gitee上开源了一个简单的ivr项目,https://gitee.com/wenhuawang/ivr.git

这个项目可以供ivr、DM爱好者学习IVR、DM的基本原理。

DM一般分知识型对话和任务性对话等,任务型对话一般带着任务需要填槽,所以他一般可以用状态机进行描述,

适合流程话定制开发。

1)DM的输入

一般的拖拉式的DM产生器都是基于状态机,利用自己的DM编辑器产生一套标准的文件。

有标准的表述语言如SCXML。

为了简便,我采用了自己的一套Json语法作为输入。

2)DM 的发布

当我们在DM编辑器编译之后,我们选择发布到我们的线上环境,这时可以调用相应的接口,

把文件描述传给dm 服务。

DM服务加载文件,产生对应的状态机。

3)DM的运行

当机器人发布以后,我们就可以测试调用对应机器人的会话是否正常。

一般输入类似与电话呼入、或者文本的会话开始等事件,这些事件驱动机器人的状态流转,

然后我们根据机器人的配置,给出对应事件的回复,并且进行状态的流转。

这里一般会设计到NLU和NLG两个概念。

NLU就是理解客户的输入意图,作为节点跳转的条件。

NLG就是理解了客户的意图之后,根据意图跳转到正确的节点做出相应的回复。

这里为了简单,我们没有支持自定义意图,以及NLU的填槽等概念。

这个的意图只是简单支持按键输入,直接做字符串的比较。

NLG部分只是简单的读取配置,没有带填槽变量等的支持。

总之,本仓库仅供入门者学习使用,可以作为ivr画布使用,作为DM还有比较长的距离。

后续可以支持redis等用于支持无状态请求等,便于大规模部署。

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值