當GPT與MCU深度融合……

生命不止,折騰不息。有很多工程師,都嘗試過將MCU與OpenAI的ChatGPT結合,做出聊天機器人、語音助手和自然語言界面。

前幾天,在OpenAI正式發佈o3模型時,同時也宣佈了一個可以在Linux和32位MCU上使用的Realtime API SDK,引發一片工程師的熱議。

OpenAI給32位MCU做了個SDK

近期,OpenAI在其官方GitHub倉庫中發佈了一個可在以ESP32為代表的微控製器上使用 Open Realtime API的SDK,該項目已在ESP32-S3和Linux上開發並測試,開發者可以直接按照指引使用。

這個SDK主要為嵌入式硬件設計,目前只驗證了樂鑫ESP32S3。這個SDK基於OpenAI最新WebRTC技術開發,能提供極低延遲的語音對話體驗。

OpenAI在發佈會上展示了一個聖誕主題的AI玩具,裡面MCU用到了ESP32。在demo中,工程師與AI玩具進行了四五輪對話,基本上是自然的聊天,沒有明顯的延遲或反應時間,與之前的網頁demo表現一致。

Github上有什麼東西

根據Github頁面顯示(https://github.com/openai/openai-realtime-embedded-sdk),openai-realtime-embedded-sdk 是為微控製器量身定製的 SDK,使開發者能夠在 ESP32 等微控製器上實現實時API功能。

該SDK主要在ESP32S3和Linux平台上開發和測試,因此開發者無需物理硬件即可直接在 Linux 上進行使用。

若要在硬件上使用此SDK,請購買以下任一款微控製器。其他MCU可能也能兼容,但該SDK基於以下設備開發:

Freenove ESP32-S3-WROOM;

Sonatino – ESP32-S3 Audio Development Board。

不過,我們發現,在examples文件夾,可以看到除了ESP32,也有一個通用和一個樹莓派的例子,在樹莓派文件夾中,硬件選用了Raspberry Pi 4B、Camera Module、ReSpeaker 2-Mics Pi HAT和Speaker。所以,也許嵌入式設備可能也會慢慢也會支持這個SDK。

通過配置 Wi-Fi SSID、密碼和 OpenAI API 密鑰,用戶可以輕鬆設置設備並運行程序。該 SDK 的關鍵優勢在於為微控製器提供與強大 API 交互的能力,拓展了微控製器在實時數據處理和決策等場景中的應用潛力。

需求人群:目標受眾包括嵌入式系統開發者、物聯網設備製造商以及需要在微控製器上實現智能決策的科研人員。該 SDK 因其易於集成和使用的特性,特別適合那些尋求在資源受限設備上實現高級數據處理能力的用戶。

使用場景示例:

智能家居:在ESP32上使用SDK實現語音控制功能;

工業自動化:通過SDK使微控製器實時響應傳感器數據;

科研領域:利用SDK進行機器學習模型的實時推理。

根據工程師的分析,demo基本是一個工程實現,最大優點在於WebRTC協議的API大大簡化開發者調用API的流程。眾所周知,嵌入式開發基本都用C/C++,這種老舊語言特別麻煩,尤其是涉及到實際業務場景時,要手動處理的case多得讓人頭大。用了WebRTC後,幾百行C代碼就能搞掂這demo。

具體來看,repo結構只有一個commit,demo代碼文件只有六個文件。項目引用了幾個開源庫,分別是:libopus(用於音頻編碼解碼)、esp-protocols(操控ESP集成的硬件,連接Wi-Fi,錄音等)、libpeer(用於WebRTC通信)。

主程序基本沒有什麼複雜的內容,就是調用一下包,開 Wi-Fi,開始錄音,播放,連接 Wi-Fi,再連接WebRTC到OpenAI的API。每個函數實現不到100行,整個demo去掉和PC 兼容的部分,開發者實際編譯到芯片上運行的代碼也就300行。

為什麼OpenAI選擇ESP32

工程師分析,根據產品需求,做語音對話 AI 玩具的控制芯片有兩個基本要求:

聯網功能,無論是Wi-Fi還是藍牙;

語音處理,支持錄音和播放。

這兩個是硬性需求,其他功能就不那麼重要了,尤其是在Arm領域擅長的影片處理,例如大屏顯示等,AI玩具恰好不需要這些。

與傳統單片機相比,ESP32在智能家居時代嶄露頭角的新玩家,恰好能完美滿足這些需求。

第一,ESP32價格便宜,集成度高,單顆芯片成本僅幾美元;

第二,ESP32 的設計本身就針對低功耗場景,搭配電池後可以實現數週甚至數月的續航;

第三,ESP32 已經集成了 Wi-Fi、藍牙和語音處理功能,避免了外接模塊的需求,進一步降低了電路板設計的複雜性和成本,同時提升了產品的續航表現。

相比其他常見的單片機解決方案,雖然實現方式多種多樣,但最簡便、最省力的方案就是使用 ESP32。試問哪個硬件工程師能拒絕只用一顆芯片的設計呢?

更多嵌入式SDK在路上

「2024 火山引擎冬季 Force 原動力大會」上,多個硬件廠商展示了基於RTC技術的產品 demo。而在此次大會上,字節的產品經理提到嵌入式SDK,雖然並未詳細透露支持的硬件型號,但毋庸置疑的是,SDK正在路上。

Apex.AI也在做這個工作。根據Apex.AI介紹,Apex.Grace產品增強了ROS 2,Apex.Ida增強了Eclipse iceoryx。通過用於微處理器的Apex.AI SDK,我們在開源項目的基礎上提供更杜特性、改進的功能和附加的安全認證。隨著新的微控製器Apex.AI SDK推出,將在開源項目的基礎上繼續這一成功之路。據瞭解,目前Apex.AI已將Xilinx Ultrascale+ MPSoC 和Infineon AURIX TC399作為內部項目添加到新平台中。根據經驗,添加一個新平台只需幾週時間。

本文來自微信公眾號「電子工程世界」,作者:EEWorld,36氪經授權發佈。