文章目录
一、Ollama 是什么?
Ollama 是一个开源的 本地大语言模型(LLM)运行框架,支持在个人电脑上快速部署和运行各类大模型(如 Llama3、DeepSeek-R1、Gemma3、Qwen系列等)。
1.1 核心优势
✅ 一键下载运行:无需复杂配置,一条命令启动模型
✅ 多平台支持:Windows/macOS/Linux 全兼容
✅ 模型量化:支持 4-bit/8-bit 量化,降低硬件需求
✅ 开放生态:可对接 OpenWebUI、LangChain 等工具
二、安装教程
以Ubuntu 24.04 为例
2.1 一键安装
curl -fsSL https://ollama.com/install.sh | sh
- macOS、Windows 用户直接下载 官方应用程序 进行安装
- 安装后自动注册为系统服务,开机自启
- 版本更新也只需重新运行该命令即可
2.2 验证安装
ollama --version # 查看版本
ollama list # 查看已下载模型
2.3 配置镜像加速
# 修改服务配置
sudo vim /etc/systemd/system/ollama.service
# 在 [Service] 部分添加环境变量
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="HF_ENDPOINT=https://hf-mirror.com"
# 重启服务
sudo systemctl daemon-reload
sudo systemctl restart ollama
注意事项:
在使用 Dify
工具接入 Ollama
模型时,可能会出现 Connection refused问题
,此时设置 Environment="OLLAMA_HOST=0.0.0.0:11434"
即可解决,详细内容可查看 接入 Ollama 本地模型。
三、模型管理
3.1 下载模型
# 下载 Llama3 8B 模型(约4.7GB)
ollama pull llama3:8b
# 下载 Qwen3 8B 模型(约5.2GB)
ollama pull qwen3:8b
3.2 运行模型
# 交互式对话
ollama run qwen3:8b
>>> 鲁迅的代表作有哪些?
# 命令行直接提问
ollama run qwen3:8b "用Python写一个冒泡排序"
3.3 删除模型
# 删除指定模型
ollama rm qwen3:8b
四、高级功能
4.1 开放 API 接口
Ollama 默认提供 OpenAI 兼容 API(端口 11434):
curl http://localhost:11434/api/generate -d '{
"model": "qwen3:8b",
"prompt": "你好",
"stream": false
}'
4.2 对接可视化界面
推荐搭配 OpenWebUI:
# 创建虚拟环境
conda create -n openwebui python=3.11 -y && conda activate openwebui
pip install -U open-webui torch transformers
# 运行open-webui
export HF_ENDPOINT=https://hf-mirror.com
export ENABLE_OLLAMA_API=True
export OPENAI_API_BASE_URL=http://127.0.0.1:11434/v1
open-webui serve
注意:
- 通过访问
http://localhost:8080
使用Web界面。 - 不设置
OPENAI_API_BASE_URL
环境变量- 可以通过在 web 界面配置中手动设置 API 地址(
头像
->设置
->外部连接
->+
->URL
->密匙
->保存
) - web 界面左上角选择对应模型即可
- 可以通过在 web 界面配置中手动设置 API 地址(
4.3 导入本地 GGUF 格式模型
4.3.1 使用 llama.cpp 工具将 huggingface 模型转为 GGUF 格式模型
llama.cpp 是一个开源的 LLM 运行框架,支持多种模型格式,包括 GGUF。
# 下载llama.cpp项目
cd ~/workspace/ai/tools && git clone --depth 1 https://github.com/ggml-org/llama.cpp
# 创建虚拟环境
cd llama.cpp && conda create -n llamacpp python==3.10 -y && conda activate llamacpp
# 安装依赖
pip install -r requirements
# 不量化,根据原模型的精度导出,即 f16
python convert_hf_to_gguf.py ~/workspace/ai/models/Qwen/Qwen2.5-1.5B-Instruct-merged --outtype f16 --verbose --outfile ~/workspace/ai/models/Qwen/Qwen2.5-1.5B-Instruct-merged-gguf.gguf
# 量化为 8位
python convert_hf_to_gguf.py ~/workspace/ai/models/Qwen/Qwen2.5-1.5B-Instruct-merged --outtype q8_0 --verbose --outfile ~/workspace/ai/models/Qwen/Qwen2.5-1.5B-Instruct-merged-q80-gguf.gguf
4.3.2 导入模型
-
导入本地通过 llama.cpp 转换的 GGUF 格式模型
# 1. 新建ModelFile文件,将本地GGUF格式文件绝对路径添加到文件中 echo "FROM ~/workspace/ai/models/Qwen/Qwen2.5-1.5B-Instruct-merged-gguf.gguf" >> ModelFile # 2. 创建自定义模型 ollama create qwen2.5:1.5b-Instruct --flie ./ModelFile # 上述1,2步骤可以合并在一起执行 echo "FROM ~/workspace/ai/models/Qwen/Qwen2.5-1.5B-Instruct-merged-gguf.gguf" | \ ollama create qwen2.5:1.5b-instruct-custom --file /dev/stdin # 或者 ollama create qwen2.5:1.5b-instruct-custom-q80 --file /dev/stdin <<EOF FROM ~/workspace/ai/models/Qwen/Qwen2.5-1.5B-Instruct-merged-q80-gguf.gguf EOF
-
导入已下载的本地 GGUF 格式模型
通过 Modelfile 简单配置模型:FROM qwen3:8b PARAMETER temperature 0.7 SYSTEM """ 你是一个专业的中文助手,回答需简洁准确。 """
构建自定义模型:
ollama create my-model -f Modelfile
五、命令说明
5.1 基础命令
命令 | 说明 |
---|---|
ollama pull <模型名> | 下载模型(如 ollama pull qwen3:8b ) |
ollama run <模型名> | 运行模型并进入交互模式 |
ollama list | 查看本地已安装的模型列表 |
ollama rm <模型名> | 删除本地模型 |
5.2 高级命令
命令 | 说明 |
---|---|
ollama create <模型名> -f Modelfile | 通过 Modelfile 自定义模型 |
ollama show <模型名> --modelfile | 查看模型的 Modelfile 配置 |
ollama cp <源模型> <新模型> | 复制模型副本 |
5.3 实用参数
OLLAMA_GPU_MEMORY=4096 ollama serve # 启动服务时限制GPU内存(示例:分配4GB)
OLLAMA_NO_CUDA=1 ollama serve # 指定运行设备(如仅使用CPU)
nohup ollama serve > ollama.log 2>&1 & # 后台运行服务
ollama run qwen3:8b --verbose # 显示详细日志
ollama run qwen3:8b --temperature 0.7 # 设置采样温度
ollama run qwen3:8b --num_ctx 4096 # 调整上下文长度
ollama run qwen3:8b --num-gpu 6144 # 设置GPU显存
5.4 服务控制命令
命令 | 说明 | 示例 |
---|---|---|
ollama serve | 启动 API 服务 | ollama serve |
ollama serve --host 0.0.0.0 | 指定监听所有网络接口 | |
ollama serve --port 12345 | 自定义服务端口 |
5.5 API测试命令
curl http://localhost:11434/api/generate \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3:8b",
"prompt": "用Markdown格式写一篇技术博客",
"temperature": 0.8,
"max_tokens": 1000,
"stream": false
}'
六、总结
Ollama 是当前 最简单高效的本地大模型运行方案,适合:
- 🔍 隐私敏感场景:数据完全本地处理
- 💻 快速原型开发:一键测试不同模型
- 🚀 教育研究用途:低成本体验 LLM 能力
资源推荐: