cpu
本文主要梳理,仅cpu可运行的ai本地方案
可运行在没有显卡的电脑,旧笔记本,甚至是树莓派等嵌入式小型设备上
目前初步整理的有
Rembg (纯 CPU 离线图片去背景)
Sherpa-onnx (新一代纯 CPU 离线语音识别与合成)
Piper TTS:一个轻量级、可在CPU上实时运行的离线神经网络语音合成(TTS)工具,把文字快速转换成自然语音。
YOLOv10 / YOLOv8 (ONNX CPU Quantized) 机器视觉
Marker(全自动、高精度的 PDF 转 Markdown 纯 CPU 管线)
llama.cpp:一个高性能的本地大模型推理引擎,让你在CPU或GPU上运行Llama/Qwen等大语言模型。
whisper.cpp:一个用C/C++实现的Whisper语音识别引擎,可在CPU上离线把语音实时转成文字。
Stable Diffusion CPP (sd.cpp) (纯 CPU 像素级绘图)
使用场景
llama.cpp我还没有部署,但是它属于本地llm,我主要用来本地大模型对内容进行翻译和梳理等
whisper.cpp我还没有部署,目前使用fast whisper来进行手机上的语音转文字,文字记录为博客,打算后期使用whisper.cpp作为fast whisper的备用方案,运行在迷你主机上作为ai服务使用
Piper TTS我还没有部署,也暂时没有使用到tts相关的业务,后期可能会使用tts给博客文章生成对应的语音博客,或者给文章对应的视频生成对应的tts音频,目前只是构想,记录在这里
Sherpa-onnx 我还没有部署,但是gpt极力推荐它,因为是新一代的ASR + TTS,全链路工具,生态好,性能高,可以流式实时识别语音,可以语音转文字,可以文字转语音,跨平台,相当于whisper.cpp+Piper TTS,但是又相对更好,适合离线语音助手,比如树莓派智能家居
YOLOv10 / YOLOv8我还没有部署,属于机器视觉方向,目前我还不知道怎么用,大致上是人物识别,物品识别等,先记录下来,以后备用
Marker是文件方向,我还没有部署,暂时也没有对应的需求和使用场景,它可以把pdf转为markdown和json等
Rembg是图片处理,去除背景,我在制作youtube封面时候会用到,非常不错,推荐
Stable Diffusion CPP是文生图,也是我现在最需要的,比如我现在使用本地的flux2.0来给博客生成封面图或者文章段落配图,6GB的显存生成的图片勉强适合,我期望cpu也可以,但是目前这个项目我还没有部署,也不指望它可以达到理想的效果,目前记录在这里,等它生态成熟
优先级
因为时间关系,我会优先尝试llama.cpp,它可以结合本地大模型,变成我的ai小助手,比如翻译,比如日常文档处理整合,我的app翻译会用到它
其次,我会优先部署Sherpa-onnx,因为它同时支持ASR + TTS,我只需要部署一个项目,就可以有两个功能,并且它更接近工具,不是底层,我自己写的app语音转文字会用到它,后面会扩展为会议记录,智能家居离线语音助手等
然后我会部署Rembg,因为博客文章我会后面补充youtube视频,会需要去除图片背景来制作视频封面图片等
whisper.cpp和Piper TTS作为保留项目,如果Sherpa-onnx的效果不理想,我再考虑部署它们,或者等有空了,我部署它们对比Sherpa-onnx的效果,然后谁的效果好,我就保留谁(但是,一定有闲暇时间再来补充)
YOLOv10 / YOLOv8和Stable Diffusion CPP还有Marker,非必要不会去安装,我不想拿着锤子找钉子,没事找事做,这里仅仅是记录,需要的人了解它们cpu可运行即可
ui
llama.cpp太过于底层,我们需要简单易用的ui才使用,这里推荐open-webui
随着 Open WebUI 的迭代,它已经把 llama.cpp 列为了官方原生支持的 Provider(模型提供商)之一。llama.cpp 内置的 llama-server 会自动暴露一个标准的 OpenAI 兼容接口,Open WebUI 可以直接对接并识别它
LocalAI
大一统方案 LocalAI
普通的推理工具(如 llama.cpp)通常只解决文本生成(Chat)的问题。但一个完整的 AI 应用 往往需要多种 AI 能力。
LocalAI 的强悍之处在于,它通过 纯 CPU 指令集加速(AVX/AVX-512),在一个 Docker 容器里同时实现了以下全套生态的“零成本白嫖”:
- 文本生成(Text Generation): 底层接入 llama.cpp / ggml,用 CPU 跑 GGUF 模型(如 Qwen-Coder、DeepSeek)。
- 语音转文字(Audio Transcription): 底层直接集成 whisper.cpp,完全替代 OpenAI 的 Whisper API。
- 文字转语音(TTS): 支持本地轻量级语音合成(如 Piper),纯 CPU 就能离线生成音频。
- 图像生成(Image Generation): 甚至能通过 CPU 版本的 Stable Diffusion(sd.cpp)在后台偷偷生图。
- 文本嵌入与向量化(Embeddings): 纯 CPU 运行本地 BERT 模型,搞定本地 RAG 知识库。
温馨提示
以上的ai选型是我问题gpt和gemini给出的答案
但是我很不满意,即便我给出提示词,它们给的答案与我想要的差太多
open webui和localai更是提都没提,还是我主动提出来的
我上网查了一些,localai的生态很火,star很多,但是明显提到的人不多,因为我是用的win系列
localai好像不支持exe安装,优先推荐docker等方式,而这种,window要安装wsl2和docker desktop,一般人也不太会使用docker-compose
造成了一定的使用困难
📊 LocalAI 核心能力与优点一览
| 维度 | LocalAI 的核心能力与技术亮点 | 为什么它是“无显卡独立开发”的底牌(优点) |
|---|---|---|
| 💡 零代码修改 | 100% 兼容 OpenAI REST API(如 /v1/chat/completions 等),接口标准完全一致 | 开发 Astro 博客或 Node.js 异步任务时,只需修改 OPENAI_BASE_URL 环境变量即可切换本地/云端 API,业务代码完全不用动 |
| ⚡ CPU 极限压榨 | 深度集成 llama.cpp,支持 AVX2 / AVX-512 CPU 指令加速 | 不依赖 GPU,普通 CPU 也能运行量化模型(如 Qwen 1.5B / Mistral 7B 量化版),实现低成本本地推理 |
| 🧠 全家桶生态(AIO) | 一站式集成多种推理后端:LLM + ASR + TTS + 图像生成 + 向量模型 | 一个 Docker 容器替代多个 AI 服务: |
• 文本:llama.cpp
• 语音识别:whisper.cpp
• 语音合成:Piper TTS
• 图像:Stable Diffusion(CPU/轻量后端)
• 向量:BERT / embedding |
| 💾 内存锁优化 | 支持 lock_memory: true,可锁定模型内存防止被 swap | 避免 Windows / Linux swap 把模型换出内存,减少二次请求卡顿(尤其是长对话场景) |
| 🏪 极客生态(Model Gallery) | 内置模型管理与下载机制(YAML 配置式模型市场) | 不用手动下载 Hugging Face 模型,支持一键拉取轻量模型并自动注册 API |
最终方案
现在我打算优先尝试LocalAI,因为我的win已经安装了wsl2和docker desktop
并且LocalAI既有全方位的综合能力,也有对应的交互ui,还提供api方式,这样无论我是桌面使用,还是app通过api使用,还是后面出现新的能力和模型,localai都会快速集成和解决兼容性问题以及性能优化
我只需要跟着localai,就能解决90%的问题,如果有特别重要的问题解决不了,就单独花时间来处理本地其他ai或者使用云ai来补充