ollama相关
# 一、Ollama 环境变量
* **OLLAMA\_DEBUG**: 显示额外的调试信息(例如:`OLLAMA_DEBUG=1`)
* **OLLAMA\_HOST**: Ollama 服务器的 IP 地址(默认值:`127.0.0.1:11434`)
* **OLLAMA\_CONTEXT\_LENGTH**: 除非另有指定,否则使用的上下文长度(默认值:根据显存大小自动选择 4k/32k/256k)
* **OLLAMA\_KEEP\_ALIVE**: 模型在内存中保持加载状态的持续时间(默认值:`"5m"`,即5分钟)
* **OLLAMA\_MAX\_LOADED\_MODELS**: 每个 GPU 最大可加载的模型数量
* **OLLAMA\_MAX\_QUEUE**: 最大排队请求数
* **OLLAMA\_MODELS**: 模型目录的路径
* **OLLAMA\_NUM\_PARALLEL**: 最大并行请求数
* **OLLAMA\_NOPRUNE**: 启动时不修剪(删除)模型 blob 文件
* **OLLAMA\_ORIGINS**: 允许的来源列表,以逗号分隔(用于跨域设置)
* **OLLAMA\_SCHED\_SPREAD**: 始终在所有 GPU 之间调度模型(负载均衡)
* **OLLAMA\_FLASH\_ATTENTION**: 启用 Flash Attention(一种加速注意力机制计算的技术)
* **OLLAMA\_KV\_CACHE\_TYPE**: K/V 缓存的量化类型(默认值:`f16`,即半精度浮点数)
* **OLLAMA\_LLM\_LIBRARY**: 设置 LLM 库以绕过自动检测
* **OLLAMA\_GPU\_OVERHEAD**: 为每个 GPU 预留一部分显存(单位:字节)
* **OLLAMA\_LOAD\_TIMEOUT**: 允许模型加载停滞的最长时间,超时后放弃加载(默认值:`"5m"`)
# 二、Ollama中**ROCm** 和 **Vulkan** 两种不同的后端技术
* **ROCm** 是 AMD 的“官方”高性能计算平台,类似 NVIDIA 的 CUDA。**如果你用的是较新的 AMD 专业卡或高端游戏卡(且在 Linux 下),首选 ROCm,性能最好。**
* **Vulkan** 是一个跨平台、跨厂商的通用图形/计算 API。**如果你的 AMD 卡在 Windows 上,或者 ROCm 不支持你的显卡型号,亦或是你想在 Intel 核显/独显上运行,Vulkan 是最佳的兼容方案。**
**Ollama 通常会自动检测并选择最佳后端,但你可以根据以下情况判断它是否工作正常,或是否需要强制干预:**
1. **如果你是 Linux 用户 + AMD 高端/新卡 (RX 6800/7900 等):**
* **目标**:使用 ROCm。
* **检查**:运行 `ollama run <model>` 后查看日志,应显示 `offloading to ROCm`。如果显示 `Vulkan`,说明 ROCm 驱动未正确安装或显卡未被 ROCm 官方支持。
* **优势**:获得接近 CUDA 的原生高性能。
2. **如果你是 Windows 用户 + AMD 显卡**:
* **目标**:使用 Vulkan。
* **现状**:这是目前唯一的选择(因为 Windows 版 Ollama 主要靠 Vulkan 支持 AMD)。
* **检查**:日志应显示 `offloading to Vulkan`。性能通常不错,足以流畅运行 7B-70B 量化模型。
3. **如果你是 Intel 显卡用户 (Arc A750/A770 或 新款核显):**
* **目标**:使用 **Vulkan** (或 Intel 专用的 SYCL/OneAPI 后端,如果 Ollama 版本已集成)。
* **现状**:Vulkan 是 Intel 显卡在 Ollama 中最稳定的加速方式。
4. **如果你的 AMD 显卡很老,或者在 Linux 下 ROCm 报错**:
* **目标**:强制或回退到 Vulkan。
* **方法**:有时可以通过设置环境变量来跳过 ROCm 检测,强制使用 Vulkan(具体取决于 Ollama 版本,通常自动回退即可)。
# 三、docker安装
1. **CPU only**
```shell
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
```
2. **Nvidia GPU**
- **Install the [NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html#installation)**
- **Install with Apt**
- **Configure the repository**
```shell
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey \
| sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -fsSL https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list \
| sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' \
| sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
```
- **Install the NVIDIA Container Toolkit packages**
```shell
sudo apt-get install -y nvidia-container-toolkit
```
- **Install with Yum or Dnf**
- **Configure the repository**
```shell
curl -fsSL https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo \
| sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo
```
- **Install the NVIDIA Container Toolkit packages**
```shell
sudo yum install -y nvidia-container-toolkit
```
- **Configure Docker to use Nvidia driver**
```shell
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
```
- **Start the container**
```shell
docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
```
> If you're running on an NVIDIA JetPack system, Ollama can't automatically discover the correct JetPack version.Pass the environment variable `JETSON_JETPACK=5` or `JETSON_JETPACK=6` to the container to select version 5 or 6.
>
3. **AMD GPU**
- To run Ollama using Docker with AMD GPUs, use the `rocm` tag and the following command:
```shell
docker run -d --device /dev/kfd --device /dev/dri -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama:rocm
```
- **Vulkan Support**
Vulkan is bundled into the `ollama/ollama` image.
```shell
docker run -d --device /dev/kfd --device /dev/dri -v ollama:/root/.ollama -p 11434:11434 -e OLLAMA_VULKAN=1 --name ollama ollama/ollama
```
4. **Run model locally**
Now you can run a model:
```shell
docker exec -it ollama ollama run llama3.2
```
5. **Try different models**
More models can be found on the [Ollama library](https://ollama.com/library).
# 四、docker-compose安装
1. 创建docker-compose.yml文件
```yml
services:
ollama_cpu:
image: ollama/ollama:latest
container_name: ollama_cpu
restart: unless-stopped
environment:
- OLLAMA_HOST=0.0.0.0:11434
ports:
- "11434:11434"
volumes:
- ollama_data:/root/.ollama
pull_policy: always
ollama_nvidia:
image: ollama/ollama:latest
container_name: ollama_nvidia
restart: unless-stopped
environment:
- JETSON_JETPACK=6 # 根据显卡平台修改为5或者6
- OLLAMA_HOST=0.0.0.0:11434
ports:
- "11434:11434"
volumes:
- ollama_data:/root/.ollama
gpus: "all"
pull_policy: always
ollama_rocm:
image: ollama/ollama:rocm
container_name: ollama_rocm
restart: unless-stopped
environment:
- OLLAMA_HOST=0.0.0.0:11434
ports:
- "11434:11434"
volumes:
- ollama_data:/root/.ollama
devices:
- "/dev/kfd"
- "/dev/dri"
pull_policy: always
ollama_vulkan:
image: ollama/ollama:latest
container_name: ollama_vulkan
restart: unless-stopped
environment:
- OLLAMA_VULKAN=1 # AMD vulkan 支持
- OLLAMA_HOST=0.0.0.0:11434
ports:
- "11434:11434"
volumes:
- ollama_data:/root/.ollama
devices:
- "/dev/kfd"
- "/dev/dri"
pull_policy: always
volumes:
ollama_data:
name: ollama
```
2. 使用
```shell
docker compose up -d ollama_cpu
```
- 共 0 条回复
- 需要登录 后方可回复, 如果你还没有账号请点击这里注册。
wiseAI
✨ 梦初醒 茅塞开
- 不经他人苦,莫劝他人善。
- 能量足,心态稳,温和坚定可以忍。
- 辛苦决定不了收入,真正决定收入的只有一个,就是不可替代性。
- 要么忙于生存,要么赶紧去死!
- 内心强大到混蛋,比什么都好!
- 规范流程比制定制度更重要!
-
立志需要高远,但不能急功近利;
行动需要迅速,却不可贪图速成。 - 不要强求人品,要设计高效的机制。
-
你弱的时候,身边都是鸡零狗碎;
你强的时候,身边都是风和日丽。 - 机制比人品更可靠,契约比感情更可靠。
- 合作不意味着没有冲突,却是控制冲突的最好方法。
- 误解是人生常态,理解本是稀缺的例外。
- 成功和不成功之间,只差一次坚持!
- 祁连卧北雪,大漠壮雄关。
- 利益顺序,过程公开,机会均等,付出回报。
