从语音到动作 · 模型与程序分工
说一句关灯,怎样变成设备上的动作?
Cactus 把 Whistle 的语音转录与 Needle 的工具选择放进同一引擎。从一个固定返回 27°C 的天气例子,分清识别请求、返回参数、执行函数和真正接到设备的几步。
Whistle 的原发布日期是 10 月 2 日。本文按 10 月 12 日读取的官方说明、固定模型卡与 SDK 源码整理;本站没有安装、运行这些模型或连接真实设备。
27°C,是例子写进去的值
官方代码例子把拉各斯的天气问题交给 Needle,由它选择 get_weather 并填入城市,随后展示 27°C、晴天。读起来像一次天气查询,但原函数把 27 和 clear 直接写进返回值,没有连接天气服务。这是一份把请求接到函数的占位示例:模型识别了该用哪个入口、城市参数从哪里来;天气是否真实、新鲜,要看入口背后的服务。问题理解正确,与把所需的数据取回来,是两项不同的成果。
来源与延伸阅读
- Cactus · Needle 3 固定模型卡官方示例与模型说明天气函数固定返回 27°C 与 clear;工具选择和参数示例,不是实时天气服务。
返回一个选择,和执行那个函数
SDK 也把这两件事分开。complete 返回一次模型回复,其中可包含函数名称与参数;程序可以先展示选择,再决定是否调用。run 则在循环里找到开发者注册的函数,交入参数,把结果送回模型,并在最后的 results 中保留执行返回。未知工具或函数出错也会成为反馈。这让 JSON 的意义更具体:它可以是一份待执行的选择;真正的动作来自程序调用,而函数内部连接什么,仍由开发者实现。
来源与延伸阅读
- Needle SDK · complete 与 run官方固定源码 · 3da42610一次回复、注册函数的执行、结果回填与未知工具/执行错误的处理。
关灯这句话,到灯真的熄灭
Whistle 为这条路线加上声音入口:16.9 MB 的模型在 CPU 上把音频转成文字,Needle 再结合工具定义选择调用。官方厨房关灯示例返回房间 kitchen、开关 false,以及转录文字和语言;两模型能放在同一引擎里,让一段音频在一次调用中交出这些字段。接下来,软件仍要把它们接到实际灯控接口,并确认设备状态。读到这份 JSON,说明请求已成为具体参数;灯是否熄灭,要看后面的程序与设备。
来源与延伸阅读
- Cactus · Whistle 原发布官方说明 · 10 月 2 日语音转录、同引擎加载两模型,以及语音与工具调用 JSON 的原示例。
- Whistle · 固定模型卡官方模型条件 · ca52876016.9 MB、CPU、七种支持语言与同引擎路线;语言名单没有中文。
先确认它能听懂哪些话
当前 Whistle 模型卡只列英语、德语、法语、西班牙语、意大利语、荷兰语与波兰语,没有中文,不能把中文关灯要求当作已支持的演示。还要留意转录中的名字:Needle 从转录里取参数,房间或设备词听错,后续调用可能缺失;官方说明允许用关键词帮助识别。这份路线适合继续研究一小组明确任务怎样获得本地语音入口。要看成果是否成立,除了文字和参数,还应看到相应服务的数据,或设备动作之后的状态。
来源与延伸阅读
- Whistle · 固定模型卡官方模型条件 · ca52876016.9 MB、CPU、七种支持语言与同引擎路线;语言名单没有中文。
- Cactus · 转录怎样接到工具官方实践说明 · 10 月 3 日工具参数从转录中取值;名字与房间词的识别影响后续调用,关键词可帮助解码。