Ollama 本地部署:零成本跑通本地大模型
本文介绍了如何在本地使用Ollama运行大模型。Ollama是一个免费工具,支持Llama、Qwen等开源模型,无需GPU服务器或API Key。文章对比了本地与云端模型的优缺点,详细说明了安装步骤、模型下载方法及性能调优建议。通过简单的命令行操作,开发者可以快速部署并测试模型,还提供了API调用示例和常见问题解决方案。最后介绍了如何将Ollama集成到ChatCrystal项目中,实现完整的本地
本文面向:想在本地运行大模型的开发者,不需要任何云端 API Key。
预计阅读时间:10 分钟
最终效果:在本机跑通 Ollama,下载并运行大模型,验证可用。
Ollama 是什么
Ollama 是一个本地运行大模型的工具。一行命令就能下载并运行 Llama、Qwen、Mistral 等开源模型,不需要 GPU 服务器,不需要 API Key,完全免费。
为什么用本地模型
| 对比 | 本地(Ollama) | 云端(OpenAI 等) |
|---|---|---|
| 费用 | 完全免费 | 按 token 计费 |
| 隐私 | 数据不出本机 | 需发送到云端 |
| 速度 | 取决于硬件 | 稳定快速 |
| 离线 | 可以 | 不行 |
| 模型选择 | qwen2.5、llama3、mistral 等 | gpt-4o、claude 等 |
| 质量 | 够用,7B 模型接近 GPT-3.5 | 更好 |
前置条件
| 条件 | 说明 |
|---|---|
| 内存 >= 8GB | 7B 模型需要约 5GB 内存 |
| 磁盘 >= 10GB | 模型文件 |
| Node.js >= 20 | node -v 检查版本 |
macOS 用户注意: Apple Silicon (M1/M2/M3) 跑 Ollama 效果很好,比 Intel Mac 快很多。8GB 内存的 M1 跑 7B 模型足够流畅。
第一步:安装 Ollama
macOS / Linux
curl -fsSL https://ollama.com/install.sh | sh
Windows
irm https://ollama.com/install.ps1 | iex
或者去 ollama.com/download 下载安装包,双击安装。
验证安装
ollama --version
# 输出类似:ollama version 0.6.2
第二步:拉取模型
# 通用对话模型(约 4.7GB,首次下载需要几分钟)
ollama pull qwen2.5:7b
# Embedding 模型(约 274MB,用于文本转向量)
ollama pull nomic-embed-text
验证模型下载完成:
ollama list
# 应该看到:
# NAME SIZE
# qwen2.5:7b 4.7 GB
# nomic-embed-text 274 MB
模型选型建议
对话 / 摘要模型:
| 模型 | 大小 | 适合场景 |
|---|---|---|
qwen2.5:3b |
2GB | 内存紧张,质量一般 |
qwen2.5:7b |
4.7GB | 推荐,性价比最高 |
qwen2.5:14b |
9GB | 内存充足,质量更好 |
llama3.1:8b |
4.7GB | 英文为主的场景 |
mistral:7b |
4.1GB | 速度优先 |
Embedding 模型:
| 模型 | 大小 | 说明 |
|---|---|---|
nomic-embed-text |
274MB | 推荐,专为 Embedding 设计,维度 768 |
mxbai-embed-large |
670MB | 更高精度,维度 1024 |
第三步:测试模型
拉取完成后,测试模型能不能正常响应:
ollama run qwen2.5:7b "用一句话解释什么是向量数据库"
正常情况下会输出一段解释。输入 /bye 退出。
如果报错或无响应,检查 Ollama 服务是否在运行:
ollama serve
# 如果提示端口占用,说明已经在运行了,可以忽略
测试 Embedding 模型:
curl http://localhost:11434/api/embeddings -d '{
"model": "nomic-embed-text",
"prompt": "Hello world"
}'
# 应该返回一个很长的浮点数组
第四步:API 调用
Ollama 启动后会在 http://localhost:11434 提供 OpenAI 兼容的 API。
对话 API
curl http://localhost:11434/v1/chat/completions -d '{
"model": "qwen2.5:7b",
"messages": [{"role": "user", "content": "Hello"}]
}'
Embedding API
curl http://localhost:11434/v1/embeddings -d '{
"model": "nomic-embed-text",
"input": "Hello world"
}'
这意味着任何支持 OpenAI API 格式的工具都能直接用 Ollama 作为后端。
性能调优
并发设置
默认 Ollama 只处理一个请求。可以调整:
OLLAMA_NUM_PARALLEL=2 ollama serve
内存警告: 并发数为 2 意味着同时加载两个模型实例,内存占用翻倍。8GB 内存的机器建议保持默认 1。
模型预加载
Ollama 默认在第一次请求时加载模型到内存。如果第一次请求特别慢,可以预先加载:
curl http://localhost:11434/api/generate -d '{"model": "qwen2.5:7b", "keep_alive": "24h"}'
GPU 加速
- NVIDIA GPU: Ollama 自动检测并使用 CUDA
- Apple Silicon: 自动使用 Metal 加速,无需配置
- AMD GPU: Linux 下支持 ROCm
常见问题
“connection refused” 或 “ECONNREFUSED”
Ollama 没有运行。启动它:
ollama serve
模型下载失败 / 速度慢
国内网络可能需要设置代理:
export https_proxy=http://127.0.0.1:7890
ollama pull qwen2.5:7b
“out of memory”
7B 模型在 8GB 内存的机器上比较紧张。尝试用更小的模型:
ollama pull qwen2.5:3b
macOS 上提示 “not supported on this architecture”
确保下载的是 Apple Silicon 版本,不是 Intel 版本。去 ollama.com/download 重新下载。
集成 ChatCrystal
Ollama 安装好后,可以作为 ChatCrystal 的 LLM 和 Embedding 后端。在 ChatCrystal 设置页面填写:
| 字段 | 值 |
|---|---|
| LLM Provider | ollama |
| LLM Model | qwen2.5:7b |
| LLM Base URL | http://localhost:11434 |
| Embedding Provider | ollama |
| Embedding Model | nomic-embed-text |
| Embedding Base URL | http://localhost:11434 |
或者通过环境变量配置:
LLM_PROVIDER=ollama
LLM_MODEL=qwen2.5:7b
LLM_BASE_URL=http://localhost:11434
EMBEDDING_PROVIDER=ollama
EMBEDDING_MODEL=nomic-embed-text
EMBEDDING_BASE_URL=http://localhost:11434
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)