从语音到动作 · 模型与程序分工

说一句关灯,怎样变成设备上的动作?

Cactus 把 Whistle 的语音转录与 Needle 的工具选择放进同一引擎。从一个固定返回 27°C 的天气例子,分清识别请求、返回参数、执行函数和真正接到设备的几步。

Whistle 的原发布日期是 10 月 2 日。本文按 10 月 12 日读取的官方说明、固定模型卡与 SDK 源码整理;本站没有安装、运行这些模型或连接真实设备。

本文目录目录4

EN

27°C,是例子写进去的值

官方代码例子把拉各斯的天气问题交给 Needle,由它选择 get_weather 并填入城市,随后展示 27°C、晴天。读起来像一次天气查询,但原函数把 27 和 clear 直接写进返回值,没有连接天气服务。这是一份把请求接到函数的占位示例:模型识别了该用哪个入口、城市参数从哪里来;天气是否真实、新鲜,要看入口背后的服务。问题理解正确,与把所需的数据取回来,是两项不同的成果。

来源与延伸阅读

EN

返回一个选择,和执行那个函数

SDK 也把这两件事分开。complete 返回一次模型回复,其中可包含函数名称与参数;程序可以先展示选择,再决定是否调用。run 则在循环里找到开发者注册的函数,交入参数,把结果送回模型,并在最后的 results 中保留执行返回。未知工具或函数出错也会成为反馈。这让 JSON 的意义更具体:它可以是一份待执行的选择;真正的动作来自程序调用,而函数内部连接什么,仍由开发者实现。

complete 返回调用 JSON;run 执行注册函数。官方天气函数返回固定 27°C,没有查询天气服务。
本站编辑说明图,按固定 SDK 与模型卡整理。27°C 来自作者占位函数,不是实际天气查询或本站运行读数。 · 打开大图
来源与延伸阅读

EN

关灯这句话,到灯真的熄灭

Whistle 为这条路线加上声音入口:16.9 MB 的模型在 CPU 上把音频转成文字,Needle 再结合工具定义选择调用。官方厨房关灯示例返回房间 kitchen、开关 false,以及转录文字和语言;两模型能放在同一引擎里,让一段音频在一次调用中交出这些字段。接下来,软件仍要把它们接到实际灯控接口,并确认设备状态。读到这份 JSON,说明请求已成为具体参数;灯是否熄灭,要看后面的程序与设备。

来源与延伸阅读

EN

先确认它能听懂哪些话

当前 Whistle 模型卡只列英语、德语、法语、西班牙语、意大利语、荷兰语与波兰语,没有中文,不能把中文关灯要求当作已支持的演示。还要留意转录中的名字:Needle 从转录里取参数,房间或设备词听错,后续调用可能缺失;官方说明允许用关键词帮助识别。这份路线适合继续研究一小组明确任务怎样获得本地语音入口。要看成果是否成立,除了文字和参数,还应看到相应服务的数据,或设备动作之后的状态。

来源与延伸阅读