AI News HubLIVE
站内改写4 分鐘閱讀

探索Ubuntu Core 26:構建本地AI推理設備

本文介紹瞭如何使用Multipass在虛擬機中運行Ubuntu Core 26,並通過安裝gemma4 snap將其轉變為本地AI推理設備。文章詳細説明了從啓動虛擬機、安裝AI推理snap、配置服務、訪問WebUI到理解生產部署流程的全過程。Ubuntu Core提供安全、最小化的操作系統,AI工作負載通過snap交付,便於更新與管理。

來源Hacker News AI作者: jruohonen

歡迎來到本系列博客,該系列旨在探索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 aibox

Ubuntu 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等項目,我們還為更多項目貢獻人員、代碼和資金。

閲讀我們支持的項目 ›