机器人“店员”使用文档
该页面主要由cx维护,嘻嘻
一、介绍
- Q群:沃玛频道主群
- 店员B站账号: @店店店店员(支持评论区总结/回复/私信聊天)
- 开发者:橙息
- 设定:来自b站up主@warma的作品中出现的角色“店员”
- 功能:基于deepseek等AI模型的聊天机器人,可以同时与多人进行连续的文字聊天,语音聊天,识别图像等
使用到的AI模型
- 大语言模型:DeepSeek-V2
- 视觉模型:qwen-vl-plus(通义千问视觉模型)
- 语音识别模型:Paraformer语音识别-中文-通用-16k-离线-large-pytorch
- 语音合成模型:GPT-SoVITS-v2
以下内容中以 频道 指代聊群或私信频道
基本功能特性
- 白名单:需要橙息手动为频道添加白名单才能使用店员的所有功能
- 闭嘴:当店员处于闭嘴状态的时候,无法 在频道中通过
@店员
除外的方式触发AI回复 - 防刷屏:主要是为了防止店员与其他机器人(贝拉)触发循环对话
- 判定方式:在触发店员AI对话的时候,判断最近5条消息是否包含2条店员消息,并且5条消息的时间间隔小于8秒,如果是则不触发AI回复
- 自动宵禁:当自动宵禁功能开启,工作日00:00-06:30自动开启全员禁言
- 生日提醒:根据聊群用户在qq设置的生日,在每日的8点整自动为用户献上生日祝福
- 语音输出:在触发店员AI聊天时,在发送的文本最后加上 "-a" 可以让店员使用语言+文本回答用户的问题
二、店员AI聊天功能
触发AI对话的方式:
- 在聊群中发送带有“店员”二字的消息
- 在聊群中
@店员
- 引用店员的消息
- 在私信中发送任意消息
- 在聊群中有 1% 的概率触发店员的AI回复
- 若消息中包含
**
(双星号)则任何情况下都不会触发AI回复 - 有新用户加入聊群,自动触发AI回复欢迎新用户
- 戳一戳有 20% 的概率触发
短期记忆
- 在每个频道都会有15条对话上下文(又称短期记忆)
- 记忆包括用户的对话(没有触发AI回复的消息)
- 还包括店员自己发送的消息和调用外部函数的结果
- 超过15条后会自动删除最早的一条对话。
- 店员可以结合这15条消息来回答用户的问题。
长期记忆
- 店员会在聊天中自动整理记忆到向量数据库中,包括新增/更新/删除记忆
- 店员会在回答问题时根据提问调用数据库中最匹配的5条记忆条目
- 使用了阿里云的DashVector向量检索服务
- 使用了阿里云的通用文本向量模型text-embedding-v2
可用信息
- 用户发送的消息文本
- 用户在聊群中的昵称
- 当前的时间 (格式为:YYYY-mm-dd HH:MM:SS)
- 频道名称
- 个别频道的额外信息
闲聊频道:各个子频道群号列表(已加入到长期记忆中)- 沃玛岛:基础的帮助文档
店员接受的格式
- 文本内容
- 图片:可以是引用的图片,又或是
图片
+文字
混合(自定义表情包将作为图片处理)图片会先传递给qwen-vl-plus模型进行识别,识别结果会作为文字代替文本消息中的图片传递给deepseek-v2模型,deepseek-v2模型会根据识别结果回复
- qq emoji:转为对应的文字名称
- qq表情包:转为对应的文字名称
- 语音:语音识别,使用了Paraformer语音识别-中文-通用-16k-离线-large-pytorch来语音识别(只支持中文)
- 引用消息:可获取引用的消息文本内容和发送者的昵称,如果引用的消息包含图片也会按照上述方式处理
- 其他格式:无法处理文件、视频等格式
店员可输出的格式
- 文本内容
- 图片(使用图片的url来 发送图片,前提是店员得知道一张图片的url)
- 语音: 使用GPT-SoVITS-v2来合成语音
- Latex公式:会自动渲染为图片,有时候会抽风
- 代码块: 大部分时候都会将代码块渲染为图片
调用外部函数
- 事件触发器:可以定时提醒用户做某件事情。
- 闭嘴:店员AI静默
- 网页搜索:调用google搜索api- b站搜索:在b站搜索视频/up主/专栏等- 获取用户主页投稿信息:投稿的视频列表- 获取视频内容:由b站AI生成的视频总结- 获取视频数据:标题/简介/up主/播放量/弹幕/评论/点赞/投币/收藏/转发等数据
三、店员指令功能
- 使用 “
@店员
” <指令> <参数> 来执行指令(通常使用空格分隔) - 只要消息以“@店员 ”开头,就算没有@到,也会当做指令来处理而不是直接触发AI回复
- 当“
@店员
”后没有匹配到如下列表的指令时,触发AI回复