先说个场景:你想在手机上做个本地助手,结果要么得把数据传到云端、要么模型根本跑不动。我最近翻到一个叫NexaSDK的项目(GitHub),它想解决的正是这个——让前沿的大模型直接"住"在设备里,手机、PC、IoT 都能跑,还尽量用上厂商自家的 NPU[注]。
[注]NPU:神经网络处理单元,一种专门给 AI 推理加速的芯片,特点是又快又省电,相当于给设备装了台"AI 专用发动机"。
下面用普通使用者的视角梳理一遍,不替项目方喊口号,能落地的说落地,有坑的也提一嘴。
它到底想解决什么
设备端 AI 这个坑,踩过的人都知道有多碎。NexaSDK 想填的几个洞:
- 平台太碎:以前 PC 用一套、Android 一套、iOS 又一套,重复造轮子。
- NPU 没人管:手机里明明有 NPU,但大多数框架只认 GPU、CPU,NPU 常年闲置。
- 新模型等不起:模型刚发布,端侧往往要等社区移植,慢半拍。
- 多模态难集成:图文、语音这些能力,自己拼起来很麻烦。
- 跨端成本高:每换一个平台就得重写一遍。
说白了,它想做"一套 SDK,哪儿都能跑"的设备端 AI 运行时。
我比较看重的几个能力
1. NPU 优先,而不是"能跑就行"
这是它和 Ollama、llama.cpp 这类工具最大的区别。NexaSDK 是少见的 NPU-first[NPU 优先:默认优先调用 NPU,没有再退到 GPU,最后才是 CPU]设计。
打个比方,三个计算后端就像三种工人:
- CPU是啥都会一点的万能工,但干重活慢;
- GPU是能并行扛重活的壮劳力;
- NPU是只干 AI 这一件事、却又快又省电的专项工。
NexaSDK 的优先级是NPU > GPU > CPU,能上 NPU 就上 NPU。它目前支持:
- 高通 Hexagon NPU(骁龙系列)
- 苹果 Neural Engine[Neural Engine:苹果自家的 AI 加速芯片,简称 ANE]
- Intel / AMD 的 NPU(Windows 端)
2. 全平台,一套代码多端跑
覆盖得挺全:
| 平台 | 提供什么 | 备注 |
|---|---|---|
| PC | Python / C++ SDK | Win / macOS / Linux |
| Android | Kotlin SDK | 支持 NPU/GPU/CPU,最低 SDK 27 |
| iOS | Swift SDK | 走 ANE,需 iOS 17+ |
| Linux / IoT | Docker 镜像 | 支持 Arm64 和 x86,适合边缘设备 |
3. 新模型"当天就能用"
官方叫 Day-0 支持[Day-0:模型刚发布、权重一出就能在端侧跑,不用等移植]。它支持三种模型格式:
- GGUF[GGUF:把大模型量化压缩后的通用权重格式,llama.cpp 生态也在用]
- MLX[MLX:苹果推出的机器学习框架,专为 Apple 芯片优化]
- NEXA:它自己的原生格式,针对 NPU 做了优化
支持到的模型包括 Qwen3-VL、IBM Granite-4、Gemma-3n、GPT-OSS 这些较新的型号。
4. 多模态一条龙
不止聊天,它能跑:
- LLM[LLM:大语言模型,就是常见的文本对话模型]
- VLM[VLM:视觉语言模型,能同时看图和理解文字]
- ASR[ASR:自动语音识别,语音转文字]
- OCR[OCR:光学字符识别,从图片提取文字]
- Rerank[Rerank:重排序,检索时把最相关结果往前排]
- 目标检测、图像生成、向量嵌入[Embedding:把文字变成一串数字,方便比相似度]
5. 接口统一,还兼容 OpenAI
一套 API 打天下,并且兼容 OpenAI 接口,意味着你已有的 OpenAI 风格代码改动不大就能接上。支持流式输出和 Function Calling[Function Calling:让模型能"调用"你提供的函数/工具]。
能用在哪
从社区反馈和文档来看,几个比较实在的落点:
- 手机本地助手:离线也能对话、翻译,断网不怕。
- IoT / 边缘计算:智能音箱、摄像头、温控器在本地做识别,数据不出门。
- 桌面应用集成:本地文档处理、代码辅助,隐私友好。
- 企业内网:对数据敏感、不允许上云的场景,本地推理更稳。
实际怎么用
光说没用,把命令摆出来。
命令行(最省事)
# Linux ARM64 一键装 CLIcurl-Lhttps://github.com/NexaAI/nexa-sdk/releases/latest/download/nexa-cli_linux_arm64.sh|bash# 跑第一个模型nexa infer ggml-org/Qwen3-1.7B-GGUF# 多模态:直接把图片拖进 CLInexa infer NexaAI/Qwen3-VL-4B-Instruct-GGUF# 走 NPU(Windows arm64 + 骁龙 X Elite)nexa infer NexaAI/OmniNeural-4BPython
fromnexaaiimportLLM,GenerationConfig,ModelConfig,LlmChatMessage llm=LLM.from_(model="NexaAI/Qwen3-0.6B-GGUF",config=ModelConfig())conversation=[LlmChatMessage(role="user",content="Hello, tell me a joke")]prompt=llm.apply_chat_template(conversation)fortokeninllm.generate_stream(prompt,GenerationConfig(max_tokens=100)):print(token,end="",flush=True)Android(Kotlin)
dependencies{implementation("ai.nexa:core:0.0.19")}NexaSdk.getInstance().init(this)VlmWrapper.builder().vlmCreateInput(VlmCreateInput(model_name="omni-neural",model_path="/data/data/your.app/files/models/OmniNeural-4B/files-1-1.nexa",plugin_id="npu",config=ModelConfig())).build().onSuccess{vlm->vlm.generateStreamFlow("Hello!",GenerationConfig()).collect{print(it)}}iOS(Swift)
importNexaSdkletasr=tryAsr(plugin:.ane)tryawaitasr.load(from:modelURL)letresult=tryawaitasr.transcribe(options:.init(audioPath:"audio.wav"))print(result.asrResult.transcript)Linux / IoT(Docker)
dockerpull nexa4ai/nexasdk:latestexportNEXA_TOKEN="your_token_here"dockerrun--rm-it--privileged\-eNEXA_TOKEN\nexa4ai/nexasdk:latest infer NexaAI/Granite-4.0-h-350M-NPU架构长啥样
我翻了下它的设计,是典型的分层结构:应用层 → SDK 层 → 运行时层 → 计算后端。运行时层把"算在哪"和"怎么算"抽象出来,底层再挂 NPU / GPU / CPU 三个插件,CPU 当保底。
应用层 CLI / Python / Android / iOS │ SDK 层 统一 API · 模型加载管理 · 配置 │ 运行时层 计算后端抽象 · 格式解析 · 推理引擎 │ ┌──┴───┐ NPU GPU 插件 插件 │ CPU 插件(兜底)和别的框架比,差在哪
我把常见的几个拉出来对比(满分五星,纯个人从文档和功能层面看的):
| 对比项 | NexaSDK | Ollama | llama.cpp | LM Studio |
|---|---|---|---|---|
| NPU 支持 | ★★★★★ | ✕ | ✕ | ✕ |
| 移动端 SDK | ★★★★★ | △ | △ | ✕ |
| Linux Docker | ★★★★★ | ★★★★★ | ★★★★★ | ✕ |
| 新模型当天用 | ★★★★★ | ✕ 滞后 | △ | ✕ 滞后 |
| 多模态 | ★★★★★ | △ | △ | △ |
| 跨平台 | ★★★★★ | △ | △ | △ |
| 一行命令跑 | ★★★★★ | ★★★★★ | △ 需配置 | ★★★★★ |
| OpenAI 兼容 | ★★★★★ | ★★★★★ | ★★★★★ | ★★★★★ |
一句话:如果你只是想在电脑上玩玩模型,Ollama 更轻;但如果你要上手机、上 NPU、上 IoT,NexaSDK 的覆盖明显更全。
它适合谁,不适合谁
适合:
- 想做手机本地 AI 应用的开发者(离线、隐私友好)
- 想用 NPU 加速省电的移动开发
- 在 IoT / 边缘设备上跑模型的同学
- 想做设备端多模态(图文、语音)的人
先想清楚再上:
- NPU 部分需要许可证(CPU/GPU 组件是 Apache-2.0 免费,NPU 不是),商用前看清授权。
- NPU 只认特定芯片:高通骁龙、苹果 ANE、Intel/AMD NPU,老设备吃不到。
- Android 最低 SDK 27、iOS 要 17+,老系统跑不了。
- 我还没在真机上深度压测,性能和功耗请以你自己的设备为准。
名词小抄
- NPU:专门加速 AI 的芯片,又快又省电
- 量化:降低模型数值精度,体积变小、速度变快
- GGUF / MLX / NEXA:三种模型权重格式,端侧常用
- VLM / ASR / OCR / Rerank / Embedding:多模态能力的几种类型(看图、听声、读字、排序、向量化)
- Day-0:模型发布当天就能在端侧跑
怎么开始
- GitHub:https://github.com/NexaAI/nexa-sdk
- 官网文档:https://docs.nexa.ai
- 版本:v0.2.71,CPU/GPU 组件用 Apache-2.0
如果你也在折腾设备端 AI,或者已经在真机上跑过 NexaSDK,欢迎在评论区聊聊真实体验——尤其是 NPU 那块的功耗和速度,我挺想看实测数据。