使用ESP32和Rust创建自己的AI语音代理
扫描二维码
随时随地手机看文章
如今,语音人工智能助手无处不在,但大多数都是基于专有模型和云服务,几乎没有机会探索它们的实际工作原理。使用EchoKit,您可以在ESP32板上构建自己的本地语音AI助手-完全开源,教育和可定制。
这个项目是为想要亲身体验现代人工智能技术的创客、学生、教育工作者和人工智能爱好者设计的。EchoKit将端到端模型、语音到文本、大型语言模型和文本到语音集成到一个紧凑的设备中,让您有机会安全地进行实验,并了解这些系统如何实时通信。
通过构建和定制自己的EchoKit,您不仅可以获得交互式语音助手,还可以更深入地了解人工智能管道,固件开发和设备集成。它非常适合课堂演示、创客空间项目或人工智能的个人实验。
系统概述
下面的图表说明了整个架构——从语音输入到人工智能响应。
对于语音交互,我们支持ASR-LLM-TTS管道(经典模块化方法)和端到端管道。在我看来,ASR-LLM-TTS管道允许您自定义更多,例如添加MCP服务器和知识库。点击这里了解更多ASR-LLM-TTS管道和端到端管道之间的区别。
接下来,让我们一起构建一个语音AI代理。
步骤1:组装硬件
EchoKit硬件由几个组件组成
•ESP32-S3开发板
•带有音频和麦克风模块的扩展板
•微型扬声器
•1.54 "液晶屏
让我们把硬件组装在一起。
•将迷你扬声器连接到扩展板中间的音频模块。
•将ESP32-S3板挂载到扩展板上。
•将液晶屏插入扩展板的顶部槽位。
一旦组装,你应该有一个功能齐全的EchoKit硬件设置。
步骤2:刷新固件
现在硬件已经组装好了,是时候将固件闪存到设备上了。这将使EchoKit能够与服务器和人工智能模型进行通信。
1. 使用USB-C电缆将EchoKit设备连接到您的计算机。
2. 使用espflash命令行工具刷新固件。
因为EchoKit固件是用Rust编写的,你需要安装Rust工具链和espflash及其依赖项。
获取最新的固件。
将固件Flash到EchoKit设备。
您将看到以下输出。EchoKit固件的源代码可在GitHub上获得。
一旦闪光,EchoKit设备将在屏幕上显示一个QR码,并宣布“欢迎”消息。现在您已经为下一步做好了准备。
步骤3:启动EchoKit服务器
我们已经有预先设置的服务器可以使用。如果您需要快速入门,可以跳过此部分,直接执行步骤4连接服务器和设备。
您可以在自己的计算机上运行服务器,而不是使用预先设置的服务器。再说一次,EchoKit服务器是用Rust编写的,请确保你已经安装了Rust。
用Rust构建服务器。
接下来,转到配置。toml文件来编辑您的AI管道。
这里我以Groq为例,因为它非常快。对于我们的用例,我认为您甚至不需要为此付费。
如果你想通过MCP服务器添加动作,我建议你使用像OpenAI这样的闭源模型。
然后,我们可以运行服务器。
您将看到如下所示的输出日志:
步骤4:连接EchoKit服务器和设备
现在服务器正在运行,是时候将它连接到EchoKit设备了。
1. 确保您的浏览器支持蓝牙。
2. 点击“连接到EchoKit”,将设备与服务器配对。
3. 在新页面中输入以下信息:
Wi-Fi名称和密码(需要2.4GHz网络)
服务器URL:正在运行的EchoKit服务器的IP和端口,例如:ws://192.168.1.56:8080/ws。如果你不运行自己的EchoKit服务器,你可以使用ws://indie.ehcokit.dev/ws,它是由EchoKit项目提供的。
按下EchoKit设备左上角的K0按钮来应用设置。
一旦连接上,EchoKit就会显示“连接到Wi-Fi”和“连接到服务器”等状态更新。当连接成功时,您将听到欢迎声音,并在LCD上看到“Hello Set”消息。
步骤5:与EchoKit交谈
现在你已经准备好与你的EchoKit设备进行交互了!
•按K0键开始语音输入。
•一旦你在屏幕上看到“收听”,就对着设备说话。
•EchoKit将使用ASR处理您的语音,将文本发送给LLM以获得响应,然后使用TTS将回复回复给您。
接下来是什么?
一旦你建立了基础系统,试着扩展它:
•添加MCP服务器来触发智能动作。
•集成物联网控制-灯,传感器,电机等。
•尝试不同的TTS或LLM提供商。
•为个性或特定于领域的行为创建自定义提示。
本文编译自hackster.io





