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





