使用ESP32和Rust創(chuàng)建自己的AI語(yǔ)音代理
掃描二維碼
隨時(shí)隨地手機(jī)看文章
如今,語(yǔ)音人工智能助手無(wú)處不在,但大多數(shù)都是基于專有模型和云服務(wù),幾乎沒(méi)有機(jī)會(huì)探索它們的實(shí)際工作原理。使用EchoKit,您可以在ESP32板上構(gòu)建自己的本地語(yǔ)音AI助手-完全開(kāi)源,教育和可定制。
這個(gè)項(xiàng)目是為想要親身體驗(yàn)現(xiàn)代人工智能技術(shù)的創(chuàng)客、學(xué)生、教育工作者和人工智能愛(ài)好者設(shè)計(jì)的。EchoKit將端到端模型、語(yǔ)音到文本、大型語(yǔ)言模型和文本到語(yǔ)音集成到一個(gè)緊湊的設(shè)備中,讓您有機(jī)會(huì)安全地進(jìn)行實(shí)驗(yàn),并了解這些系統(tǒng)如何實(shí)時(shí)通信。
通過(guò)構(gòu)建和定制自己的EchoKit,您不僅可以獲得交互式語(yǔ)音助手,還可以更深入地了解人工智能管道,固件開(kāi)發(fā)和設(shè)備集成。它非常適合課堂演示、創(chuàng)客空間項(xiàng)目或人工智能的個(gè)人實(shí)驗(yàn)。
系統(tǒng)概述
下面的圖表說(shuō)明了整個(gè)架構(gòu)——從語(yǔ)音輸入到人工智能響應(yīng)。
對(duì)于語(yǔ)音交互,我們支持ASR-LLM-TTS管道(經(jīng)典模塊化方法)和端到端管道。在我看來(lái),ASR-LLM-TTS管道允許您自定義更多,例如添加MCP服務(wù)器和知識(shí)庫(kù)。點(diǎn)擊這里了解更多ASR-LLM-TTS管道和端到端管道之間的區(qū)別。
接下來(lái),讓我們一起構(gòu)建一個(gè)語(yǔ)音AI代理。
步驟1:組裝硬件
EchoKit硬件由幾個(gè)組件組成
?ESP32-S3開(kāi)發(fā)板
?帶有音頻和麥克風(fēng)模塊的擴(kuò)展板
?微型揚(yáng)聲器
?1.54 "液晶屏
讓我們把硬件組裝在一起。
?將迷你揚(yáng)聲器連接到擴(kuò)展板中間的音頻模塊。
?將ESP32-S3板掛載到擴(kuò)展板上。
?將液晶屏插入擴(kuò)展板的頂部槽位。
一旦組裝,你應(yīng)該有一個(gè)功能齊全的EchoKit硬件設(shè)置。
步驟2:刷新固件
現(xiàn)在硬件已經(jīng)組裝好了,是時(shí)候?qū)⒐碳W存到設(shè)備上了。這將使EchoKit能夠與服務(wù)器和人工智能模型進(jìn)行通信。
1. 使用USB-C電纜將EchoKit設(shè)備連接到您的計(jì)算機(jī)。
2. 使用espflash命令行工具刷新固件。
因?yàn)镋choKit固件是用Rust編寫(xiě)的,你需要安裝Rust工具鏈和espflash及其依賴項(xiàng)。
獲取最新的固件。
將固件Flash到EchoKit設(shè)備。
您將看到以下輸出。EchoKit固件的源代碼可在GitHub上獲得。
一旦閃光,EchoKit設(shè)備將在屏幕上顯示一個(gè)QR碼,并宣布“歡迎”消息?,F(xiàn)在您已經(jīng)為下一步做好了準(zhǔn)備。
步驟3:?jiǎn)?dòng)EchoKit服務(wù)器
我們已經(jīng)有預(yù)先設(shè)置的服務(wù)器可以使用。如果您需要快速入門,可以跳過(guò)此部分,直接執(zhí)行步驟4連接服務(wù)器和設(shè)備。
您可以在自己的計(jì)算機(jī)上運(yùn)行服務(wù)器,而不是使用預(yù)先設(shè)置的服務(wù)器。再說(shuō)一次,EchoKit服務(wù)器是用Rust編寫(xiě)的,請(qǐng)確保你已經(jīng)安裝了Rust。
用Rust構(gòu)建服務(wù)器。
接下來(lái),轉(zhuǎn)到配置。toml文件來(lái)編輯您的AI管道。
這里我以Groq為例,因?yàn)樗浅??。?duì)于我們的用例,我認(rèn)為您甚至不需要為此付費(fèi)。
如果你想通過(guò)MCP服務(wù)器添加動(dòng)作,我建議你使用像OpenAI這樣的閉源模型。
然后,我們可以運(yùn)行服務(wù)器。
您將看到如下所示的輸出日志:
步驟4:連接EchoKit服務(wù)器和設(shè)備
現(xiàn)在服務(wù)器正在運(yùn)行,是時(shí)候?qū)⑺B接到EchoKit設(shè)備了。
1. 確保您的瀏覽器支持藍(lán)牙。
2. 點(diǎn)擊“連接到EchoKit”,將設(shè)備與服務(wù)器配對(duì)。
3. 在新頁(yè)面中輸入以下信息:
Wi-Fi名稱和密碼(需要2.4GHz網(wǎng)絡(luò))
服務(wù)器URL:正在運(yùn)行的EchoKit服務(wù)器的IP和端口,例如:ws://192.168.1.56:8080/ws。如果你不運(yùn)行自己的EchoKit服務(wù)器,你可以使用ws://indie.ehcokit.dev/ws,它是由EchoKit項(xiàng)目提供的。
按下EchoKit設(shè)備左上角的K0按鈕來(lái)應(yīng)用設(shè)置。
一旦連接上,EchoKit就會(huì)顯示“連接到Wi-Fi”和“連接到服務(wù)器”等狀態(tài)更新。當(dāng)連接成功時(shí),您將聽(tīng)到歡迎聲音,并在LCD上看到“Hello Set”消息。
步驟5:與EchoKit交談
現(xiàn)在你已經(jīng)準(zhǔn)備好與你的EchoKit設(shè)備進(jìn)行交互了!
?按K0鍵開(kāi)始語(yǔ)音輸入。
?一旦你在屏幕上看到“收聽(tīng)”,就對(duì)著設(shè)備說(shuō)話。
?EchoKit將使用ASR處理您的語(yǔ)音,將文本發(fā)送給LLM以獲得響應(yīng),然后使用TTS將回復(fù)回復(fù)給您。
接下來(lái)是什么?
一旦你建立了基礎(chǔ)系統(tǒng),試著擴(kuò)展它:
?添加MCP服務(wù)器來(lái)觸發(fā)智能動(dòng)作。
?集成物聯(lián)網(wǎng)控制-燈,傳感器,電機(jī)等。
?嘗試不同的TTS或LLM提供商。
?為個(gè)性或特定于領(lǐng)域的行為創(chuàng)建自定義提示。
本文編譯自hackster.io





