UNPKG

mm_os

Version:

MM_OS服务端架构,用于快速构建应用程序,支持网站建设、小程序后台、AI应用、物联网(IOT/AIOT)、游戏服务端等多种场景。

122 lines 5.83 kB
{ // 指令(意图)名称, 用于动态增删改配置 "name": "{name || 'demo'}", // 标题, 用于查询指令时 "title": "{title || '指令标题'}", // 描述, 用于介绍该指令的作用 "description": "{description || '暂无描述'}", // 示例(训练样本), 用于提示AI该指令的格式,多个样本用分号隔开 "example": "{example || '播放一首周杰伦的歌;听音乐,邓紫棋的喜欢你;听歌邓紫棋的《喜欢你》;我想听邓紫棋的《光年之外》'}", // 指令分组, 可以将特有的指令分一个组, 方便用户查询 "group": "{group || 'default'}", // 指令分类, 例如: 查询服务类query、执行类execute、管理类admin、控制类control、播放类play、游戏类game "type": "{type || 'control'}", // 时态, 分before之前、check验证、main主要、render渲染、after之后五个时态 "tense": "{tense || 'main'}", // 文件名, 用于驱动脚本, 实现业务 "main": "{main || './index.js'}", // 指令状态, 1为启用, 0为禁用 "state": 1, // 执行顺序, 数值越小的指令越优先执行 "sort": 100, // 匹配关键词组, 当聊天中出现其中一个关键词则会执行该指令 "match": ["播放", "听", "听歌"], // 结束会话 当值为1时,指令触发并返回了内容后不再执行其他指令。为0时,指令触发仍继续执行其他指令 "end": 1, // 不包含关键词, 如果匹配后, 出现不应该包含的关键词, 则不会执行指令 "not": [], // 移除关键词, 如果聊天中含这些词, 将会被剔除在执行指令 "remove": [], // 提取特定词, 如果聊天中含有特定词, 会被提取出来再执行指令 "extract": [], // 阶段(1-9),可用于补全参数fill、过滤参数filter、校验参数check、更新参数update "stage": [ // 第一阶段 { // 方式 fill为补全,会将本次消息加入到msg.form[name]中 "mode": "fill", /* 参数, 用于执行指令行为前抽取关键词进行验证, 然后再执行指令 */ "param": [ { // 参数名称, 用于提交数据时 "name": "music_name", // 参数标题, 用于提示用户什么参数错误 "title": "音乐名称", // 是否必填, 1为必填, 0为选填 "required": 1, // 参数描述, 用于提示AI该参数的作用 "desc": "要播放的音乐名称", // 示例, 用于提示该参数的格式,多个示例用分号隔开,别名用竖线隔开 "example": "画;喜欢你;告白气球;来自天堂的魔鬼;", // 抽验顺序, 越小的越优先验证, 并且抽取后排列在前 "sort": 10, // 抽取/校验格式, 如果格式不符合, 则表示验证未通过,提示用户 "format": "/[a-zA-Z0-9_\u4e00-\u9fa5]+/g", // 缺少参数提示, 如果不包含该参数, 则做出的提示 "not_tip": "音乐名称是?", // 错误提示, 提示用户补充参数时, 补充参数错误时做出的提示 "error_tip": "音乐名称不正确", // 校验/抽取的函数名, 通过函数的方式抽取/校验参数 "func_name": "", // 同义词, 用于训练NLP, 多个同义词用分号隔开 "aliases": "音乐;歌曲" }, { // 参数名称, 用于提交数据时 "name": "author", // 参数标题, 用于提示用户什么参数错误 "title": "音乐作者", // 是否必填, 1为必填, 0为选填 "required": 0, // 参数描述, 用于提示AI该参数的作用 "desc": "写这首歌的人", // 示例, 用于提示该参数的格式,多个示例用分号隔开,别名用竖线隔开 "example": "周杰伦|杰伦;邓紫棋|GEM", // 抽验顺序, 越小的越优先验证, 并且抽取后排列在前 "sort": 10, // 抽取/校验格式, 如果格式不符合, 则表示验证未通过,提示用户 "format": "/[a-zA-Z0-9_\u4e00-\u9fa5]+/g", // 缺少参数提示, 如果不包含该参数, 则做出的提示 "not_tip": "音乐作者是?", // 错误提示, 提示用户补充参数时, 补充参数错误时做出的提示 "error_tip": "音乐作者不正确", // 校验/抽取的函数名, 通过函数的方式抽取/校验参数 "func_name": "", // 同义词, 用于训练NLP, 多个同义词用分号隔开 "aliases": "作者;作词人" }, { // 参数名称, 用于提交数据时 "name": "singer", // 参数标题, 用于提示用户什么参数错误 "title": "歌手", // 是否必填, 1为必填, 0为选填 "required": 1, // 参数描述, 用于提示AI该参数的作用 "desc": "唱歌的人", // 示例, 用于提示该参数的格式,多个示例用分号隔开,别名用竖线隔开 "example": "周杰伦|杰伦;邓紫棋|GEM|G.E.M.", // 抽验顺序, 越小的越优先验证, 并且抽取后排列在前 "sort": 10, // 抽取/校验格式, 如果格式不符合, 则表示验证未通过,提示用户 "format": "/[a-zA-Z0-9_\u4e00-\u9fa5]+/g", // 缺少参数提示, 如果不包含该参数, 则做出的提示 "not_tip": "歌手是?", // 错误提示, 提示用户补充参数时, 补充参数错误时做出的提示 "error_tip": "歌手不正确", // 校验/抽取的函数名, 通过函数的方式抽取/校验参数 "func_name": "", // 同义词, 用于训练NLP, 多个同义词用分号隔开 "aliases": "歌手;唱作者" } ] }, // 第二阶段 { // 方式 update为更新,会将本次消息替换掉msg.form[name]的值 "mode": "update", // 验证参数集 "param": [] } ] }