本地LLM部署工具(写给小白的LLM工具选型系列:第一篇)

诸神缄默不语-个人技术博文与视频目录

本地部署LLM的优势:

  1. 一次性消费,不用按token用量付费
    (网费和电费当然也能算钱,但是跟某些大模型的报价比起来就可以不算钱了;显卡也其实会损耗的,但是我们先假设显卡是只用买一次的吧......)
  2. 安全,你的数据不会上传到别人的服务器里。这对很多保密要求严格的公司和行业很重要
  3. 断网也可以使用大模型。
    比如说如果你在笔记本电脑上部署了一个LLM的话(虽然一般消费级显卡能部署的模型不会太大),那你就可以在坐飞机的时候也用LLM来进行学习和工作了,在坐火车的时候也不用担心信号不好了。
    (我之前看好像东航还是南航出了机上WiFi。但是要额外花钱买,好,我们公司不会报销这个的,我们领导不会让我在飞机上突然开始参会的!)
  4. 你可以部署一些神奇的大模型,输出不会因为企业的风控机制而说到一半突然撤回。
  5. 也不用在乎API厂商的速率限制了,现在推理的速度完全取决于你自己的硬件和网络了。
  6. 也不用在乎某些公司一夜之间突然把你一直在用的模型版本换了......
    对于某些聊出感情的用户来说,这样能保证你的赛博老友一直装在你自己的电脑里;对于学术研究人员来说,这也意味着你的可复现性会更强。(虽然大模型本身的随机性,即使temperature为0时也仍然不能保证绝对可复现)
  7. 也不用担心某些公司突然把你的号封了

本地部署LLM的劣势:

  1. 需要有硬件和网络、安全防护和电力支持,普通用户可能没有所需的资源。
    这里的硬件主要指的就是AI显卡,即用于神经网络计算的处理器(主要是GPU,也有用TPU、NPU或者CPU的)。大家都知道现在国际上GPU还是比较贵的。而国产显卡在能力上还是需要追赶国际先进水平的。而且现在的大模型基本上都是默认支持NVIDIA系的cuda工具,如果换成别的显卡,一方面是需要重新适配,另一方面可能会出现效果的下降。而且国产显卡也贵。当然国产显卡也在努力,让我们期待吧!
    你能够部署的大模型的尺寸,也受限于你的硬件配置。如果你的GPU太小了,你就不能部署很大的模型。
    网络和安全防护支持主要是考虑到一般人家里不会专门组服务器,对外暴露公网很危险,如果是内网环境要做内网穿透的话也很麻烦,所以如果你想在外面访问你家里部署的大模型还是比较麻烦的,如果不麻烦就要冒一点安全风险。
  2. 一般人只有消费级显卡,就无法部署各种"满血版"大模型,即使通过量化、压缩、优化,效果依然很可能不如云端大模型。
  3. 很多大模型厂商的前沿最强模型依然没有开源,只能通过API调用来使用。

本文主要考虑的是在你自己的电脑上运行LLM推理服务,但是下文会介绍的llama.cpp、vllm等工具事实上在企业级生产服务中也很常用。功能不仅局限于个人消费级使用。

另外本文介绍的是从"别人发布的开源大模型"到"在本地部署起LLM推理服务并进行调用"的这个过程。

文中除了用GUI界面的LM Studio和Jan之外都主要通过命令行来部署服务。

事实上还有很多像cherry studio、ChatBot乃至于OpenClaw之类的工具,可以用来将你在本地部署的LLM服务(当然也可以调用云端的大模型API)来放到一个对话框中,让你能够通过图形界面(比如一个像ChatGPT官网那样的)来与LLM对话,甚至访问你的知识库、文件系统,帮你完成工作。

类似这样的更多任务请待后续博文分解。

本系列不会更新微调、预训练、强化学习相关内容,因为 (1) 我觉得需要这些内容的读者应该不太算是小白了吧。(2) 问就是无脑建议选llama-factory

(本篇也会持续更新的)

文章目录

  • 一、工具速查表
  • 二、选型必读:工具优劣势深度对比
    • [🔧 Ollama------开发者最爱的"LLM 版 Docker"](#🔧 Ollama——开发者最爱的“LLM 版 Docker”)
    • [⚡ llama.cpp------低配设备的"性能魔法师"](#⚡ llama.cpp——低配设备的“性能魔法师”)
    • [🚀 vLLM------生产环境吞吐王者](#🚀 vLLM——生产环境吞吐王者)
    • [🎨 LM Studio------非技术用户的"可视化助手"](#🎨 LM Studio——非技术用户的“可视化助手”)
    • [📦 其他值得关注的工具](#📦 其他值得关注的工具)
  • 三、实战操作指南
    • [🚀 场景一:用 Ollama 快速启动一个本地 API 服务](#🚀 场景一:用 Ollama 快速启动一个本地 API 服务)
    • [⚙️ 场景二:在低配设备上通过 llama.cpp 运行模型](#⚙️ 场景二:在低配设备上通过 llama.cpp 运行模型)
    • [🏭 场景三:用 vLLM 搭建高并发生产级推理服务](#🏭 场景三:用 vLLM 搭建高并发生产级推理服务)
    • [🖥️ 场景四:通过 LM Studio 零代码体验本地模型](#🖥️ 场景四:通过 LM Studio 零代码体验本地模型)
  • 四、选型决策树
  • 五、性能基准参考
  • 写在最后

一、工具速查表

工具 一句话定位 最佳场景 上手难度
Ollama 一行命令部署LLM 开发者快速集成与原型开发 ⭐ 极低
llama.cpp 低配设备的LLM极致压缩 极致性能调优与边缘设备部署 ⭐⭐⭐ 中等
vLLM 生产级服务引擎 高并发 API 服务 ⭐⭐⭐ 中等
LM Studio 开箱即用的桌面 GUI 模型探索与可视化交互 ⭐ 极低
TensorRT-LLM NVIDIA 官方的极致性能推理库 大规模生产环境 + 纯 NVIDIA 集群 ⭐⭐⭐⭐ 较难
TGI Hugging Face 生产级服务工具包 企业级部署(但官方建议转向 vLLM/SGLang) ⭐⭐⭐ 中等
SGLang 高性能服务框架,擅长多轮对话与复杂推理 多轮对话、结构化生成、长上下文场景 ⭐⭐⭐ 中等
Jan 跨平台桌面应用 日常使用与简单对话 ⭐ 极低
LocalAI 容器化 OpenAI 替代 Docker 环境集成 ⭐⭐ 较低
GPT4All 轻量桌面聊天应用 普通用户的本地聊天需求 ⭐ 极低
MLX Apple 官方框架 Mac 极致优化 ⭐⭐⭐ 中等

vLLM文档:https://docs.vllm.ai/en/stable/getting_started/quickstart/

二、选型必读:工具优劣势深度对比

🔧 Ollama------开发者最爱的"LLM 版 Docker"

核心定位: 以最少的配置成本跑起来。Ollama 把模型管理抽象成了极简的 CLI,一条命令就能完成下载、运行、API 暴露全过程。

优点:

  • 体验极致简单ollama pull llama3 即可拉取模型,ollama run 直接对话,几乎没有学习曲线。
  • 内置 OpenAI 兼容 API :原生提供 http://localhost:11434/v1 端点,LangChain、Semantic Kernel 等框架开箱即用。
  • 跨平台 + Apple Silicon 加速:在 Mac、Windows、Linux 上都能跑,且对 M 系列芯片做了深度优化。
  • 生态活跃:GitHub 超 12 万 star,内置模型市场支持 200+ 预量化模型。

缺点:

  • 生产级性能不足:学术测评显示,Ollama 在吞吐量和首 token 时延(TTFT)上明显落后于 vLLM 等专用推理引擎。
  • 高级功能受限:多 GPU 支持和微调选项比较基础,不适合需要精细调优的场景。
  • 模型库局限:主要支持 Ollama 官方模型库,不如直接浏览 Hugging Face 丰富。

💡 一句话总结:如果你是开发者,想快速把 LLM 集成到自己的应用里做原型验证,Ollama 就是最佳答案。但请别把它当生产级服务引擎用。

⚡ llama.cpp------低配设备的"性能魔法师"

核心定位: 一个纯 C/C++ 实现的 LLM 推理引擎,通过量化技术把大模型"压缩"到可以在普通 CPU 上运行的程度。

优点:

  • 资源占用极致低:量化后 7B 模型仅需 4GB 内存,树莓派 5 都能跑 Mistral-7B。
  • 多后端加速:支持 AVX2/NEON 指令集(CPU 提速 3-5 倍)、CUDA、Metal、OpenCL 等多种加速后端。
  • 极高自由度:命令行参数精细可控,可以灵活分配 CPU/GPU 负载,支持 20+ 种模型架构。
  • 生态基石地位:GitHub 近 7.5 万 star,Ollama、LM Studio 等工具底层都依赖它。

缺点:

  • 纯命令行操作:没有 GUI,需要熟悉 CLI 和编译流程,对非技术用户不友好。
  • 上手成本高:从源码编译到模型格式转换,需要一定的技术功底。
  • 文档较分散:官方文档偏技术性,很多最佳实践需要从社区摸索。

💡 一句话总结:如果你手上只有老旧设备、树莓派或工控机,llama.cpp 就是你的"救星"。但它的目标是极致性能,不是易用性。

🚀 vLLM------生产环境吞吐王者

核心定位: 专为高并发 LLM 服务设计的企业级推理引擎,由 UC Berkeley 开发,Anyscale、IBM、Databricks 等公司在生产环境使用。

优点:

  • 吞吐量惊人:通过独创的 PagedAttention 技术减少 60-80% 显存浪费,相比传统框架吞吐量提升 14-24 倍。
  • 连续批处理:动态混合新旧请求,GPU 利用率可达 90%+,不留闲置周期。
  • OpenAI 兼容 API:应用代码无需改动即可切换后端。
  • 企业级特性:支持张量并行、流水线并行、推测解码和多种量化方案。

缺点:

  • 只支持Linux系统
  • 显存消耗大:vLLM 本身需要较多的 GPU 显存开销,在边缘设备上部署有压力。
  • 不支持苹果M系显卡
  • 非交互场景优化:学术研究显示,vLLM 更擅长高吞吐批处理,但在单用户低延迟场景下,吞吐表现反而可能不如 TGI 等竞品。

💡 一句话总结:需要为成百上千用户提供 API 服务?vLLM 是当前工业界的事实标准。个人开发者请绕道。

🎨 LM Studio------非技术用户的"可视化助手"

核心定位: 一款带有精美 GUI 的桌面应用,让你像使用普通软件一样浏览、下载、运行本地 LLM。

优点:

  • 零命令行:全部操作通过图形界面完成,非技术人员也能轻松上手。
  • 模型发现友好:内置 Hugging Face 模型浏览,清晰展示模型大小、量化级别和性能预估,不用猜哪个 GGUF 文件该下。
  • 实时参数调优:对话过程中可以随时调整 temperature、top-p 等参数,立即看到效果。
  • 内置 API 服务:提供 OpenAI 兼容的本地 API,可被 LangChain 等框架调用。

缺点:

  • 闭源:代码不开放,对需要审计合规的团队是个隐患。
  • 资源占用偏高:GUI 本身占用约 500MB 内存,且一次只能运行一个模型。
  • 自动化集成弱:纯 GUI 操作很难融入 CI/CD 或自动化脚本。

💡 一句话总结:如果你是产品经理、设计师,或者就想在 Mac 上随意玩玩各种模型,LM Studio 是最舒服的选择。

📦 其他值得关注的工具

  • TensorRT-LLM:NVIDIA 官方极致性能引擎,缺点是上手门槛较高,且仅支持 NVIDIA GPU。适合追求极致性能、有专业运维团队且完全基于 NVIDIA 基础设施的大规模生产场景。
  • TGI :Hugging Face 开发的生产级服务工具包,在生产环境为 Hugging Chat 和 Inference API 提供后端支撑。重要提醒:TGI 目前已进入维护模式,Hugging Face 官方推荐新项目转向 vLLM 和 SGLang,本地场景则推荐 llama.cpp 或 MLX。如果你的项目已基于 TGI 稳定运行,可以继续使用;如果是新项目,建议优先评估 vLLM 或 SGLang。
  • SGLang:综合吞吐量表现属于第一梯队,特别适合多轮对话、复杂推理和长上下文生成任务。
  • Jan:跨平台桌面应用,开源且界面简洁,类似 LM Studio 的开源替代版。
  • LocalAI:容器优先的设计哲学,通过 Docker 提供 OpenAI 兼容 API,适合与现有容器化基础设施集成。
  • GPT4All:轻量桌面聊天应用,主打普通用户日常使用,对硬件要求极低。
  • MLX:Apple 官方为 M 系列芯片设计的机器学习框架,学术研究显示其在 Apple Silicon 上持续生成吞吐量最高,但生态成熟度仍有待提升。

三、实战操作指南

🚀 场景一:用 Ollama 快速启动一个本地 API 服务

这是"从零到 ChatGPT"最快的方式。

安装(macOS):

bash 复制代码
brew install ollama

Windows/Linux 用户请前往 https://ollama.com 下载安装包。

拉取并运行模型:

bash 复制代码
# 拉取模型(自动下载最新版本)
ollama pull llama4

# 直接对话
ollama run llama4 "用 Python 实现一个快速排序"
# 如果运行`ollama run llama4`将开始交互式对话

# 启动 API 服务(默认后台运行)
ollama serve

通过 API 调用:

bash 复制代码
curl http://localhost:11434/api/generate -d '{
  "model": "llama4",
  "prompt": "为什么本地运行 LLM 更安全?",
  "stream": false
}'

Ollama 默认暴露 OpenAI 兼容端点 http://localhost:11434/v1,你的 LangChain 或 AutoGen 代码可以直接对接。

这里的参数格式就跟OpenAI的接口一致。

模型管理:

bash 复制代码
ollama list          # 查看已下载模型
ollama show llama4  # 查看模型的参数、格式、尺寸
ollama rm llama4   # 删除模型

可以通过Modelfile自定义模型行为,就像LLM版的Dockerfile:

复制代码
# Save as Modelfile.codereview
FROM llama4

SYSTEM """
You are an expert code reviewer. Analyze code for bugs, security issues, and performance problems.
Be concise and actionable. Format your response as a numbered list of findings.
"""

PARAMETER temperature 0.2
PARAMETER num_ctx 8192
PARAMETER top_p 0.9
bash 复制代码
# Create a named model from the Modelfile
ollama create codereview -f Modelfile.codereview

# Run it
ollama run codereview

⚙️ 场景二:在低配设备上通过 llama.cpp 运行模型

即便你手头只有一台老旧笔记本,llama.cpp 也能让它跑起大模型。

编译安装:

bash 复制代码
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make -j  # CPU 版本,简单粗暴
# 如果有 NVIDIA GPU,启用 CUDA:
make LLAMA_CUDA=1 -j

获取量化模型(GGUF 格式):

bash 复制代码
# 从 Hugging Face 下载预量化模型
# 以 Qwen2.5-7B 的 Q4_K_M 量化版本为例
huggingface-cli download Qwen/Qwen2.5-7B-Instruct-GGUF qwen2.5-7b-instruct-q4_k_m.gguf \
  --local-dir ./models/

运行推理:

bash 复制代码
# 基础推理
./main -m ./models/qwen2.5-7b-instruct-q4_k_m.gguf \
  -p "解释一下量子计算的基本原理" \
  -n 256

# 启用 GPU 加速(假设有 NVIDIA 显卡)
./main -m ./models/model.Q4_K_M.gguf \
  -ngl 32 \       # 将 32 层加载到 GPU
  -p "写一首关于编程的短诗" \
  -n 512 \
  -t 8            # 使用 8 个 CPU 线程

# 启动一个简易聊天服务器
./server -m ./models/model.Q4_K_M.gguf --host 0.0.0.0 --port 8080

量化等级选择建议:Q2(极致省内存,质量损失大)→ Q4(平衡选择,推荐)→ Q8(质量高,内存占用翻倍)。通常 Q4_K_M 是最佳权衡点。

🏭 场景三:用 vLLM 搭建高并发生产级推理服务

当你需要服务成百上千用户时,vLLM 是最靠谱的选择。

vLLM官方推荐用uv安装,可以参考:https://docs.vllm.ai/en/stable/getting_started/installation/

离线批处理推理:

python 复制代码
from vllm import LLM, SamplingParams

prompts = [
    "Hello, my name is",
    "The president of the United States is",
    "The capital of France is",
    "The future of AI is",
]
sampling_params = SamplingParams(temperature=0.8, top_p=0.95)

llm = LLM(model="facebook/opt-125m")

outputs = llm.generate(prompts, sampling_params)

for output in outputs:
    prompt = output.prompt
    generated_text = output.outputs[0].text
    print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")

(需要注意llm.generate()函数不会自动应用LLM本身的提示词模版。但是你可以用llm.chat()函数然后传OpenAI格式的参数)

命令行方式启动 OpenAI 兼容 API 服务:

huggingface模型:

bash 复制代码
vllm serve meta-llama/Llama-4-Scout-17B-16E-Instruct \
  --quantization awq \
  --max-model-len 8192 \
  --port 8000

启动后,你的应用可以直接用 OpenAI SDK 访问本地服务:

python 复制代码
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="your-api-key")
response = client.chat.completions.create(
    model="meta-llama/Llama-2-7b-chat-hf",
    messages=[{"role": "user", "content": "你好!"}]
)
print(response.choices[0].message.content)

🖥️ 场景四:通过 LM Studio 零代码体验本地模型

这是最简单的方式,全程不需要敲任何代码。

步骤 1:安装

访问 https://lmstudio.ai,下载对应平台的安装包并安装。

步骤 2:搜索模型

打开 LM Studio,点击左侧的"Search"标签页,在 Hugging Face 模型库中搜索你感兴趣的模型(如 Llama-3.2-3B),LM Studio 会自动显示模型大小和量化选项,一目了然。

步骤 3:下载并加载

选择好量化版本后点击"Download",下载完成后回到"Chat"界面,从下拉菜单选择模型并点击"Load Model"。

步骤 4:开始对话

在聊天框输入文字即可,右侧可以实时调整 temperature、top_p 等参数。

步骤 5:暴露 API 服务

如果需要让其他程序调用这个模型,在 LM Studio 中点击"Local Inference Server"选项卡,启动服务,然后用 OpenAI SDK 指向 http://localhost:1234/v1 即可。

四、选型决策树

根据你的实际需求,这里有一条清晰的决策路径:

复制代码
开始
  │
  ├─ 你是开发者,想快速集成到自己的应用?
  │   └─ ✅ Ollama(最简单,原型首选)
  │
  ├─ 你需要服务大量并发用户(50+ 同时请求)?
  │   └─ ✅ vLLM(生产级吞吐之王)
  │
  └─ 你需要处理多轮对话、结构化输出或复杂推理任务?
  │   └─ ✅ SGLang(兼顾性能和灵活性)
  │
  ├─ 你的设备很老旧(树莓派/老旧PC/无独显)?
  │   └─ ✅ llama.cpp(极致的资源优化)
  │
  ├─ 你是非技术用户,想直观体验各种模型?
  │   └─ ✅ LM Studio 或 Jan
  │
  ├─ 你用 Mac,且追求极致性能?
  │   └─ ✅ MLX(Apple 官方优化)
  │
  └─ 你的项目已经在用 Docker,希望无缝集成?
  │   └─ ✅ LocalAI(容器优先)
  │
  └─ 你的业务完全依赖 NVIDIA GPU 且追求极致吞吐量?
  │   └─ ✅ TensorRT‑LLM(但需要专门的工程团队支持)
  │

五、性能基准参考

根据 2026 年的公开评测数据(在 A100/H100 上测试 Llama-70B 类模型):

引擎 吞吐量 (token/s) 上手难度 适用场景
vLLM 1000-2000 中等 高并发生产服务
TensorRT-LLM 2500-4000+ 困难 NVIDIA 极致优化
TGI 800-1500 中等 企业级部署
SGLang 很高 中等 长文本生成
llama.cpp 80-100* 中等 通用本地推理
Ollama 较低 极低 开发与原型

*注:llama.cpp 数据来自 7B 模型在 M2 Ultra 上的测试(CPU/Metal),与 GPU 服务器数据不可直接比较。

⚠️ 重要提醒:吞吐量不是唯一指标。vLLM 在高并发场景下表现最佳,但在单用户低延迟场景中可能不如 TGI。llama.cpp 的吞吐量数字看似较低,但它在 CPU 和边缘设备上的表现无可替代------关键是找准自己的场景。

数据来源:EVAL #001: The Great LLM Inference Engine Showdown --- vLLM vs TGI vs TensorRT-LLM vs SGLang vs llama.cpp vs Ollama • Buttondown

写在最后

本地运行 LLM 已经从"能不能跑"进化到了"怎么跑更好"。今天的工具生态已经足够成熟,无论你的技术背景如何、硬件条件怎样,都能找到适合自己的解决方案。

不过,一个务实的提醒:本地 8B 参数模型在复杂推理任务上依然无法匹敌 GPT-4o 或 Claude 3.5 Sonnet。如果你的业务依赖顶级的推理能力,云服务仍然不可替代。反之,如果你注重数据隐私、希望控制长期成本、或者需要离线运行能力,本地部署就是当前的最优解。

选择合适的工具,让你的数据留在你的机器上,让 AI 能力为你所用,而不是成为另一笔持续的支出。

相关推荐
Flying pigs~~3 小时前
从“计数”到“对话”:一文读懂语言模型与大语言模型 (LLM)
人工智能·语言模型·自然语言处理·大模型·llm·transformer
克里斯蒂亚诺更新4 小时前
RAG+Vllm的知识库部署检索方案
vllm
缘友一世17 小时前
PentestGPT V2源码研究之langfuse模型记录模块
渗透测试·llm·langfuse
Peter·Pan爱编程1 天前
OpenClaw进阶实战(二):本地模型量化与加速——GGUF、vLLM、OpenVINO实战
人工智能·openvino·vllm
福大大架构师每日一题1 天前
ollama v0.19.0 发布!Web 搜索插件上线、多模型兼容修复、MLX 与 KV 缓存全面优化,本地大模型体验再升级
缓存·ollama
EdisonZhou1 天前
MAF快速入门(21)RC5引入的Script运行能力
llm·agent·.net core
带刺的坐椅2 天前
SolonCode CLI v2026.4.5 发布(编码智能体)
ai·llm·ai编程·cli·claudecode·opencode·sloncode
蜘蛛侠..2 天前
什么是 Plan-and-Execute 模式?与ReAct模式区别?
java·ai·大模型·llm·agent·react·plan模式
MoonOut2 天前
LLM | 项目推荐:LLM 后训练 / Agent 相关的小规模开源项目
llm