如何升级 Ollama?
macOS 和 Windows 上的 Ollama 会自动下载更新。点击任务栏或菜单栏中的图标,然后点击“重启以更新”来应用更新。也可以通过手动下载最新版本来安装更新。
在 Linux 上,重新运行安装脚本:
curl -fsSL https://ollama.com/install.sh | sh
如何查看日志?
请查阅 故障排除 文档以了解有关使用日志的更多信息。
我的 GPU 是否与 Ollama 兼容?
请参阅 GPU 文档。
如何指定上下文窗口大小?
默认情况下,Ollama 使用的上下文窗口大小为 4096 个 token。
可以通过环境变量 OLLAMA_CONTEXT_LENGTH 覆盖此设置。例如,要将默认上下文窗口设置为 8K,请使用:
OLLAMA_CONTEXT_LENGTH=8192 ollama serve
在使用 ollama run 时更改此设置,请使用 /set parameter:
/set parameter num_ctx 4096
使用 API 时,请指定 num_ctx 参数:
curl http://localhost:11434/api/generate -d '{
"model": "llama3.2",
"prompt": "Why is the sky blue?",
"options": {
"num_ctx": 4096
}
}'
如何判断模型是否已加载到 GPU 上?
使用 ollama ps 命令查看当前加载到内存中的模型。
ollama ps
输出:
NAME ID SIZE PROCESSOR UNTIL llama3:70b bcfb190ca3a7 42 GB 100% GPU 4 minutes from now
Processor 列将显示模型被加载到了哪种内存中:
100% GPU表示模型完全加载到 GPU 中100% CPU表示模型完全加载到系统内存中48%/52% CPU/GPU表示模型部分加载到 GPU 和部分加载到系统内存中
如何配置 Ollama 服务器?
Ollama 服务器可以通过环境变量进行配置。
在 Mac 上设置环境变量
如果 Ollama 作为 macOS 应用程序运行,应使用 launchctl 设置环境变量:
为每个环境变量调用
launchctl setenv。launchctl setenv OLLAMA_HOST "0.0.0.0:11434"
重启 Ollama 应用程序。
在 Linux 上设置环境变量
如果 Ollama 作为 systemd 服务运行,应使用 systemctl 设置环境变量:
通过调用
systemctl edit ollama.service编辑 systemd 服务。这将打开一个编辑器。为每个环境变量,在
[Service]部分下添加一行Environment:[Service] Environment="OLLAMA_HOST=0.0.0.0:11434"
保存并退出。
重新加载
systemd并重启 Ollama:systemctl daemon-reload systemctl restart ollama
在 Windows 上设置环境变量
在 Windows 上,Ollama 会继承您的用户和系统环境变量。
首先通过点击任务栏中的图标退出 Ollama。
启动设置(Windows 11)或控制面板(Windows 10)应用程序,并搜索环境变量。
点击编辑账户的环境变量。
为您的用户账户编辑或创建新变量,例如
OLLAMA_HOST、OLLAMA_MODELS等。点击确定/应用以保存。
从 Windows 开始菜单启动 Ollama 应用程序。
如何在代理后面使用 Ollama?
Ollama 会从互联网拉取模型,可能需要代理服务器来访问这些模型。使用 HTTPS_PROXY 将出站请求重定向通过代理。确保代理证书已安装为系统证书。关于如何在您的平台上使用环境变量,请参考上述章节。
避免设置 HTTP_PROXY。Ollama 不使用 HTTP 拉取模型,仅使用 HTTPS。设置 HTTP_PROXY 可能会中断客户端与服务器的连接。
如何在 Docker 中使用代理访问 Ollama?
可以在启动容器时传递 -e HTTPS_PROXY=https://proxy.example.com 来配置 Ollama Docker 容器镜像使用代理。
或者,可以配置 Docker 守护进程使用代理。Docker Desktop 在 macOS、Windows 和 Linux 上的说明可用,以及使用 systemd 的 Docker 守护进程。
使用 HTTPS 时,请确保证书已安装为系统证书。如果使用自签名证书,这可能需要创建新的 Docker 镜像。
FROM ollama/ollama COPY my-ca.pem /usr/local/share/ca-certificates/my-ca.crt RUN update-ca-certificates
构建并运行此镜像:
docker build -t ollama-with-ca . docker run -d -e HTTPS_PROXY=https://my.proxy.example.com -p 11434:11434 ollama-with-ca
Ollama 会将我的提示词和回答发送回 ollama.com 吗?
Ollama 在本地运行。当您在本地运行时,我们不会看到您的提示词或数据。在使用云端托管模型时,我们会处理您的提示词和响应以提供服务,但不会存储或记录该内容,也绝不会用其进行训练。我们收集基本的账户信息和有限的使用元数据以提供服务,这些不包含提示词或响应内容。我们不出售您的数据。您可以随时删除您的账户。
如何禁用 Ollama 的云端功能?
通过禁用 Ollama 的云端功能,Ollama 可以仅在本地模式下运行。关闭 Ollama 的云端功能后,您将无法使用 Ollama 的云端模型和网络搜索。
在 ~/.ollama/server.json 中设置 disable_ollama_cloud:
{
"disable_ollama_cloud": true
}
您也可以设置环境变量:
OLLAMA_NO_CLOUD=1
更改配置后重启 Ollama。禁用后,Ollama 的日志将显示 Ollama cloud disabled: true。
如何在网络上暴露 Ollama?
Ollama 默认绑定到 127.0.0.1 端口 11434。使用 OLLAMA_HOST 环境变量更改绑定地址。
有关如何在您的平台上设置环境变量,请参阅上文相关章节。
如何使用代理服务器配合 Ollama?
Ollama 运行一个 HTTP 服务器,可以使用如 Nginx 这样的代理服务器进行暴露。为此,请配置代理以转发请求,并可选地设置所需的标头(如果不在网络上直接暴露 Ollama)。例如,使用 Nginx:
server {
listen 80;
server_name example.com; # Replace with your domain or IP
location / {
proxy_pass http://localhost:11434;
proxy_set_header Host localhost:11434;
}
}
如何使用 ngrok 配合 Ollama?
Ollama 可以通过各种隧道应用访问。例如使用 Ngrok:
ngrok http 11434 --host-header="localhost:11434"
如何使用 Cloudflare Tunnel 配合 Ollama?
要使用 Cloudflare Tunnel 配合 Ollama,请使用 --url 和 --http-host-header 标志:
cloudflared tunnel --url http://localhost:11434 --http-host-header="localhost:11434"
如何允许额外的 Web 源访问 Ollama?
Ollama 默认允许来自 127.0.0.1 和 0.0.0.0 的跨域请求。可以通过 OLLAMA_ORIGINS 配置额外的源。
对于浏览器扩展,您需要明确允许扩展的源模式。如果您希望允许所有浏览器扩展访问,请将 OLLAMA_ORIGINS 设置为包含 chrome-extension://*、moz-extension://* 和 safari-web-extension://*;或者根据需要指定特定的扩展:
# Allow all Chrome, Firefox, and Safari extensions OLLAMA_ORIGINS=chrome-extension://*,moz-extension://*,safari-web-extension://* ollama serve
有关如何在您的平台上设置环境变量,请参阅上文相关章节。
模型存储在哪里?
- macOS:
~/.ollama/models - Linux:
/usr/share/ollama/.ollama/models - Windows:
C:\Users\%username%\.ollama\models
如何将它们设置为不同的位置?
如果需要使用的目录不同,请将环境变量 OLLAMA_MODELS 设置为您选择的目录。
在 Linux 上使用标准安装程序时,ollama 用户需要对指定目录具有读写权限。要将目录分配给 ollama 用户,请运行 sudo chown -R ollama:ollama <directory>。
有关如何在您的平台上设置环境变量,请参阅上文相关章节。
如何在 Visual Studio Code 中使用 Ollama?
安装 Ollama 扩展以便在 VS Code Chat 中使用 Ollama 模型。有关设置和故障排除,请参阅 VS Code 集成指南。
如何在 Docker 中使用 GPU 加速配合 Ollama?
Ollama Docker 容器可以在 Linux 或 Windows(使用 WSL2)上配置 GPU 加速。这需要 nvidia-container-toolkit。有关更多详细信息,请参阅 ollama/ollama。
由于缺乏 GPU 直通和模拟,macOS 上的 Docker Desktop 不支持 GPU 加速。
为什么 Windows 10 上 WSL2 的网络速度很慢?
这可能会影响 Ollama 的安装以及模型的下载。
打开 控制面板 > 网络和 Internet > 查看网络状态和任务,点击左侧面板中的 更改适配器设置。找到 vEthernet (WSL) 适配器,右键单击并选择 属性。点击 配置 并打开 高级 选项卡。搜索每个属性直到找到 Large Send Offload Version 2 (IPv4) 和 Large Send Offload Version 2 (IPv6)。禁用这两个属性。
如何在 Ollama 中预加载模型以获得更快的响应时间?
如果你使用的是 API,可以通过向 Ollama 服务器发送空请求来预加载模型。这对 /api/generate 和 /api/chat API 端点都有效。
要使用 generate 端点预加载 mistral 模型,请使用:
curl http://localhost:11434/api/generate -d '{"model": "mistral"}'
要使用 chat completions 端点,请使用:
curl http://localhost:11434/api/chat -d '{"model": "mistral"}'
要使用 CLI 预加载模型,请使用命令:
ollama run llama3.2 ""
如何让模型保持在内存中或立即卸载它?
默认情况下,模型在卸载前会在内存中保留 5 分钟。如果你向 LLM 发出大量请求,这样可以实现更快的响应时间。如果你想立即从内存中卸载模型,请使用 ollama stop 命令:
ollama stop llama3.2
如果你使用的是 API,请在 /api/generate 和 /api/chat 端点中使用 keep_alive 参数来设置模型在内存中停留的时间长度。keep_alive 参数可以设置为:
- 持续时间字符串(如“10m”或“24h”)
- 秒数(如 3600)
- 任何负数,这将使模型保持在内存中(例如 -1 或“-1m”)
- ‘0’,这将在生成响应后立即卸载模型
例如,要预加载模型并将其留在内存中,请使用:
curl http://localhost:11434/api/generate -d '{"model": "llama3.2", "keep_alive": -1}'
要卸载模型并释放内存,请使用:
curl http://localhost:11434/api/generate -d '{"model": "llama3.2", "keep_alive": 0}'
或者,你可以在启动 Ollama 服务器时通过设置 OLLAMA_KEEP_ALIVE 环境变量来更改所有模型加载到内存中的时间长度。OLLAMA_KEEP_ALIVE 变量使用与上述提到的 keep_alive 参数类型相同的参数类型。请参考解释如何配置 Ollama 服务器的部分以正确设置环境变量。
带有 /api/generate 和 /api/chat API 端点的 keep_alive API 参数将覆盖 OLLAMA_KEEP_ALIVE 设置。
如何管理 Ollama 服务器可以排队的最大请求数?
如果发送给服务器的请求过多,它将响应一个指示服务器过载的 503 错误。你可以通过设置 OLLAMA_MAX_QUEUE 来调整可以排队的请求数量。
Ollama 如何处理并发请求?
Ollama 支持两级并发处理。如果你的系统有足够的可用内存(使用 CPU 推理时为系统内存,使用 GPU 推理时为 VRAM),则可以同时加载多个模型。对于给定的模型,如果在模型加载时有足够的可用内存,则配置为允许并行请求处理。
如果在已经加载了一个或多个模型的情况下没有足够的可用内存来加载新的模型请求,所有新请求都将排队,直到新模型可以被加载为止。随着先前模型变为空闲状态,其中一个或多个模型将被卸载以为新模型腾出空间。排队请求将按顺序处理。当使用 GPU 推理时,新模型必须能够完全适应 VRAM 才能允许并发模型加载。
给定模型的并行请求处理会导致上下文大小增加相当于并行请求的数量。例如,具有 4 个并行请求的 2K 上下文将导致 8K 上下文和额外的内存分配。
以下服务器设置可用于调整大多数平台上 Ollama 处理并发请求的方式:
OLLAMA_MAX_LOADED_MODELS- 在可用内存允许的情况下可以同时加载的最大模型数量。默认值为 GPU 数量的 3 倍,或用于 CPU 推理时为 3。OLLAMA_NUM_PARALLEL- 每个模型可以同时处理的最大并行请求数,默认为 1。所需 RAM 将随OLLAMA_NUM_PARALLEL*OLLAMA_CONTEXT_LENGTH缩放。OLLAMA_MAX_QUEUE- Ollama 在繁忙时拒绝额外请求之前可以排队的最大请求数。默认值为 512
注意:由于 ROCm v5.7 在可用 VRAM 报告方面的限制,配备 Radeon GPU 的 Windows 系统目前默认最大模型数为 1。一旦 ROCm v6.2 发布,Windows 上的 Radeon 将遵循上述默认设置。您可以在 Windows 上的 Radeon 上启用并发模型加载,但请确保加载的模型数量不超过 GPU 的 VRAM 容量。
Ollama 如何在多个 GPU 上加载模型?
在加载新模型时,Ollama 会将模型所需的 VRAM 与当前可用的 VRAM 进行评估。如果模型可以完全容纳在任何单个 GPU 上,Ollama 会将该模型加载到该 GPU 上。这通常能提供最佳性能,因为它减少了推理期间通过 PCI 总线传输的数据量。如果模型无法完全容纳在一个 GPU 上,则它将分布到所有可用的 GPU 上。
如何启用 Flash Attention?
Flash Attention 是大多数现代模型的一项功能,随着上下文长度的增加,它可以显著减少内存使用量。当所选的后端和设备支持 Flash Attention 时,Ollama 会自动使用它。要强制开启 Flash Attention,请在启动 Ollama 服务器时设置 OLLAMA_FLASH_ATTENTION=1。要禁用它,请设置 OLLAMA_FLASH_ATTENTION=0。
如何设置 K/V 缓存的量化类型?
当启用 Flash Attention 时,可以对 K/V 上下文缓存进行量化以显著减少内存使用量。
要在 Ollama 中使用量化 K/V 缓存,您可以设置以下环境变量:
OLLAMA_KV_CACHE_TYPE- K/V 缓存的量化类型。默认为f16。
目前这是一个全局选项——意味着所有模型都将运行指定的量化类型。
当前可用的 K/V 缓存量化类型包括:
f16- 高精度和高内存使用量(默认)。q8_0- 8-bit 量化,使用的内存约为f16的 1/2,精度损失极小,这通常不会对模型质量产生明显影响(如果不使用 f16,则推荐使用此选项)。q4_0- 4-bit 量化,使用的内存约为f16的 1/4,存在小到中等的精度损失,在较高的上下文长度下可能更明显。
缓存量化对模型响应质量的影响程度取决于模型和任务。具有高 GQA 计数的模型(例如 Qwen2)可能会比具有低 GQA 计数的模型受到量化带来的更大精度影响。
您可能需要尝试不同的量化类型,以在内存使用量和质量之间找到最佳平衡。
在哪里可以找到我的 Ollama Public Key?
您的 Ollama Public Key 是密钥对的公共部分,它允许您的本地 Ollama 实例与 ollama.com 通信。
您需要用它来:
- 将模型推送到 Ollama
- 从 Ollama 拉取私有模型到您的机器
- 运行托管在 Ollama 云端 的模型
如何添加密钥
通过设置页面登录(适用于 Mac 和 Windows App)
通过 CLI 登录
ollama signin
- 手动复制并粘贴 Ollama Keys 页面上的密钥:https://ollama.com/settings/keys
Ollama Public Key 存放位置
| 操作系统 | id_ed25519.pub 路径 |
|---|---|
| macOS | ~/.ollama/id_ed25519.pub |
| Linux | /usr/share/ollama/.ollama/id_ed25519.pub |
| Windows | C:\Users\<username>\.ollama\id_ed25519.pub |
请将 <username> 替换为您实际的 Windows 用户名。
如何阻止 Ollama 在我登录计算机时自动启动?
Windows 和 macOS 版的 Ollama 在安装时会注册为登录项。如果您不希望 Ollama 自动启动,可以禁用此功能。除非您卸载应用程序,否则 Ollama 将在升级后保留此设置。
Windows
- 在
Task Manager中转到Startup apps选项卡,搜索ollama,然后点击Disable
MacOS
- 打开
Settings并搜索 “Login Items”,在Allow in the Background下找到Ollama条目,然后点击滑块将其禁用。