技术实践
Chaterm以ASR热词与LLM纠错执行语音命令
概述
Chaterm 面向移动端语音操作生产系统的场景,构建了「客户端→网关→外部服务」的双层架构:Flutter 客户端由 VoiceInputButton 采集 16kHz/16bit PCM 音频流,经 AudioStreamService 与基于 WebSocket 的 SpeechService 送到 Go 网关(/v1/speech/asr),网关在建立连接时携带 hotword_id 调用腾讯云实时语音识别,热词权重 1-10 用于常规业务词、11 用于专业术语、100 用于核心关键词,K8S 场景对 kubectl、cube control、pods、services、杠 n、杠杠 namespace 及完整命令模板均设权重 100,按 P'(热词)=P(热词)×boost_factor 提升解码概率。 识别结果再交由 VoiceCommandCorrection 调用 LLM,System Prompt 按角色定义(语音转终端命令助手)、保守不生造原则、谐音纠错与格式规范化两阶段流程、谐音映射/符号标准化/缩写展开规则与 Few-shot 示例组织,把「酷 B 控制 get 跑的」修正为 kubectl get pods、「查看所有 pod」转为 kubectl get pods -A、「kubectl get pods 杠 n default」规范为 kubectl get pods -n default。 纠错后指令写入输入框,需用户二次确认才在终端执行。文中称该方案使 K8S 命令识别接近 100% 精准。