跳到主要内容

设备端 AI 语音助手

· 阅读需 7 分钟
Astra Team
Astra Team
Synaptics

简介

在 2025 年 CES 展会上,Synaptics 展示了众多令人印象深刻的 AI 演示。

其中包括一个完全在设备端运行的情境 AI 语音助手,无需依赖云端或卸载,可在 Synaptics Astra™ Machina SL1680 Linux 开发板上运行。

备注

您现在就可以购买 Synaptics Astra SL1680 开发板 并运行这个开源演示:

GitHub 上找到 Python 源代码,您可以自定义和使用。

一些亮点功能:

  • 理解上下文相关的查询
  • 快速响应(低至 500ms)且准确,无需依赖云端
  • 可以调用外设或云服务以扩展功能
  • 利用多模态系统处理基于视觉的查询
  • 无幻觉响应,前提是 Q&A 数据集干净(见限制说明)

该项目建立在许多开源 AI 项目和个人的工作和贡献之上,包括:

  1. 语音转文本:Useful Sensors Inc. 的 Moonshine,比 Whisper 快 5 倍且准确度更高
  2. 响应生成:使用仅编码器的语言模型进行上下文相关的 Q&A 匹配
  3. 文本转语音:Open Home Foundation 的 Piper

工作原理:可视化

助手使用 Sentence transformer 将问题转换为表示含义的向量。这种数据格式类似于 RAG 系统(检索增强生成)中存储在向量数据库中的格式。这实现了语音查询的语义搜索 - 用户无需精确措辞。

信息

运行这个交互式可视化是获得直观理解的好方法。(在可视化界面中,按"A"键查看标签。)


示例查询

以下是一些常见问题和回答,展示了这个 AI 助手如何处理查询:

基本信息

- 你是谁?你叫什么名字? - 我是一个运行在 Synaptics Astra SL1680 上的 AI 助手。

- 我的洗碗机无法启动。 - 如果您的洗碗机无法启动,请检查是否已插入电源、断路器是否跳闸、门是否完全关闭,以及电源按钮是否已激活。


工具调用

将工具调用集成到架构中很容易,可以使用宽泛的语义查询来调用操作。这实现了与以下功能的动态交互:

  • 外设:控制 GPIO 或其他硬件组件
  • 云 API:调用外部 API 以扩展功能
  • 视觉模型:利用基于 NPU 的视觉系统进行多模态查询

例如,您可以通过将查询添加到 question_answers.json 来启用助手响应查询。

    {
"question": "What's the time?",
"answer": "{time}"
},

当匹配时,助手将通过查看 tools.json 来调用 {time}

    {
"token": "{time}",
"command": "date +\"%B %d at %I.%M%p\""
},

这同样可以读取或写入 GPIO,或调用云 API。

工具调用示例查询

- 天气怎么样? - 圣何塞天气部分多云,58°F。

- 现在几点了? - 现在是下午 3:45。


设备端 AI 助手架构

该项目特意设计为情境特定,使用仅编码器语言模型和预生成的问题-答案组,在嵌入式 Linux 开发板上实现低延迟。然而,语义匹配实现了足够自然、私密和响应迅速的单一主题交互(例如特定设备的命令或支持问题),可在家庭、零售或工业应用中受益于有效的语音 UI。

(a) 预生成架构

在这种架构中,数据准备工作提前进行,以确保设备端快速高效的响应。

  1. 数据准备
    • 将用户手册或常见问题解答等手动数据源预处理成文本块
    • 使用基于云的大语言模型(LLM)生成结构化 Q&A 数据集,通过提示工程基于源材料生成自然的用户问题
  2. 语义搜索索引
    • 文本嵌入模型将问题转换为高维向量,实现相似含义查询的语义搜索。仅编码器句子转换器确保高性能,并避免超出预生成数据的幻觉
  3. 部署
    • 将生成的嵌入和答案文本打包并加载到设备上

(b) 设备端架构

这种架构实现了用户和助手之间的无缝交互,无需任何外部依赖。值得注意的是,它利用仅编码器句子转换器进行推理和响应生成,提供了一种新颖的方法,确保高性能同时消除超出预生成数据的幻觉可能性。

  1. 语音输入管道
    • 通过语音活动检测(VAD)处理用户语音以识别活动语音输入
  2. 语义搜索
    • 转录文本通过嵌入使用余弦相似度进行语义搜索,匹配最接近的预生成 Q&A 组
  3. 响应传递
    • 使用文本转语音(TTS)模型将匹配的响应转换为音频
  4. 工具查询
    • 可以控制 GPIO 或其他硬件组件等外设,并基于语义匹配调用 API。这实现了动态交互并扩展了助手功能
  5. 多模态系统
    • 工具调用可以包括在 NPU 上运行的视觉模型,用于对象识别或环境理解。例如,查询"我能看到什么?"可以调用视觉模型,响应为:"我可以看到 {call_vision}",以增强多模态功能

设备端语音管道

下图表示设备端语音助手中的数据流:

用户语音 --> [VAD] --> [STT] --> [嵌入] -----------> [语义搜索]
|
|
v
[查找答案]
|
|
[运行工具,如 GPIO、云 API] <-----------是---------[包含工具调用令牌?]
| |
| |
| v
--------将工具响应插入答案------------------> [TTS]


  • 语音活动检测 (VAD):检测用户开始说话的时间
  • 语音转文本 (STT):使用 Moonshine 将用户语音转录为文本
  • 嵌入:将用户问题转换为嵌入
  • 语义搜索:对预生成的问题嵌入执行余弦相似度搜索
  • 文本转语音 (TTS):将检索到的答案转换为自然语音输出
  • 工具查询:允许与外设、视觉模型或外部 API 交互以实现额外功能

未来方向

设备端 AI 的潜力巨大,应用范围从家用电器扩展到消费、商业、医疗和工业设备。视觉模型和工具调用功能的集成进一步增强了这些系统的功能。

随着技术的发展,我们预计会出现更复杂的交互和更好的性能,这得益于小型语言模型和高效 AI 框架的进步。知识图谱和 sentence transformer 的定制可能会在更小的模型尺寸下产生更好的准确性,除此之外,使用微调模型的代理方法也很有前景。

对于开发人员和工程师,developer.synaptics.com 提供了实用的示例和详细指南,为构建和创新设备端 AI 解决方案奠定了基础。

上图:在 NPU 上并行运行视觉模型的原型多模态实现。