Ollama 安装¶
在这篇文章中
Ollama 简介¶
Ollama 是一个在本地计算资源上运行和管理大型语言模型 (LLM) 的框架。它支持加载和部署选定的 LLM,并通过 API 提供访问。
警告
如果您计划使用 GPU 加速来处理 LLM,请首先安装 NVIDIA 驱动程序和 CUDA。
系统要求:
| 要求 | 规格 |
|---|---|
| 操作系统 | Linux: Ubuntu 22.04 或更高版本 |
| 内存 | 运行高达 7B 的模型需要 16 GB |
| 磁盘空间 | 安装 Ollama 和基本模型需要 12 GB。根据所使用的模型,存储模型数据需要额外空间 |
| 处理器 | 建议使用至少 4 核的现代 CPU。运行高达 13B 的模型,建议使用至少 8 核的 CPU |
| 图形处理单元 (可选) | 运行 Ollama 不需要 GPU,但可以提高性能,尤其是在处理大型模型时。如果您有 GPU,可以使用它来加速自定义模型的训练。 |
备注
系统要求可能因您计划执行的具体 LLM 和任务而异。
在 Linux 上安装 Ollama¶
下载并安装 Ollama:
对于 Nvidia GPU,添加 Environment="OLLAMA_FLASH_ATTENTION=1" 以提高令牌生成速度。
Ollama 将可通过 http://127.0.0.1:11434 或 http://<you_server_IP>:11434 访问。
在 Linux 上更新 Ollama¶
要更新 Ollama,您需要重新下载并安装其二进制包:
备注
如果您无法访问 Ollama,可能需要在服务文件 /etc/systemd/system/ollama.service 的 [Service] 部分添加以下行:
并使用以下命令重启服务:
安装语言模型 LLM¶
您可以在 此页面 找到可用语言模型的列表。
要安装模型,请单击其名称,然后在下一页选择模型的大小和类型。从右侧窗口复制安装命令并在终端/命令行中运行:
备注
推荐的模型标有 latest 标签。
警告
为了确保可接受的性能,模型的大小应至少比服务器上可用的内存量少两倍,并且比 GPU 上可用的显存量少 ⅔。例如,8GB 大小的模型需要 16GB 内存和 GPU 上 12GB 的显存。
下载模型后,重启服务:
有关 Ollama 的更多信息,您可以阅读 开发者文档。
环境变量¶
在 Ollama 服务中将此变量设置为 Environment="VARIABLE=VALUE"。
| 变量 | 描述 | 可能的值 / 格式 | 默认值 |
|---|---|---|---|
OLLAMA_DEBUG | 日志详细程度:INFO (默认)、DEBUG 或 TRACE | 0、1、false、true 或 ≥2 的整数 (TRACE 级别) | 0 (INFO 级别) |
OLLAMA_HOST | Ollama 服务器运行的地址和端口 | [http://\|https://]<host>[:<port>] (例如,127.0.0.1:11434、https://ollama.local) | 127.0.0.1:11434 |
OLLAMA_KEEP_ALIVE | 模型在最后一次请求后保留在内存中的时间 | 持续时间字符串 (5m、1h、30s) 或整数 (秒);负值 > 无限期 | 5m |
OLLAMA_LOAD_TIMEOUT | 加载模型前的最大等待时间 (用于检测挂起) | 持续时间字符串或整数 (秒);≤0 > 无限期 | 5m |
OLLAMA_MAX_LOADED_MODELS | 可同时加载到内存中的模型最大数量 | 非负整数 (uint) | 0 (自动管理) |
OLLAMA_MAX_QUEUE | 等待处理的请求队列的最大长度 | 非负整数 (uint) | 512 |
OLLAMA_MODELS | 存储模型的目录路径 | 绝对路径或相对路径 | $HOME/.ollama/models |
OLLAMA_NOHISTORY | 禁用交互式 CLI 模式下的命令历史记录保存 | 0、1、false、true | false |
OLLAMA_NOPRUNE | 防止启动时删除 (修剪) 未使用的模型 BLOB 文件 | 0、1、false、true | false |
OLLAMA_NUM_PARALLEL | 对单个模型的并行请求最大数量 | 非负整数 (uint) | 1 |
OLLAMA_ORIGINS | 允许用于 Web 请求的 CORS 源列表 (逗号分隔) | 逗号分隔的源列表 (例如,https://myapp.com,http://localhost:3000) | — (添加内置值) |
OLLAMA_FLASH_ATTENTION | 启用实验性 flash attention 优化 (Apple Silicon 和 NVIDIA GPU 上的加速) | 0、1、false、true | false |
OLLAMA_KV_CACHE_TYPE | 键值缓存 (K/V 缓存) 的量化类型 | f16、q8_0、q4_0 | — (如果为空字符串则为 f16) |
OLLAMA_LLM_LIBRARY | 强制使用指定的 LLM 库而不是自动检测 | cpu、cpu_avx、cpu_avx2、cuda_v11、rocm_v5、rocm_v6 | — (自动检测) |
OLLAMA_SCHED_SPREAD | 将所有可用 GPU 上的模型加载负载均匀分布,而不是仅使用一个 | 0、1、false、true | false |
OLLAMA_MULTIUSER_CACHE | 优化多用户场景下的提示缓存 (减少重复) | 0、1、false、true | false |
OLLAMA_CONTEXT_LENGTH | 默认最大上下文长度 (以令牌为单位),如果模型未另行指定 | 正整数 (uint) | 4096 |
OLLAMA_NEW_ENGINE | 使用新的实验性引擎而不是 llama.cpp | 0、1、false、true | false |
OLLAMA_AUTH | 启用客户端和 Ollama 服务器之间的基本身份验证 | 0、1、false、true | false |
OLLAMA_INTEL_GPU | 启用对 Intel GPU 的实验性支持 | 0、1、false、true | false |
OLLAMA_GPU_OVERHEAD | 每个 GPU 保留的 VRAM 量 (以字节为单位) (用于系统需求) | 非负整数 (uint64,以字节为单位) | 0 |
OLLAMA_NEW_ESTIMATES | 启用加载模型所需的新内存大小估算系统 | 0、1、false、true | 0 (禁用) |