聊天机器人对话模板
本开源库提供多个聊天机器人 对话模板 项目。
https://github.com/chatopera/chatbot-samples
基于这些源码程序,您可以:
-
快速掌握 聊天机器人开发,实现智能问答,智能客服等应用;
以对话模板为脚手架,学习最佳实践,开发多轮对话; -
快速掌握 聊天机器人的系统集成。
开始阅读前,请完成:
- 安装 多轮对话设计器。
模板目录
程序 | 语言 | 位置 | 功能 |
---|---|---|---|
GuessNumber | en_US | projects/GuessNumber | 小游戏, Guess the secret number in the bot’s hat. |
天气查询 | zh_CN | projects/天气查询 | 实现一个能回答天气情况的聊天机器人 |
活动通知 | zh_CN | projects/活动通知 | 实现一个能通知用户展会活动的聊天机器人 |
招聘面试 | zh_CN | projects/招聘面试 | 进行工作面试:提问技能知识、评估性格和心理素质,发送邮件报告面试过程。 |
小笑话 | zh_CN | projects/小笑话 | 发送“笑话”,机器人返回一个笑话,逗您一乐。 |
闲聊 | zh_CN | projects/闲聊 | 闲聊,寒暄,6,000+ 条对话语料,修改 faq.json 追加。 |
查看所有模板。
对话模板目录结构
.
├── README.md
├── botarchive
│ ├── index.json # 项目描述
│ ├── plugin.js # 函数
│ ├── zh_CN.chatopera.ms # 话题脚本 1
│ ├── zh_CN.profile.ms # 话题脚本 2
│ └── zh_CN.weather.ms # 话题脚本 N
├── package.json # 基于Node.js开发时的环境依赖描述
├── faq.pairs.json # 知识库导入文件,包含问答对、扩展问等
├── flow.mdj # UML对话流程文件,描述对话流程
├── flow.xlsx # Excel话术文件,描述对话流程
├── releases # 版本目录
│ └── *.c66 # 对话应用发布包,c66 文件
├── sample.env # 基于Node.js开发时的机器人远程调试配置信息
└── scripts # 基于Node.js开发时的工具脚本
├── archive.sh # 打包,将 botarchive 制作为 c66 发布包
├── bot # bot命令行工具 wrapper
├── chat.sh # 和机器人连接,测试对话
├── deploy.sh # 将 botarchive 内容更新到远程机器人
├── install.sh # 安装依赖,需要先执行,其它脚本才能使用
└── trace.sh # 实时打印机器人的日志
有两个主要用途:体验 Chatopera 机器人;定制化开发机器人。
体验机器人服务 | ||
体验对话模板机器人的效果 | 参考文档 | |
定制化开发机器人 | ||
基于 多轮对话设计器 开发 (推荐) | 参考文档 | |
基于 Node.js 开发 | 参考文档 |
在定制化开发环节,支持两种开发方法:1)使用 多轮对话设计器;2)基于 Node.js 环境开发。
两种方法支持的功能是一致的,基于多轮对话设计器更被官方推荐。虽然 基于 Node.js 环境开发 对程序员更友好,但是将来会以 多轮对话设计器 更新为主。
系统集成
API - 检索多轮对话。
快速开始
以 Node.js SDK 为例。
npm install @chatopera/sdk
开始聊天。
const Chatbot = require("@chatopera/sdk").Chatbot;
client = new Chatbot(clientid, clientsecret, provider);
# 请求多轮对话接口
bot.command("POST", "/conversation/query", {
fromUserId: username,
textMessage: answers.send,
faqBestReplyThreshold: faqBest,
faqSuggReplyThreshold: faqSugg,
})
系统集成详情打开详细文档链接,了解其它语言 SDK 和更多 API 接口介绍。
建模工具
在实现聊天机器人前,尤其是多轮对话,完成一个任务,要先考虑好它的对话流程。
在对话模板中,介绍两种类型的,完成建模任务的方案:Excel 和 UML 流程图。
Excel
查看使用 Excel 形式描述的话术建模文件,在对话模板项目中打开 flow.xlsx
。
UML 流程图
对话模板中,有的带有[对话流程的建模项目],即以".mdj
"结尾的文件,通常被命名为 flow.mdj
,使用 StarUML 可以打开项目。
比如,一个对话流程图示例:活动通知。
对话流程借鉴 UML Activity Diagram 建模,入门参考文档,内附元素定义、StarUML 软件下载等。
添加新对话模板并初始化
./admin/init.sh BOT_NAME # 在 projects 目录下添加一个 zh_CN 机器人