
几乎所有开发者都厌恶按调用量付费的AI API。在快速迭代的开发阶段,每一次请求都意味着成本,团队常常被账单追着跑。Canonical提出了一种全新思路:让模型直接嵌入到你的应用中,而不是躲在远端的付费接口后面。本文将深入讲解嵌入式AI的核心理念——将本地大语言模型(LLM)推理集成到应用内部,并在NVIDIA DGX Spark上展示实际效果。
当前AI应用的典型架构是“中心辐射”模式:多个应用共同调用一个远程AI服务(如OpenAI、Anthropic、Google Gemini等)。这种服务负责推理、用量计费、速率限制,按token收费。
这种模式确实解决了一个问题——你不需要自己管理GPU基础设施。但它带来了更多麻烦:
嵌入式AI的思路很简单:将模型及其推理运行时视为应用的本地依赖项,就像你已经在用的软件包一样,而不是远程第三方服务。
传统模式是三个应用共享一个远程端点:
而嵌入式AI模式下,每个应用自包含推理引擎:
这就像当年企业从服务器端数据库转向本地SQLite,或者从共享Redis集群转向进程内缓存一样。问题在于:硬件和打包工具是否已经成熟到让这种模式变得实用?
在2026年,答案是肯定的。
过去运行本地LLM推理的痛点在于配置复杂:安装NVIDIA CUDA驱动、为GPU显存选择合适量化、配置推理服务器、管理更新。Canonical推出的推理Snap完美解决了这些问题。
一个推理Snap打包了以下内容:
Snap的引擎管理器在安装时自动检测你的硬件,并选择最适合CPU、GPU或NPU的引擎。你不必手动选择量化,也无须自行安装CUDA工具包。运行一条命令即可:
sudo snap install gemma3
至此,你的机器上就运行了一个本地Gemma 3推理服务器,提供OpenAI兼容的端点,经过硬件优化,并支持自动更新。任何能发起HTTP调用的应用都可以立即使用这个模型。
Snap还提供了内容接口机制,允许其他Snap(即你的应用)通过读取共享的status.json文件获取端点URL:
sudo snap connect demo-app:inference-snap-status gemma3:status
连接完成后,你的应用可以直接读取推理端点的位置,无需任何配置文件或环境变量管理。Snap系统自动处理了底层连接。
embedded-ai仓库提供了两个实际的例子,它们本身也构建为Snap,因此可以干净地集成到推理Snap生态中。
第一个例子(_01_simple_chat)极其简约。它展示了核心模式:一个基于Snap打包的Python应用,从Gemma 3 Snap的状态接口读取推理端点,然后将聊天补全结果流式输出到终端。
构建与运行:
# 构建Snap
cd _01_simple_chat && snapcraft pack # 或: make build
# 安装
sudo snap install demo-app_*.snap --dangerous --devmode
# 连接推理Snap
sudo snap connect demo-app:inference-snap-status gemma3:status
# 运行
demo-app
该应用使用推理Snap暴露的模型流式输出一次聊天补全。由于推理Snap提供了OpenAI兼容API,Python代码看起来与调用api.openai.com的代码几乎一样;唯一的区别是基础URL指向本地主机,且不需要API密钥。模型在你的机器上运行,每次调用的成本只是电费。
这一模式具有重要的架构意义:你的应用代码与具体模型解耦。只需将gemma3替换为其他推理Snap(比如qwen-vl或nemotron-3-nano),重新运行snap connect,你的应用就能零代码修改地切换到新模型上。
第二个例子(_02_pdf_summarizer)展示了一个更贴近实际的应用场景:处理文档并使用本地模型生成摘要。
构建与运行:
# 构建Snap
cd _02_pdf_summarizer && snapcraft pack # 或: make build
# 安装
sudo snap install pdf-summarizer_*.snap --dangerous --devmode
# 连接推理Snap
sudo snap connect pdf-summarizer:inference-snap-status gemma3:status
# 运行摘要(命令略)
这段代码演示了如何读取PDF文档,将其内容传给本地模型,并输出结构化摘要。所有推理都在本地完成,无需联网,数据不会离开机器。
关注微信号:智享开源 ,及时了解更新信息。
原文链接:https://ubuntu.com//blog/developing-web-apps-with-local-llm-inference
| 投稿作者 | 作者网站 |
|---|---|
你必须 登录 才能发表评论.
| 微信捐赠 | 支付宝捐赠 |
|---|---|
![]() |
![]() |
扫码关注公众号:智享开源

[blog_mailer_subscribe]
还没有任何评论,你来说两句吧!