技术博客

国产大模型ChatGLM2加持、可以操控机器人的智能语音助手

“小智”是一个基于 M5Core2 的智能语音助手。它既能与大模型对话,也能通过 Wi-Fi 控制局域网中的灯具、机器人等设备,并查询天气等实时信息。

国产大模型ChatGLM2加持、可以操控机器人的智能语音助手 主图

历史文章:首发于 2023-12-14,原文见 微信公众号。文中版本、产品状态、价格、下载链接和命令可能已变化,实施前请以当前资料为准。

“小智”是一个基于 M5Core2 的智能语音助手。它既能与大模型对话,也能通过 Wi-Fi 控制局域网中的灯具、机器人等设备,并查询天气等实时信息。

对话大脑:ChatGLM2-6B

项目使用清华大学团队开发的 ChatGLM2-6B。模型提供 FP16/BF16、INT8 和 INT4 等量化版本;当时使用的是显存占用约 13.1 GB 的 FP16/BF16 版本,并部署在带 RTX 3090 的服务器上。

小智进行知识问答

大模型负责开放式知识对话,但无法天然保证实时联网数据与确定性设备控制,因此系统还加入了一条基于文本相似度的规则链路:当语音文本与预设指令的相似度超过阈值,就执行对应任务。

视频中的机器人控制、灯具控制和天气查询都通过这类明确指令实现。这个设计把“开放对话”和“可靠动作”分开,避免直接把不确定的大模型输出交给执行器。

语音链路

语音识别与语音合成采用百度 Web API,通过 HTTP 完成请求。语音唤醒则由局域网服务器上的 WebSocket 服务处理。

WebSocket 使用长连接,减少频繁建立与关闭连接的开销,更适合持续发送音频数据的唤醒场景。完整链路可以概括为:

  1. 设备侧采集语音并完成唤醒;
  2. 语音识别得到文本;
  3. 规则系统判断是否属于确定性指令;
  4. 指令命中则调用设备能力,否则交给 ChatGLM2 生成回复;
  5. 回复经语音合成后在终端播放。

控制机器人

小智与六足机器人处于同一局域网。语音指令转为确定性控制命令后,通过网络发送给机器人,而机器人自身仍负责运动控制。

小智向六足机器人发送前进指令

这种分层方式让语音助手负责理解与任务分派,机器人控制器负责实时执行,也为后来“大小脑”架构的项目积累了经验。

评论

当前阶段评论提交后将直接展示,后续后台评论管理接入后可切换为审核流。

登录后可发表评论、点赞和收藏文章。

还没有评论,欢迎成为第一个参与讨论的用户。

继续阅读

把文章内容和产品方案、资料授权流程串起来。