title: 「温度调成 21.5 度」语音怎么说进去?拆位固定命令的离线路径、大模型模块 MCP 的在线路径与方案分叉的那一问 keywords: 语音输入参数,小数点,温度设置,拆位命令词,大模型模块,MCP,档位制,离线在线 topic: 语音参数输入的两条路径 gen model: glm-5.3-flash version: 1 aireview cycles: 0 createdat: 2026-10-15T16:38:08.000Z
小数参数的语音输入是工业设备的常见需求:把温度调成 21.5 度,用户要说出一串带小数的数值。离线语音模块的词条机制处理这类「开放数值」有天然限制,但平台上有一条拆位配置的路径,另一条路则要动用大模型模块。本文基于一次加热器项目的问答,对比两条路径的适用条件。
用户的提问很精确:
我们的语音模块是否有语音输入参数的功能,比如把温度调成xx.xx度。现在我看demo里调成几档可以单独设置,如果参数中有小数点,而且个数比较多应该如何设置?
用户已经观察到:demo 里的温度调节是「几档」制——低温/中温/高温这类档位指令,每档一条命令词。现在想把档位升级成任意数值输入,且带小数。
工程师给出的离线方案一句话:
用固定的命令单独设置小数点前面的数和小点后面的数,不然只能使用带大模型的模块利用MCP的功能去设置
即整数部分、小数部分分别做固定命令词(类似「二十一」「点」「五」各成词条),用户按位说出,模块逐段识别、经串口把位值传给主控拼接。这与数字报数的拆位方案同源:位是有限的、组合是开放的,但用户的表达被约束成「按位报数」。
代价很明显:「个数比较多」——小数点前后每一位数字都要建词条,0~9 各一条再加「点」,配置量可控,但用户要适应机械的报数方式;数位多时一句话很长,识别链路也变长。
工程师指出的另一条路是「带大模型的模块利用MCP的功能去设置」:在线大模型对自然语言里嵌入的数值有解析能力,「温度调到二十一点五度」整句说给模型,由模型侧解析出数值,再通过 MCP 通道下发设备执行。这条路用户表达自然、不限制数位,代价是:要用带大模型的模块、依赖网络在线、按在线能力的计费方式走。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70049243/viewspace-3186028/ ,如需转载,请注明出处,否则将追究法律责任。