探索Ubuntu Core 26:構建本地AI推理裝置
本文介紹瞭如何使用Multipass在虛擬機器中執行Ubuntu Core 26,並透過安裝gemma4 snap將其轉變為本地AI推理裝置。文章詳細說明了從啟動虛擬機器、安裝AI推理snap、配置服務、訪問WebUI到理解生產部署流程的全過程。Ubuntu Core提供安全、最小化的作業系統,AI工作負載透過snap交付,便於更新與管理。
歡迎來到本系列部落格,該系列旨在探索Ubuntu Core的創新應用。在此係列中,Canonical的工程師將展示如何利用Core 26版本構建各種系統,並重點介紹可用的功能與工具。
在第一篇部落格中,Canonical工業團隊工程經理Farshid Tavakolizadeh將演示如何透過Multipass在虛擬機器中嘗試Ubuntu Core 26,並將其轉變為本地AI推理裝置。在虛擬機器中執行Ubuntu Core是開發者轉向專用硬體前進行實驗的理想起點。您可以探索Ubuntu Core環境、安裝snap、將服務暴露給宿主機,並測試裝置式體驗在生產中的運作方式。
透過本部落格,您將學會如何使用Multipass啟動Ubuntu Core 26、安裝本地AI推理snap、從宿主機訪問其WebUI,並理解此工作流程如何對映到生產環境的Ubuntu Core映象。
為何從虛擬機器中的Ubuntu Core開始?
Ubuntu Core專為生產裝置設計:包括家電、閘道器、機器人、資訊亭、工業系統和邊緣AI產品。在實際部署中,通常會構建包含所需snap、配置、許可權和更新策略的自定義Ubuntu Core映象。
虛擬機器提供了一種快速探索系統的方法。您可以在筆記型電腦上啟動Ubuntu Core,安裝應用snap,測試服務,並在投入板卡或生產映象之前瞭解各元件如何協同工作。
Multipass為此提供了簡單路徑。它整合了對Ubuntu Core映象的支援,並可用一條命令啟動Ubuntu Core虛擬機器,非常適合實驗、演示和本地開發。
將虛擬機器轉變為本地AI裝置
我們將使用Ubuntu Core建立本地AI推理裝置。核心思路很簡單:Ubuntu Core提供安全、最小化、類裝置的作業系統,而AI工作負載以snap形式交付。
本例中,我們使用gemma4推理snap。
由於AI推理需要比最小化shell測試更多的資源,我們啟動一個具有額外CPU、記憶體和磁碟的虛擬機器:
multipass launch core26 -n aibox --cpus 4 --memory 10GB --disk 16GB然後進入例項:
multipass shell aiboxUbuntu Core例項在首次啟動後可能自動更新並重啟,這是Ubuntu Core的一部分:基礎系統和snapd被管理、更新並保持可靠。
現在安裝AI推理snap:
sudo snap install gemma4這將為機器安裝最合適的執行時和模型。
檢查推理端點
安裝後,gemma4作為託管snap服務執行。可使用以下命令檢查狀態:
gemma4 status輸出包括活動引擎、服務和端點:
engine: cpu
services:
server: active
server-webui: active
endpoints:
openai: http://localhost:8336/v1
webui: http://localhost:8337/此時,推理伺服器和WebUI在Ubuntu Core例項內執行。
但請注意,這裡的localhost指的是Ubuntu Core虛擬機器,而非宿主機。因此,雖然服務已啟用,但筆記型電腦上的瀏覽器尚無法直接訪問。
為使推理伺服器和WebUI可從宿主機訪問,需配置服務監聽VM的網路介面:
sudo gemma4 set http.host=0.0.0.0 webui.http.host=0.0.0.0 --assume-yes然後,從宿主機查詢VM的IP地址:
multipass info aibox輸出包含IPv4地址:
Name: aibox
State: Running
Snapshots: 0
IPv4: 10.100.120.150
Release: Ubuntu Core 26使用IPv4地址訪問推理伺服器和WebUI,本例中為10.100.120.150。
推理伺服器的API可在 http://<IP>:8336/v1 訪問,這是一個相容OpenAI的API,可與多種客戶端配合使用。您可以使用cURL等HTTP客戶端傳送提示:
curl http://10.100.120.150:8336/chat/completions -H "Content-Type: application/json" -d '{
"messages": [{"role": "user", "content": "What is the meaning of ubuntu?"}],
"max_completion_tokens": 100
}'當然,在終端中透過OpenAI API進行實驗並不有趣。gemma4 snap提供的WebUI是更好的入口。在瀏覽器中開啟 http://10.100.120.150:8337 即可嘗試。
您還可以將API與Open WebUI或OpenCode等工具整合以進行更多操作。
現在,您已擁有了一個執行在Ubuntu Core中的AI推理介面。
這證明什麼?
此示例雖在虛擬機器中執行,但其架構與實際裝置的模式相同。
Ubuntu Core基礎系統與應用工作負載保持分離。AI伺服器以snap形式交付。WebUI作為託管服務交付。推理端點在Ubuntu Core環境內執行。配置透過snap選項應用,而非手動編輯系統檔案。
換言之,您不僅僅是在安裝一個軟體包,而是在組裝一個裝置的基礎。
這很重要,因為生產裝置很少透過一次一條命令來管理。成品需要可預測的啟動體驗、受控的服務、可靠的更新以及作業系統與應用層之間的清晰界限。
Ubuntu Core提供了這一界限。
從本地實驗到生產映象
手動安裝gemma4對開發有用,但通常不是產品交付的方式。
在生產部署中,AI snap及其配置通常應包含在自定義的Ubuntu Core映象中。該映象由模型斷言描述,定義構成裝置映象的snap,包括必需或可選的應用snap。
採用這種方法,裝置啟動後直接進入您設計的體驗。
使用者無需手動安裝snap,無需登入Core例項,也無需瞭解推理端點如何配置。產品啟動時即具備正確的snap、服務、許可權和預設設定。
這正是Ubuntu Core的強大之處:您在虛擬機器中測試的同一工作流程可以演變為用於硬體、生產線、演示、客戶試點或車隊部署的可重複產品映象。
長期管理裝置
裝置部署後,工作並未結束。
您可能需要更新AI模型、修復推理伺服器中的CVE、調整配置或向不同客戶部署具有不同工作負載的同一映象。
Ubuntu Core專為此生命週期設計。應用snap可獨立於基礎系統更新。更新是事務性的。如果出現問題,系統可回滾到已知良好狀態。
對於大規模部署,snap也可透過車隊管理進行安裝、配置和管理。Landscape為Ubuntu部署(包括IoT裝置)提供集中管理。
這為開發者提供了靈活路徑:從第一天起將體驗構建到映象中,或稍後在整個車隊中管理和演進應用snap。
下一步?
透過Multipass,您可以在幾分鐘內啟動Core虛擬機器。透過snap,您可以安裝和管理真實工作負載。透過gemma4,您可以將該虛擬機器轉變為本地AI推理裝置,同時暴露API端點和Web伺服器。
這是一個小示例,但它展示了更大的模式。
您可以將應用與基礎系統分離,以託管方式執行服務,配置產品體驗。當準備就緒時,您可以從預構建的VM映象轉向由您自己的模型斷言定義的自定義Ubuntu Core映象。
以下是一些進一步閱讀的有用連結:
- [發現推理snaps](https://ubuntu.com/blog/ubuntu-core-26-ai-box#)
- [在Ubuntu Core上開始使用AWS IoT Greengrass](https://ubuntu.com/engage/iot-greengrass-ubuntu-core)
- [在Ubuntu Core上開始使用Azure IoT Edge](https://ubuntu.com/engage/iot-edge-ubuntu-core)
開源是我們的使命
我們相信開源軟體的力量。除了推動Ubuntu等專案,我們還為更多專案貢獻人員、程式碼和資金。
閱讀我們支援的專案 ›