☰
AI智能体项目实战记录(16):进阶学习 —— 添加语音识别功能,实现快速提问
2026/10/23 5:00:54 网站建设 项目流程

AI智能体项目实战记录(16):进阶学习 —— 添加语音识别功能,实现快速提问

1. 引言

1.1 为什么给问答系统加语音

前 15 篇我们完成了多智能体编排、技能选择、调用日志等能力,交互方式一直是"打字提问"。但在真实场景里:

  • 移动端打字慢,语音更自然;
  • 用户问题较长时,说话比输入快;
  • 客服/巡检等场景需要"说完即问"。

所以这一篇给系统补上语音提问:按住麦克风 → 说话 → 松开 → 自动识别成文字并发送给主管智能体。

1.2 方案选型风暴

在动手前,先把可选方案摆出来对比:

方案优点缺点适用
浏览器 Web Speech API零依赖、接入最快多数浏览器实际走云端、离线不可用、各端行为不一致快速验证
云端 ASR(讯飞/阿里/腾讯等)识别率高、模型维护成本低按量计费、依赖网络、音频出内网有合规风险对准确率要求极高
本地模型(SenseVoiceSmall + sherpa-onnx)离线、免费、数据不出内网、CPU 可跑首次加载模型占内存、需要自己准备模型文件私有化/内网项目

本项目选择本地 SenseVoiceSmall + sherpa-onnx,原因:

  1. 系统本身已经私有化部署,音频不适合出内网;
  2. SenseVoiceSmall 支持中/英/日/韩/粤语,覆盖主要场景;
  3. sherpa-onnx 提供现成的 ONNX 推理封装,CPU 上 int8 模型速度可接受;
  4. 不引入新的云服务账号与费用。

1.3 几个名词先说明

  • ONNX:一种跨框架的模型格式,PyTorch/训练框架导出的模型可以用 ONNX Runtime 推理;
  • sherpa-onnx:基于 ONNX Runtime 的语音识别/合成工具库,封装了流式与非流式识别器;
  • SenseVoiceSmall:多语言语音识别模型,输出带标点的文本;
  • ITN(Inverse Text Normalization):把口语化的数字/单位转成书面形式,例如"一百二十"→"120";
  • PCM:未压缩的音频采样数据;本项目统一转成16kHz、单声道、float32([-1, 1])。

1.4 端到端链路

LangGraphasr_serviceFastAPI浏览器用户LangGraphasr_serviceFastAPI浏览器用户按住麦克风,开始说话MediaRecorder 收集 audioChunks松开,结束录音

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询