聊天机器人对话模板:招聘机器人、天气查询、活动通知、寒暄等

聊天机器人对话模板

本开源库提供多个聊天机器人 对话模板 项目。

https://github.com/chatopera/chatbot-samples

基于这些源码程序,您可以:

  • 快速掌握 聊天机器人开发,实现智能问答,智能客服等应用;
    以对话模板为脚手架,学习最佳实践,开发多轮对话;

  • 快速掌握 聊天机器人的系统集成。

开始阅读前,请完成:

模板目录

程序语言位置功能
GuessNumberen_USprojects/GuessNumber小游戏, Guess the secret number in the bot’s hat.
天气查询zh_CNprojects/天气查询实现一个能回答天气情况的聊天机器人
活动通知zh_CNprojects/活动通知实现一个能通知用户展会活动的聊天机器人
招聘面试zh_CNprojects/招聘面试进行工作面试:提问技能知识、评估性格和心理素质,发送邮件报告面试过程。
小笑话zh_CNprojects/小笑话发送“笑话”,机器人返回一个笑话,逗您一乐。
闲聊zh_CNprojects/闲聊闲聊,寒暄,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

比如,活动通知话术模版 Excel 文件

UML 流程图

对话模板中,有的带有[对话流程的建模项目],即以".mdj"结尾的文件,通常被命名为 flow.mdj,使用 StarUML 可以打开项目。

比如,一个对话流程图示例:活动通知

在这里插入图片描述

对话流程借鉴 UML Activity Diagram 建模,入门参考文档,内附元素定义、StarUML 软件下载等。

添加新对话模板并初始化

./admin/init.sh BOT_NAME # 在 projects 目录下添加一个 zh_CN 机器人
王海良@Chatopera 聊天机器人 机器学习 智能客服
Chatopera 联合创始人 & CEO,运营聊天机器人平台 https://bot.chatopera.com,让聊天机器人上线!2015年开始探索聊天机器人的商业应用,实现基于自然语言交互的流程引擎、语音识别、自然语言理解,2018年出版《智能问答与深度学习》一书。