news 2026/9/1 22:46:08

llama.cpp本地部署大模型完全指南:编译、量化与API调用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
llama.cpp本地部署大模型完全指南:编译、量化与API调用

很多人对“本地部署大模型”的第一反应是:至少得有一张 24GB 显存的显卡,最好还是双卡;内存没有 64GB 根本跑不动;操作系统必须是 Linux 服务器。于是多数人还没来得及体验,就被硬件门槛劝退了。

但实际上,这个印象已经过时了。以 llama.cpp 为代表的推理引擎,把本地部署大模型的入门门槛降到了“一台普通笔记本也能跑”的程度。它支持 CPU 推理,支持 Mac 的 Metal 加速,支持 Windows、Linux,甚至能在树莓派上运行小模型。你现在在搜索引擎里看到的大量“本地运行大模型”教程,底层引擎十有八九都是 llama.cpp 或它的衍生项目。

这篇文章会从“为什么要本地部署”讲起,然后完整覆盖 llama.cpp 的核心概念、源码编译、模型下载、命令行对话、OpenAI 兼容 API 服务、量化原理、性能调优和常见问题排查。通篇按照“拿来就能用”的标准写,目标是让你读完以后,能在自己的电脑上把大模型真正跑起来,而不是只知道概念。

需要先说明一点:本地部署大模型不是万能的,它不适合所有人。我先来搞清楚这个问题。

1. 为什么要自己部署大模型?先确认你的真实需求

很多人看到“本地部署”就激动,但真正动手之后才发现,自己其实并没有明确需求。我先帮你判断一下,本地部署到底适不适合你。

1.1 本地部署真正解决的三个问题

数据隐私与安全。这是最硬核的诉求。企业内部文档、医疗数据、金融数据、个人隐私内容,只要经过云端的 API,就存在数据出域的风险。很多公司即使知道公有云大模型效果好,也只能望而却步。本地部署后,所有推理过程都在自己的机器或内网完成,数据不出门。

成本可控。如果只是偶尔用一用,按 API 按 token 付费其实不贵。但如果你要做批量处理、持续对话、模型评测、Agent 任务,调用量一上来,费用可能非常可观。自己部署一套开源模型,一次性投入硬件成本,后续使用基本只是电费。

定制开发与二次集成。这是开发者最关心的。本地部署后,模型权重、推理参数、输入输出格式、上下文策略全部由你自己掌控。你可以给它接上自己的知识库、数据库、Agent 工具链,甚至基于它做垂直领域微调。这在云端 API 上是难以实现的。

1.2 本地部署不适合哪些场景

如果你的核心诉求是“效果最好”,那本地部署大概率不满足你。开源模型和最强的商用闭源模型之间仍存在明显差距,尤其在复杂推理、代码生成、多轮指令跟随等领域。

如果你需要支撑大规模并发,比如每天几十万次调用,那 llama.cpp 单机推理的模式也不太适合生产环境。这种场景应该考虑 vLLM、SGLang 这类针对多卡、高吞吐优化过的推理服务。

所以我的判断是:llama.cpp 的最佳使用场景是“单机或小规模内网环境下的模型部署与开发验证”,而不是“高并发生产集群”。你用它跑通一个 Demo、做模型评测、接进内部工具,都没有问题;但如果你要面向 C 端提供高并发服务,请绕道。

2. llama.cpp 是什么?核心概念与原理精讲

2.1 llama.cpp 和 GGUF 格式

llama.cpp 是一个用 C/C++ 实现的大模型推理引擎,最初由 Georgi Gerganov 在 2023 年 3 月发布,目的是让 LLaMA 模型能在 CPU 和消费级显卡上运行。

它的核心特点有三个:

  • 纯 C/C++ 实现,零 Python 依赖。启动速度快,部署简单,连 Python 环境都不用装。
  • 支持 CPU 推理。这是它和主流推理框架最大的区别。GPU 不够用的时候,CPU 也能跑,只是速度慢一些。
  • 定义了 GGUF 模型格式。GGUF 是整个 llama.cpp 生态的核心。它是一种高性能的模型序列化格式,采用二进制紧凑布局,支持分片、量化、元数据存储,专为快速加载和低内存占用设计。

早期 llama.cpp 用的是 GGML 格式,现在已经完全过渡到 GGUF。目前 Hugging Face 上几乎所有主流开源模型都能找到对应的 GGUF 版本。

2.2 量化:为什么 7B 模型只需要 4GB 显存

大模型的原始权重是 FP16 或 FP32 浮点数。以 7B 模型为例,FP16 精度下权重文件大小大约是 14GB。这个体积对消费级显卡很不友好。

量化做的就是把浮点权重转换成低精度的整数或低位浮点。llama.cpp 的 GGUF 格式支持从 2-bit 到 8-bit 多种量化等级,其中以 4-bit 的 Q4_K_M、Q5_K_M 最常用。

7B 模型量化成 Q4_K_M 之后,文件大小大约是 4.4GB。显存压力一下从“必须高端显卡”降到了“中端显卡也能跑”。这就是为什么本地部署能普及到今天这个程度的原因。

2.3 CPU 和 GPU 混合推理

llama.cpp 支持将模型的部分层加载到 GPU,其余层留在 CPU 上。这就是--gpu-layers(简称-ngl)参数的作用。

如果你有一张 8GB 显存的显卡,想把 Q4 量化后的 7B 模型(约 4.4GB)完整放进显存,可以设置-ngl 999让所有层都走 GPU。如果显存不够,可以只放一半层到 GPU,剩余层由 CPU 计算,速度虽然慢一些,但能跑起来。

2.4 和 Ollama、vLLM 的定位差异

下面这个对比很关键,很多新手在这里纠结。

项目核心定位适合场景特点
llama.cpp轻量推理引擎单机部署、开发验证、边缘设备CPU/GPU 通吃,GGUF 格式生态完善
Ollama模型管理工具个人快速体验底层就是 llama.cpp,封装了模型拉取和运行命令
vLLM高性能推理服务高并发生产环境需要 GPU 集群,PagedAttention 优化吞吐

如果你想要一条命令快速体验,Ollama 更省事。如果你要开发自己的推理服务或做精细控制,直接用 llama.cpp 是更好的选择。本文全程以 llama.cpp 为准。

3. 部署前的环境准备与模型选型

3.1 硬件要什么级别?

如果你执意要跑 70B 的大模型,那确实需要大内存和高显存。但如果你只是想跑通一个 7B 模型,门槛并不高。

使用场景建议配置可运行模型规模
入门体验8GB 内存,4 核 CPU1B ~ 3B Q4 量化
日常开发16GB 内存,8 核 CPU 或 6GB 显存7B Q4 量化
高质量推理32GB 内存,12GB 以上显存14B ~ 32B Q4 量化
中型模型64GB 内存,24GB 以上显存32B ~ 70B Q4 量化

这里的核心逻辑是:模型文件有多大,运行时的内存或显存最好就有多大。Q4 量化后的 7B 模型约 4.4GB,你至少要有 8GB 内存来承载它;如果加载到 GPU,显存至少 4.4GB,再算上运行开销,6GB 显卡比较稳妥。

3.2 操作系统和编译工具

llama.cpp 支持三大主流平台:

  • macOS:支持 Metal 加速,Apple Silicon 芯片效果尤其好,M1/M2 就能流畅跑 7B 模型,这也是它在 Mac 开发者群体中流行的重要原因。
  • Linux:支持最好,CPU、CUDA GPU、ROCm GPU 都支持。Ubuntu 20.04 及以上最顺手。
  • Windows:支持原生编译,但更推荐 WSL2 环境,避免很多库依赖问题。

编译工具方面,需要 C++ 编译器和 CMake。

macOS 下安装命令:

xcode-select --install brew install cmake git

Ubuntu/Debian 下安装命令:

sudo apt update sudo apt install -y build-essential cmake git

Windows 建议安装 WSL2 和 Ubuntu,然后在 WSL 内执行上述命令。

3.3 怎么选择模型?

模型选择建议从任务出发。如果你需要中文场景、通用对话,推荐 Qwen 系列;如果你主要处理英文,可以考虑 Llama 系列;如果硬件受限,可以在 1B-4B 之间的小模型里寻找。

模型参数量Q4 量化文件大小中文能力典型场景
Qwen2.5-7B-Instruct7B约 4.4GB中文通用对话
Qwen2.5-14B-Instruct14B约 8.5GB复杂指令、摘要、推理
Llama-3.1-8B-Instruct8B约 4.9GB一般英文对话、代码
Phi-3-mini3.8B约 2.3GB尚可低配设备快速体验

本文的示例统一使用 Qwen2.5-7B-Instruct 的 GGUF 量化版,一方面中文效果好,另一方面它在 16GB 内存电脑上就能顺利运行。

3.4 量化级别怎么选?

GGUF 模型有多种量化档位,英文名称以 Q 开头,后面的数字表示每权重平均位数。

量化类型平均位数7B 模型约大小质量与速度
Q2_K2.63 bits约 2.7GB质量损失明显,极少使用
Q3_K_M3.87 bits约 3.5GB质量一般
Q4_K_M4.85 bits约 4.4GB最推荐,性价比最高
Q5_K_M5.54 bits约 5.0GB质量更高,硬件要求稍高
Q8_08 bits约 7.5GB接近原始精度
F1616 bits约 14.5GB原始精度,内存要求最高

新手建议直接选Q4_K_M,这是 llama.cpp 生态里“文件大小、推理速度、生成质量”最均衡的档位。

4. 获取 llama.cpp 源码并编译

4.1 克隆源码

git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp

这里用的是官方仓库。你也可以直接下载发布版源码包,效果一样。

4.2 macOS 编译(Metal 加速)

Apple Silicon 和 Intel Mac 都支持 Metal 加速:

cmake -B build -DGGML_METAL=ON cmake --build build --config Release -j 4

编译完成后,可执行文件在build/bin目录下。新版 llama.cpp 的主命令是llama-clillama-server。早期版本的mainserver已经改名,如果你看到旧教程里写着./main,其实就是现在的./llama-cli

4.3 Linux CPU 编译

cmake -B build cmake --build build --config Release -j 4

默认情况下,Linux 编译为 CPU 版本,不做任何 GPU 加速。这样最简单,也最容易跑通。

4.4 Linux CUDA GPU 编译

如果你有 NVIDIA 显卡并安装了 CUDA 工具包:

cmake -B build -DGGML_CUDA=ON cmake --build build --config Release -j 4

编译完成后可以用下面命令验证 CUDA 可用性:

./build/bin/llama-cli --list-devices

如果输出里有 CUDA 设备,说明 GPU 层已成功启用。

4.5 验证编译结果

进入build/bin目录,查看可执行文件:

ls -la build/bin/

正常情况下能看到llama-clillama-serverllama-quantizellama-perplexity等工具。其中三个核心工具是:

  • llama-cli:命令行交互式对话工具。
  • llama-server:启动 HTTP API 服务,兼容 OpenAI 接口。
  • llama-quantize:将模型转换为 GGUF 格式或调整量化等级。

5. 下载 GGUF 格式模型文件

5.1 官方模型页面

Hugging Face 上有大量 GGUF 模型。以 Qwen2.5-7B-Instruct 为例,官方 GGUF 仓库路径是:

Qwen/Qwen2.5-7B-Instruct-GGUF

你需要的是qwen2.5-7b-instruct-q4_k_m.gguf这个文件。

国内访问 Hugging Face 可能不稳定,可以使用hf-mirror.com镜像站,这是国内技术社区常用的合法镜像方式。

5.2 使用 curl 直接下载

mkdir -p models curl -L -o models/qwen2.5-7b-instruct-q4_k_m.gguf \ https://hf-mirror.com/Qwen/Qwen2.5-7B-Instruct-GGUF/resolve/main/qwen2.5-7b-instruct-q4_k_m.gguf

下载完成后查看文件大小确认完整性:

ls -lh models/

预期看到约 4.4GB 左右的.gguf文件。文件大小和你下载的量化档位严格对应,如果偏差过大,说明下载中断,建议重新下载。

5.3 使用 huggingface-cli 下载

如果你已经安装了 Python,也可以用 Hugging Face 官方命令行工具:

pip install -U huggingface_hub export HF_ENDPOINT=https://hf-mirror.com huggingface-cli download Qwen/Qwen2.5-7B-Instruct-GGUF \ qwen2.5-7b-instruct-q4_k_m.gguf \ --local-dir ./models

这种方式的优势是支持断点续传,大文件下载更稳定。

6. 用 llama-cli 跑起第一次对话

6.1 基本命令

./build/bin/llama-cli \ -m models/qwen2.5-7b-instruct-q4_k_m.gguf \ -p "你好,请用一段话介绍一下你自己。" \ -n 128

参数含义:

  • -m:指定 GGUF 模型文件路径。
  • -p:输入提示词。
  • -n:生成的最大 token 数,这里限制为 128。
  • -c:上下文长度,建议设置为 2048 或 4096,默认可能是 512,输出长文本时会被截断。
  • -t:CPU 线程数,建议和 CPU 物理核心数一致。
  • -ngl:将多少层放入 GPU,例如-ngl 99表示尽量全放 GPU。
  • --temp:生成的随机性,0.7 是比较常用的对话取值。

一个更完整的命令:

./build/bin/llama-cli \ -m models/qwen2.5-7b-instruct-q4_k_m.gguf \ -p "你好,请自我介绍一下。" \ -n 256 \ -c 4096 \ -t 8 \ --temp 0.7

6.2 进入交互式对话

如果你不希望每次都是单轮对话,而是想进入持续互动模式,可以不加-p直接启动:

./build/bin/llama-cli \ -m models/qwen2.5-7b-instruct-q4_k_m.gguf \ -c 4096 \ -t 8 \ --temp 0.7

启动后会显示模型信息,然后出现交互式输入句柄。这时候你可以和模型持续多轮对话,输入问题按回车,模型就会生成回复。

退出交互模式的方式是输入/exit或按 Ctrl+C。如果是通过管道命令运行,结束后会直接返回。

6.3 加载速度和生成速度怎么看

启动时的日志里会显示模型加载时间和 token 生成速度。单位通常是tok/s,代表每秒生成 token 数。7B Q4 量化模型在 Apple Silicon Mac 上可以跑到 20-40 tok/s,在普通 8 核 CPU 上大概 5-15 tok/s,体验都还可以。如果只有个位数 tok/s,可能需要注意线程数或量化档位。

7. 启动 OpenAI 兼容的 API Server

单机命令行对话只能自己玩。实际项目里,你需要把模型能力暴露成 HTTP 接口给其他应用调用。llama.cpp 的llama-server就是干这个的。

7.1 启动服务

./build/bin/llama-server \ -m models/qwen2.5-7b-instruct-q4_k_m.gguf \ -c 8192 \ -t 8 \ --host 127.0.0.1 \ --port 8080

启动成功后,日志最后会出现类似信息:

listening on http://127.0.0.1:8080

默认只监听本机地址,不要轻易改成0.0.0.0。如果确实需要局域网内其他机器访问,请确保在可信内网环境,并在前面增加认证或防火墙策略。

7.2 使用 curl 测试接口

llama-server 提供的接口路径是/v1/chat/completions,格式与 OpenAI 的 Chat Completions 接口完全一致。

curl http://127.0.0.1:8080/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "qwen2.5-7b-instruct", "messages": [ {"role": "system", "content": "你是一个乐于助人的中文助手。"}, {"role": "user", "content": "请用三句话解释量子计算。"} ], "temperature": 0.7, "max_tokens": 256 }'

响应结构中的choices[0].message.content就是模型生成的文本。

7.3 Python 调用示例

这是本地部署最有价值的场景:你完全可以用 OpenAI 相关的 Python SDK 或 requests 来调用本地模型,而无需修改太多代码。

# 文件路径:test_local_llm.py import requests url = "http://127.0.0.1:8080/v1/chat/completions" payload = { "model": "qwen2.5-7b-instruct", "messages": [ {"role": "system", "content": "你是一个严谨的技术助手。"}, {"role": "user", "content": "请解释什么是 GGUF 格式,以及它和 GGML 的区别。"} ], "temperature": 0.7, "max_tokens": 512 } resp = requests.post(url, json=payload) data = resp.json() print(data["choices"][0]["message"]["content"])

运行方式:

python test_local_llm.py

如果你已经在用 OpenAI 官方 SDK,只需要替换base_url指向本地地址即可:

from openai import OpenAI client = OpenAI( base_url="http://127.0.0.1:8080/v1", api_key="not-needed" ) resp = client.chat.completions.create( model="qwen2.5-7b-instruct", messages=[{"role": "user", "content": "讲一个技术冷笑话"}], temperature=0.7 ) print(resp.choices[0].message.content)

这意味着你基于 OpenAI 接口写的 Agent、RAG、批量生成脚本,都可以无缝切换到本地模型上。

7.4 接入现有开源项目

由于 llama-server 兼容 OpenAI 接口,很多开源项目,比如知识库问答系统(RAG)、Agent 框架、自动化评测工具,都可以直接把它作为模型后端。配置项里填写base_url为 llama-server 地址,模型名填写你的 GGUF 文件名,即可完成对接。这是本地部署最实用、最常用的接入方式。

8. 性能调优与内存计算

很多人跑起来大模型以后,第一反应是“为什么这么慢”。模型推理性能受多个因素影响,下面逐个拆解。

8.1 GPU 层数:最容易立竿见影的参数

-ngl参数决定多少层在 GPU 上计算。如果你有 NVIDIA 显卡或 Apple Silicon Mac,尽量把层数拉高。例如一个 7B 模型有 28 层左右,-ngl 30就可以把所有层放到 GPU。显卡显存不够时,可以只放部分层,例如-ngl 20,剩下 8 层交给 CPU。

注意事项:-ngl的数值并不是越大越好。显存不足时,系统会抛出分配内存失败的错误,你需要降低该值或减小-c上下文长度。

8.2 上下文长度:显存和内存杀手

上下文长度-c决定模型能“记住”多少历史对话。它越大,模型能看到的上下文越多,但 KV Cache 占用也就越大。

KV Cache 的大小取决于模型结构和上下文长度。粗略估算,一个 7B 模型的 KV Cache 在上下文 4096 时大约占 0.5GB 到 1GB,上下文 32768 时可能到 4GB 以上。这也是为什么很多人调大-c之后,程序突然内存不足的原因。

建议做法是:先按业务需求确定上下文长度,再用-c 4096起步测试,观察内存占用量,再逐步增大。

8.3 线程数:CPU 推理的关键调优

-t指定 CPU 线程数。设置为物理核心数比较合适。线程过少会浪费 CPU 性能,线程过多会导致上下文切换开销增大,反而变慢。

在 Linux 上可以这样查看核心数:

nproc

如果你的 CPU 是 8 核,-t 8是一个常见选择。

8.4 内存锁定

--mlock参数可以把模型权重锁定在内存中,禁止换入交换分区,从而换取更稳定的生成速度。代价是内存必须足够大,否则程序会启动失败。

./build/bin/llama-cli \ -m models/qwen2.5-7b-instruct-q4_k_m.gguf \ -c 4096 \ -t 8 \ --mlock

当内存充足时,这个参数对速度提升有帮助;内存不足时不要开启。

8.5 并发请求参数

新版 llama-server 支持-np(parallel slots)参数设置并发槽位数。默认是 1,即同一时间只能处理一个请求。如果你希望支持多个用户同时调用,可以适当调大,例如-np 4。但是并发槽位会成倍增加 KV Cache 显存占用,需要结合硬件情况谨慎调整。

9. 常见问题与排查方法

本地部署大模型的过程中,新手最容易踩的问题集中在编译、内存、模型文件三个方向。下面的排查表按“现象 -> 原因 -> 解决”的顺序组织,方便你按需查阅。

问题现象可能原因排查方式解决方案
编译失败,提示 CMake 版本过低系统 CMake 版本太旧执行cmake --version通过 Homebrew/apt 升级 CMake 到 3.20+
启动时内存不足模型过大或上下文过长查看日志中 KV Cache 分配信息换更小的量化档位,或降低-c参数
加载慢或生成极慢大模型在纯 CPU 上运行查看日志是否有 GPU 加速信息开启 Metal/CUDA 编译,增加-ngl
中文输出乱码终端编码不是 UTF-8检查 locale 设置设置终端编码为 UTF-8
请求 API 连接失败服务没有启动或端口被占用执行curl http://127.0.0.1:8080/health检查服务运行状态,或改用其他端口
提示模型无法加载GGUF 文件损坏或不完整检查文件大小和 sha256重新下载,用 huggingface-cli 下载保证完整性
显存不足量化档位偏大或上下文过长查看 CUDA 显存占用降低量化档位,调小-c
生成内容质量差量化损失大或提示词不合适对比同模型 F16 效果换 Q5_K_M/Q8_0,或优化 System Prompt
第一次输出的 token 很慢模型权重要从磁盘加载到内存观察日志加载耗时换 SSD 或使用--mlock锁定内存

特别提醒一下:如果你的模型文件来源不明,或者是从第三方网盘下载的.gguf,建议先确认文件尺寸,再检查模型的lm_eval得分或实际生成质量。GGUF 文件本身没有数字签名机制,对安全敏感的场景,尽量从模型官方仓库或可信镜像下载。

10. 本地部署的最佳实践与工程建议

10.1 安全与合规

本地部署不是“本地了就绝对安全”。在工程上需要注意:

  • 不把 llama-server 直接暴露到公网。默认监听127.0.0.1是最稳妥的。如果需要内网其他机器访问,应在前面加反向代理并配置 API Key 认证。
  • 模型许可协议要看清。Qwen、Llama 等模型的许可证不同,商用场景必须检查各自的开源协议是否允许商用、是否要求保留版权声明。
  • 不处理超出模型许可范围的敏感数据。即使是本地部署,也要遵守内部数据安全规范,不要认为“本地”就等于“完全合规”。

10.2 模型与配置管理

建议所有模型文件统一放在models目录,并在模型文件旁准备README.md记录来源、量化档位、许可证、下载时间。多人协作时,模型文件这种动不动几个 GB 的大文件不要提交进 Git 仓库,用单独的模型目录管理。

配置文件建议写成一个启动脚本,方便复用。例如创建一个run_server.sh

#!/usr/bin/env bash MODEL_PATH=./models/qwen2.5-7b-instruct-q4_k_m.gguf HOST=127.0.0.1 PORT=8080 CTX=8192 THREADS=8 ./build/bin/llama-server \ -m "${MODEL_PATH}" \ -c "${CTX}" \ -t "${THREADS}" \ --host "${HOST}" \ --port "${PORT}"

每次启动都手写一堆参数,很容易出错,用脚本固化下来既稳定又省心。

10.3 日志与监控

llama-server 默认会打印请求日志。对于开发验证阶段,这足够了。如果接入实际业务,建议:

  • 把日志重定向到文件,例如nohup ./run_server.sh > server.log 2>&1 &
  • 监控内存和显存占用,避免长时间运行后内存持续增长。
  • 记录每个请求的输入输出,方便问题回溯。这里要注意,记录输入输出本身也可能涉及隐私数据,需要根据合规要求决定是否记录以及保留多久。

10.4 版本升级策略

llama.cpp 迭代很快,新版本通常会优化推理速度、修复内存问题。但不要在生产环境看到更新就立刻升级。

更稳妥的做法是:

  1. 在测试环境跑一遍原有模型的完整测试集。
  2. 对比新旧版本的生成质量和速度。
  3. 确认没有引入兼容性回归后再升级。

如果你的 GGUF 文件是旧版本生成的,升级 llama.cpp 后可能需要重新用llama-quantize转换一次,因为 GGUF 格式规范在早期迭代中发生过变更。

10.5 从“能跑”走向“好用”

本地部署大模型只是第一步。实际项目中,绝大多数有价值的应用都需要在模型之外补齐能力:

  • RAG(检索增强生成):把私有知识库导入向量数据库,在调用大模型之前先检索相关文档,再拼进 Prompt。这是目前最适合本地部署的应用方向之一。
  • Agent 工具调用:通过 OpenAI 兼容接口的 function calling 能力,让模型自动调用本地 API、数据库、脚本。
  • 模型微调:当 Prompt 工程无法满足垂直领域效果时,可以考虑基于开源模型做 LoRA 微调。

llama.cpp 的生态位是“推理引擎”,它能稳定地承载以上应用,但不会替你完成这些业务逻辑。这也是本地部署真正值钱的地方:你掌握的不是一个模型,而是一套可以自由组合的 AI 基础设施。

11. 总结与下一步实践路径

这篇教程把 llama.cpp 本地部署大模型从原理到实战完整讲了一遍。你可以回忆一下,现在你应该已经能够完成这些事情:

  • 理解 llama.cpp 是什么、GGUF 格式与量化为什么重要。
  • 在自己的电脑上编译 llama.cpp,支持 CPU、Metal 或 CUDA。
  • 下载 Qwen 等开源模型的 GGUF 文件。
  • llama-cli跑起命令行对话。
  • llama-server启动 OpenAI 兼容 API,并用 Python 调用。
  • 定位常见的启动失败、显存不足、中文乱码等问题。

如果你的电脑配置有限,建议先从 Qwen2.5-7B 的 Q4_K_M 量化版开始。这个组合在 16GB 内存的笔记本上就能顺利运行,是目前社区里最稳的“入门不翻车”组合。

如果已经跑通 7B 模型,下一步可以根据自己的兴趣选择探索方向:

  1. 接入 Dify、FastGPT 这类开源平台,做知识库问答应用。
  2. llama-quantizellama-perplexity做模型量化与质量评估,理解不同量化档位的差异。
  3. 尝试用llama-server的 embedding 和 rerank 能力,构建完整的本地 RAG 方案。
  4. 把本地模型接入 Agent 框架,测试 function calling 实际效果。

本地部署大模型这件事,真正难的不是“跑起来”,而是跑起来之后把它用出价值。希望这篇文章能帮你迈过第一道坎,后续的路就好走了。建议先收藏备用,动手实践时对照着操作,比反复搜索零散教程高效得多。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/1 22:45:49

金山办公校招笔试全解析:从KMP算法到大数据技术栈备考指南

1. 试卷定位:一场针对工程落地能力的综合筛选金山办公2020校招大数据和机器学习算法笔试题(二),从题目设置来看,这场考试并不是单纯考察“背公式”或“刷 LeetCode”,而是试图在有限时间内判断候选人三件事…

作者头像 李华
网站建设 2026/9/1 22:43:42

2026前端面试高频题复盘:React/Vue/微前端与性能优化核心考点

1. 为什么要在5月底整理这份前端面经:跳槽窗口的观察与复盘5月28号,我把自己近一个多月攒下的前端面试记录从头到尾过了一遍,理出这份面经。过去这段时间我一直有随手记录面试题的习惯,不管是自己面还是帮朋友复盘,都会…

作者头像 李华
网站建设 2026/9/1 22:40:25

校招服务端笔试全解析:从选择题到编程题的高频考点与实战策略

1. 试卷整体拆解:校招服务端笔试题到底在考什么先说点实在的。服务端开发这个岗位,每年校招笔试筛人比例都很高,金山办公这套卷子基本能代表国内一线互联网和软件公司服务端岗的出题风格。我做这套题已经是好几年前的事了,但回看它…

作者头像 李华
网站建设 2026/9/1 22:39:12

图像标注实战:基于CNN+LSTM+注意力机制的NLP大作业全解析

简介:本资源是一份面向高校自然语言处理课程学习者的高分期末大作业项目,聚焦图像标注这一典型多模态任务,完整实现从图像特征提取、文本生成到前后端交互的全流程。资源包含86个文件,主体为19个带详细注释的Python源码&#xff0…

作者头像 李华
网站建设 2026/9/1 22:35:41

爱奇艺测试开发笔试题深度解析:从考点到实战备考指南

1. 写在前面:为什么2020年的题现在还有研究价值刷到这份“爱奇艺2020校招测试开发方向笔试题(第一场)”的时候,我愣了一下。六年前的题了,我居然还存着当年整理的考点笔记,翻出来一看,发现一个有…

作者头像 李华