Ollama 的系统变量配置项

1 阅读2分钟

Ollama 可以说是我遇到过的最简单的部署大语言模型的方式。支持模型数量极多,部署所需要做的只需要一行指令。

美中不足的是 Ollama 的文档相当粗糙。对于 linux 部署,Ollama 文档提到在 /etc/systemd/system/ollama.service 文件中编写配置项目,能够把环境变量配置写进去。然而具体的配置项只字不提,还得翻项目代码才能看到。

当前版本(0.5.12)可配置的主要项目有这些。

配置项描述
OLLAMA_DEBUG显示额外的调试信息(例如 OLLAMA_DEBUG=1)
OLLAMA_FLASH_ATTENTION启用 flash_attention
OLLAMA_KV_CACHE_TYPEK/V 缓存的量化类型(默认:f16)
OLLAMA_GPU_OVERHEAD为每个 GPU 保留一定的 VRAM(字节)
OLLAMA_HOSTollama 服务器的IP地址(默认:127.0.0.1:11434)
OLLAMA_KEEP_ALIVE模型在内存中保持加载状态的时长(默认"5m")
OLLAMA_LLM_LIBRARY设置LLM库以绕过自动检测
OLLAMA_LOAD_TIMEOUT允许模型加载暂停的最长时间(默认"5m")
OLLAMA_MAX_LOADED_MODELS每个GPU加载的最大模型数
OLLAMA_MAX_QUEUE队列中允许的最大请求数
OLLAMA_MODELS模型目录的路径
OLLAMA_NOHISTORY不保存 readline 历史记录
OLLAMA_NOPRUNE启动时不裁剪模型 blob
OLLAMA_NUM_PARALLEL并行请求的最大数量
OLLAMA_ORIGINS允许的源列表(用逗号分隔)
OLLAMA_SCHED_SPREAD始终在所有 GPU 上调度模型
OLLAMA_MULTIUSER_CACHE为多用户场景优化提示缓存
OLLAMA_CONTEXT_LENGTH默认使用的上下文长度(默认 2048)
OLLAMA_NEW_ENGINE启用新的 Ollama 引擎

就可以在 /etc/systemd/system/ollama.service 内用 Environment=... 的形式填写配置了。像是这样子:

[Unit]
Description=Ollama Service
After=network-online.target

[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="OLLAMA_MODELS=/media/dolen/red_3t/models/ollama"
Environment="OLLAMA_KEEP_ALIVE=2h"
Environment="OLLAMA_HOST=0.0.0.0"
Environment="OLLAMA_FLASH_ATTENTION=1"

[Install]
WantedBy=default.target

修改后别忘了重启 Ollama 服务。

sudo systemctl daemon-reload
sudo systemctl restart ollama.service