文章目录
- 官网:https://ollama.com/ 安装简单,提供 CLI 和 WebUI,适合初学者和开发者。支持量化技术降低内存占用,适合普通硬件、支持 Linux、macOS 和 Windows、支持大部分主流模型。但是 Ollama 并发性能不如 vLLM。
- 官网:https://vllm.ai/ vLLM 是一个高效的大模型推理和服务引擎,在多 GPU 环境下性能表现优异,更适合大规模在线推理服务。但是 vLLM 的部署复杂度较高,需要一定的技术基础,主要面向 Linux,跨平台支持有限。
- 官网:https://localai.io/ LocalAI 和 Ollama 相似,是一个轻量级的本地大模型服务框架,开箱即用,无需复杂配置。但是性能优化不如 vLLM 和 Ollama,并且功能较少,比如不支持多线程加速等。
- 下载并安装 Ollama: curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz sudo tar -C /usr -xzf ollama-linux-amd64.tgz 创建 Ollama 专用用户: sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama sudo usermod -a -G ollama $(whoami) 创建 Ollama 模型存储目录: mkdir /data/ollama/models chown -R ollama.ollama /data/ollama/ 创建 Ollama 启动 Service: [Unit] Description=Ollama Service After=network-online.target [Service] ExecStart=/usr/bin/ollama serve User=ollama Group=ollama Restart=always RestartSec=3 Environment=”OLLAMA_HOST=0.0.0.0:11434″ Environment=”OLLAMA_MODELS=/data/ollama/models” [Install] WantedBy=default.target 将上述配置保存到 /etc/systemd/system/ollama.service 启动 Ollama 服务: systemctl daemon-reload systemctl enable –now ollama 查看启动状态: systemctl status ollama 预期输出: ● ollama.service – Ollama Service Loaded: loaded (/etc/systemd/system/ollama.service; enabled; vendor preset: disabled) Active: active (running) since … 测试端口: curl 127.0.0.1:11434 预期输出: Ollama is running
- 下载模型 ollama pull deepseek-r1:1.5b 输出示例: pulling manifestpulling aabd4debf0c8… 100% ▕██████████████████████████████████████████████████████████████████████████▏ 1.1 GBpulling 369ca498f347… 100% ▕██████████████████████████████████████████████████████████████████████████▏ 387 Bpulling 6e4c38e1172f… 100% ▕██████████████████████████████████████████████████████████████████████████▏ 1.1 KBpulling f4d24e9138dd… 100% ▕██████████████████████████████████████████████████████████████████████████▏ 148 Bpulling a85fe2a2e58e… 100% ▕██████████████████████████████████████████████████████████████████████████▏ 487 Bverifying sha256 digestwriting manifestsuccess 查看本地模型列表 ollama list 输出示例: NAME ID SIZE MODIFIEDdeepseek-r1:1.5b a42b25d8c10a 1.1 GB 3 minutes agophi:latest e2fd6321a5fe 1.6 GB 27 minutes ago 查看模型详情 ollama show deepseek-r1:1.5b 输出示例: architecture qwen2 parameters 1.8B context length 131072 embedding length 1536 quantization Q4_K_M Parameters stop "<|begin▁of▁sentence|>" stop "<|end▁of▁sentence|>" stop "<|User|>" stop "<|Assistant|>" License MIT License Copyright (c) 2023 DeepSeek 启动一个模型并进入交互模式 ollama run phi 交互示例: >>> who are you?I am Phi, a large language model trained by Microsoft. I'm here to help you with any questions or tasks you have. What can I assist you with today? 查看当前正在运行的模型 ollama ps 输出示例: NAME ID SIZE PROCESSOR UNTILphi:latest e2fd6321a5fe 5.4 GB 100% GPU 4 minutes from nowdeepseek-r1:1.5b a42b25d8c10a 2.0 GB 100% GPU About a minute from now 停止一个运行中的模型 ollama stop phi:latest 停止后再次查看: ollama ps 输出示例: NAME ID SIZE PROCESSOR UNTILdeepseek-r1:1.5b a42b25d8c10a 2.0 GB 100% GPU 17 seconds from now 删除一个本地模型 ollama rm phi:latest 输出示例: deleted 'phi:latest' 删除后再次查看: ollama list 输出示例: NAME ID SIZE MODIFIEDdeepseek-r1:1.5b a42b25d8c10a 1.1 GB 42 hours ago
- 注意:Ollama WebUI 需要使用 Docker 启动,如果服务器没有安装 Docker,需要先安装 Docker。 创建数据目录: mkdir -p /data/ollama/webui 直接使用 docker 部署即可: docker run -d -p 3000:8080 -e ENABLE_OPENAI_API=false -e OLLAMA_BASE_URL=http://[OLLAMA_HOST]:11434 -e HF_HUB_OFFLINE=1 -v /data/ollama/models:/root/.ollama -v /data/ollama/webui:/app/backend/data –name open-webui –restart always ghcr.io/open-webui/open-webui:main 启动后通过宿主机的 3000 端口访问即可。
- 启动 Ollama 服务端: ollama serve 使用自定义端口启动: OLLAMA_HOST=0.0.0.0:11435 ollama serve 常用环境变量: 环境变量 说明 默认值 OLLAMA_DEBUG 启用调试模式,设置为 1 表示开启 – OLLAMA_HOST 指定 Ollama 服务绑定的 IP 地址和端口 127.0.0.1:11434 OLLAMA_KEEP_ALIVE 设置模型在内存中保持加载的时间 5m OLLAMA_MAX_LOADED_MODELS 限制每块 GPU 上同时加载的最大模型数量 – OLLAMA_MAX_QUEUE 设置请求队列的最大长度,超过限制新请求会被拒绝 – OLLAMA_MODELS 指定模型文件存储的目录路径 ~/.ollama/models OLLAMA_NUM_PARALLEL 限制同时处理的最大并行请求数 – OLLAMA_NOPRUNE 禁用启动时模型清理操作 – OLLAMA_ORIGINS 指定允许跨域访问的来源列表(逗号分隔) – OLLAMA_SCHED_SPREAD 强制将模型调度到所有可用 GPU 上,均匀分布 – OLLAMA_FLASH_ATTENTION 启用 Flash Attention 技术,硬件不支持可能报错 – OLLAMA_KV_CACHE_TYPE 指定 K/V 缓存的量化类型 f16 OLLAMA_GPU_OVERHEAD 预留显存,防止其他进程因显存不足而崩溃 – OLLAMA_LOAD_TIMEOUT 设置模型加载的最大超时时间(分钟) 5m
目录
- Ollama介绍和特性
- Ollama与其它工具对比
- Ollama
- vLLM
- LocalAI
- Ollama安装部署
- Linux 手动安装 Ollama
- Ollama 常用命令详解
- Ollama WebUI 部署
- Ollama 服务端常用配置
- 限制使用指定GPU
Ollama是一个轻量级、易于使用的大模型管理和部署工具,主要用于简化大模型的运行和交互。并且为开发者和用户提供了快速加载、管理和调用多种主流大模型的能力,同时支持本地化部署各类大模型。
核心特点:
- ✓ 轻量化设计:Ollama体积小巧,安装简单,适合个人开发者和小型团队
- ✓ 多模型支持:支持多种主流大模型,如Llama系列、Qwen系列、Deepseek系列等
- ✓ 资源优化:通过量化技术降低模型显存占用,减少对高性能GPU的依赖
- ✓ 易用性:提供命令行工具和图形化界面,方便用户操作
- ✓ 扩展性强:可以与其他工具(如 Kubernetes、Docker)结合,实现分布式部署和管理
官网:https://ollama.com/
安装简单,提供 CLI 和 WebUI,适合初学者和开发者。支持量化技术降低内存占用,适合普通硬件、支持 Linux、macOS 和 Windows、支持大部分主流模型。但是 Ollama 并发性能不如 vLLM。
官网:https://vllm.ai/
vLLM 是一个高效的大模型推理和服务引擎,在多 GPU 环境下性能表现优异,更适合大规模在线推理服务。但是 vLLM 的部署复杂度较高,需要一定的技术基础,主要面向 Linux,跨平台支持有限。
官网:https://localai.io/
LocalAI 和 Ollama 相似,是一个轻量级的本地大模型服务框架,开箱即用,无需复杂配置。但是性能优化不如 vLLM 和 Ollama,并且功能较少,比如不支持多线程加速等。
下载并安装 Ollama:
curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz sudo tar -C /usr -xzf ollama-linux-amd64.tgz
创建 Ollama 专用用户:
sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama sudo usermod -a -G ollama $(whoami)
创建 Ollama 模型存储目录:
mkdir /data/ollama/models chown -R ollama.ollama /data/ollama/
创建 Ollama 启动 Service:
[Unit] Description=Ollama Service After=network-online.target [Service] ExecStart=/usr/bin/ollama serve User=ollama Group=ollama Restart=always RestartSec=3 Environment="OLLAMA_HOST=0.0.0.0:11434" Environment="OLLAMA_MODELS=/data/ollama/models" [Install] WantedBy=default.target
将上述配置保存到 /etc/systemd/system/ollama.service
启动 Ollama 服务:
systemctl daemon-reload systemctl enable --now ollama
查看启动状态:
systemctl status ollama
预期输出:
● ollama.service - Ollama Service Loaded: loaded (/etc/systemd/system/ollama.service; enabled; vendor preset: disabled) Active: active (running) since ...
测试端口:
curl 127.0.0.1:11434
预期输出:
Ollama is running
下载模型
ollama pull deepseek-r1:1.5b
输出示例:
pulling manifest
pulling aabd4debf0c8… 100% ▕██████████████████████████████████████████████████████████████████████████▏ 1.1 GB
pulling 369ca498f347… 100% ▕██████████████████████████████████████████████████████████████████████████▏ 387 B
pulling 6e4c38e1172f… 100% ▕██████████████████████████████████████████████████████████████████████████▏ 1.1 KB
pulling f4d24e9138dd… 100% ▕██████████████████████████████████████████████████████████████████████████▏ 148 B
pulling a85fe2a2e58e… 100% ▕██████████████████████████████████████████████████████████████████████████▏ 487 B
verifying sha256 digest
writing manifest
success
查看本地模型列表
ollama list
输出示例:
NAME ID SIZE MODIFIED
deepseek-r1:1.5b a42b25d8c10a 1.1 GB 3 minutes ago
phi:latest e2fd6321a5fe 1.6 GB 27 minutes ago
查看模型详情
ollama show deepseek-r1:1.5b
输出示例:
architecture qwen2
parameters 1.8B
context length 131072
embedding length 1536
quantization Q4_K_MParameters
stop "<|begin▁of▁sentence|>"
stop "<|end▁of▁sentence|>"
stop "<|User|>"
stop "<|Assistant|>"License
MIT License
Copyright (c) 2023 DeepSeek
启动一个模型并进入交互模式
ollama run phi
交互示例:
>>> who are you?
I am Phi, a large language model trained by Microsoft. I'm here to help you with any questions or tasks you have. What can I assist you with today?
查看当前正在运行的模型
ollama ps
输出示例:
NAME ID SIZE PROCESSOR UNTIL
phi:latest e2fd6321a5fe 5.4 GB 100% GPU 4 minutes from now
deepseek-r1:1.5b a42b25d8c10a 2.0 GB 100% GPU About a minute from now
停止一个运行中的模型
ollama stop phi:latest
停止后再次查看:
ollama ps
输出示例:
NAME ID SIZE PROCESSOR UNTIL
deepseek-r1:1.5b a42b25d8c10a 2.0 GB 100% GPU 17 seconds from now
删除一个本地模型
ollama rm phi:latest
输出示例:
deleted 'phi:latest'
删除后再次查看:
ollama list
输出示例:
NAME ID SIZE MODIFIED
deepseek-r1:1.5b a42b25d8c10a 1.1 GB 42 hours ago
注意:Ollama WebUI 需要使用 Docker 启动,如果服务器没有安装 Docker,需要先安装 Docker。
创建数据目录:
mkdir -p /data/ollama/webui
直接使用 docker 部署即可:
docker run -d -p 3000:8080 -e ENABLE_OPENAI_API=false -e OLLAMA_BASE_URL=http://[OLLAMA_HOST]:11434 -e HF_HUB_OFFLINE=1 -v /data/ollama/models:/root/.ollama -v /data/ollama/webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
启动后通过宿主机的 3000 端口访问即可。
启动 Ollama 服务端:
ollama serve
使用自定义端口启动:
OLLAMA_HOST=0.0.0.0:11435 ollama serve
常用环境变量:
| 环境变量 | 说明 | 默认值 |
|---|---|---|
OLLAMA_DEBUG |
启用调试模式,设置为 1 表示开启 |
– |
OLLAMA_HOST |
指定 Ollama 服务绑定的 IP 地址和端口 | 127.0.0.1:11434 |
OLLAMA_KEEP_ALIVE |
设置模型在内存中保持加载的时间 | 5m |
OLLAMA_MAX_LOADED_MODELS |
限制每块 GPU 上同时加载的最大模型数量 | – |
OLLAMA_MAX_QUEUE |
设置请求队列的最大长度,超过限制新请求会被拒绝 | – |
OLLAMA_MODELS |
指定模型文件存储的目录路径 | ~/.ollama/models |
OLLAMA_NUM_PARALLEL |
限制同时处理的最大并行请求数 | – |
OLLAMA_NOPRUNE |
禁用启动时模型清理操作 | – |
OLLAMA_ORIGINS |
指定允许跨域访问的来源列表(逗号分隔) | – |
OLLAMA_SCHED_SPREAD |
强制将模型调度到所有可用 GPU 上,均匀分布 | – |
OLLAMA_FLASH_ATTENTION |
启用 Flash Attention 技术,硬件不支持可能报错 | – |
OLLAMA_KV_CACHE_TYPE |
指定 K/V 缓存的量化类型 | f16 |
OLLAMA_GPU_OVERHEAD |
预留显存,防止其他进程因显存不足而崩溃 | – |
OLLAMA_LOAD_TIMEOUT |
设置模型加载的最大超时时间(分钟) | 5m |
默认情况下,Ollama 可以使用所有可用 GPU 进行模型推理。如果需要限制 Ollama 只能使用特定的 GPU,可以通过 CUDA_VISIBLE_DEVICES 环境变量进行控制。
例如,限制 Ollama 只能使用 0 和 1 两个 GPU,编辑 /etc/systemd/system/ollama.service:
[Unit] Description=Ollama Service After=network-online.target [Service] ExecStart=/usr/bin/ollama serve User=ollama Group=ollama Restart=always RestartSec=3 Environment="OLLAMA_HOST=0.0.0.0:11434" Environment="OLLAMA_MODELS=/data/ollama/models" Environment="CUDA_VISIBLE_DEVICES=0,1" [Install] WantedBy=default.target
修改完成后,重新加载配置并重启 Ollama 服务:
systemctl daemon-reload systemctl restart ollama
进阶说明
如果你的系统中搭载了多张英伟达显卡,且希望限制 Ollama 仅使用其中部分显卡,可将 CUDA_VISIBLE_DEVICES 设置为以逗号分隔的显卡列表。
- 使用数字编号:可以直接使用数字编号作为显卡标识,但编号顺序可能会发生变化
- 使用 UUID(推荐):使用 UUID 更为可靠,不会因硬件变更而改变
查看显卡的 UUID:
nvidia-smi -L
强制使用 CPU 运算:如果想忽略显卡并强制 Ollama 使用 CPU 运算,可输入无效的显卡编号,例如:
Environment="CUDA_VISIBLE_DEVICES=-1"
到此这篇关于Ollama本地大模型安装配置的完整流程教学的文章就介绍到这了,更多相关Ollama本地大模型安装配置内容请搜索风君子博客以前的文章或继续浏览下面的相关文章,希望大家以后多多支持风君子博客!