链载Ai

标题: 树莓派 大模型,打造全本地语音聊天机器人 [打印本页]

作者: 链载Ai    时间: 昨天 09:29
标题: 树莓派 大模型,打造全本地语音聊天机器人

端侧应用一直是大模型的热点之一,尤其是最近人形机器人的火爆,让人们把目光再次放到了“具身智能”上,探索如何将大模型的能力与低功耗的客户端设备结合。对于端侧设备来说,网络连接经常不稳定且带宽有限,基于云服务使用大模型比较困难,同时端侧设备还需要格外重视安全性和隐私问题,因此本地运行是比较合理的选择。

介绍一个在树莓派上运行的大模型语音聊天机器人:push-to-talk交互模式,按下按钮对它说话,它会用大模型生成回答,并用很自然的语音回应,并且全过程都在本地,不需要联网。例如问它: “How do you live?”:

硬件方面,你需要:


按钮连线参见:

https://aiyprojects.withgoogle.com/voice/#makers-guide--button-connector-pinout

接好后大概是这样子:



主要软件组件包括三部分:


树莓派上跑的OS,是Ubuntu server for Raspberry Pi,可以从这里直接下载预装好的映像:

https://cdimage.ubuntu.com/releases/jammy/release/

用户按下按钮,改变GPIO8状态,树莓派打开麦克风开始录制用户的语音,直到用户松开按钮(临时录音文件保存在本地)。随后whisper.cpp将语音转成文字,作为提示输入给TinyLlama,TinyLlama的回答,再通过piper转成语音播放。

树莓派4跑TinyLlama 1.1B,虽然内存够,但速度还是有点慢,大概每秒生成4-5个token。因此如果回答比较长的话,用户需要等很久才会有回应,这个体验还是比较差的。为改善体验,采用的方法:1)在系统prompt里告诉LLM限制回答字数;2)采用流式输出,每生成一个完整句子就调用piper合成语音,减少用户等待时间。






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5