使用 Ollama 和 llama.cpp 运行本地模型
Ollama 让运行 LLM 像执行“docker run”一样简单;llama.cpp 则通过量化和直接的 C++ 控制提供更深入的能力。
使用 Ollama 和 llama.cpp 运行本地模型 是 CoddyKit 上的免费 AI Agents 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 AI Agents 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 AI Agents 课程共包含 4 节课。
本课时的部分内容尚未翻译,以英文显示。
两种简单方案
如果要在工作站或服务器上自托管开放模型:
- Ollama——最简单,为大语言模型提供类似 Docker 的使用体验
- llama.cpp——更接近底层,控制力更强,占用空间更小
Ollama Quick Start
# Install (macOS):
brew install ollama
# Pull a model:
ollama pull llama3.1:8b
# Run interactively:
ollama run llama3.1:8b 'Hello'
# Serve via HTTP (OpenAI-compatible):
ollama serveCalling Ollama Via SDK
from openai import OpenAI
client = OpenAI(base_url='http://localhost:11434/v1', api_key='ollama')
response = client.chat.completions.create(
model='llama3.1:8b',
messages=[{'role': 'user', 'content': 'Hello'}]
)
print(response.choices[0].message.content)Ollama 工具调用
Ollama 支持兼容模型的工具调用(Llama 3.1+、Mistral、Qwen 2.5):
tools = [{'type': 'function', 'function': {...}}]
response = client.chat.completions.create(
model='llama3.1:8b',
messages=messages,
tools=tools
)llama.cpp 基础
llama.cpp 是一个 C++ 实现,可以在 CPU、GPU 或 Metal(Apple Silicon)上运行 ANY GGUF 格式模型:
# Build (or install pre-built):
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp && make
# Run a quantized model:
./llama-cli -m models/llama-3.1-8b-instruct.Q4_K_M.gguf -p 'Hello'Server Mode
./llama-server -m models/llama-3.1-8b-instruct.Q4_K_M.gguf --port 8080
# Now OpenAI-compatible endpoint at http://localhost:8080/v1量化
4 位量化(Q4_K_M)可以让您使用约 5GB 的 RAM 运行一个“16GB”模型,同时质量损失很小。请先尝试 Q4;对于质量要求高的任务,可以提高到 Q5、Q6 或 Q8。
硬件要求
| 模型 | RAM Q4 | VRAM Q4 |
|---|---|---|
| 7-8B | ~6 GB | ~6 GB |
| 13B | ~10 GB | ~10 GB |
| 70B | ~40 GB | ~40 GB |
Apple Silicon 的统一内存让大型本地模型变得出人意料地实用。
vLLM:吞吐量优先
对于高并发的生产环境服务,请使用 vLLM(PagedAttention、连续批处理):
# pip install vllm
from vllm import LLM, SamplingParams
llm = LLM(model='meta-llama/Llama-3.1-8B-Instruct')
params = SamplingParams(temperature=0.2, max_tokens=512)
result = llm.generate(['Hello world'], params)文本生成推理(TGI)
HuggingFace TGI 是另一个用于生产环境的服务器,并且对工具使用提供了良好支持。
服务器对比
- Ollama——使用体验最佳,提供简单的 CLI/HTTP,适合开发
- llama.cpp——最轻量,可以在任何地方运行
- vLLM——吞吐量最高,仅支持 GPU
- TGI——集成 HuggingFace,支持监控
何时自托管
- 隐私要求严格
- 调用量非常高(成本拐点约为每天 1000 万个令牌)
- 使用经过微调的模型
- 边缘或离线场景
何时 NOT 自托管
- 调用量较小的个人项目(托管服务更便宜)
- 需要前沿推理质量
- 多模态任务
OpenAI 兼容端点
对于本地模型来说,采用 OpenAI 兼容端点约定有什么好处?
回顾
开发时使用 Ollama 以获得简单体验,追求可移植性时使用 llama.cpp,生产环境追求吞吐量时使用 vLLM。它们都提供 OpenAI 风格的 API,因此无需修改代码即可切换。
常见问题解答
「使用 Ollama 和 llama.cpp 运行本地模型」课时是免费的吗?
是的 — 「使用 Ollama 和 llama.cpp 运行本地模型」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 AI Agents 课程的其余内容,请升级到 CoddyKit PRO。 AI Agents 课程共包含 4 节课。
「使用 Ollama 和 llama.cpp 运行本地模型」这节课中我会学到什么?
Ollama 让运行 LLM 像执行“docker run”一样简单;llama.cpp 则通过量化和直接的 C++ 控制提供更深入的能力。 你通过在浏览器中直接运行的动手代码来练习 AI Agents,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 AI Agents 需要有经验吗?
无需任何先前经验。CoddyKit 上的 AI Agents 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「使用 Ollama 和 llama.cpp 运行本地模型」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 AI Agents 课中编写并运行代码吗?
能。每节 AI Agents 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- Llama、Mistral 与 Qwen 概览
- 使用 Ollama 和 llama.cpp 运行本地模型
- 支持函数调用的开放模型(Hermes、Functionary)
- 取舍:延迟、成本、能力