常见问题解答
如何升级 Ollama?
Ollama 在 macOS 和 Windows 上会自动下载更新。点击任务栏或菜单栏项目,然后点击“重启以更新”来应用更新。您也可以通过 手动 下载最新版本来进行安装。
在 Linux 上,重新运行安装脚本:
curl -fsSL https://ollama.com/install.sh | sh如何查看日志?
有关日志的更多信息,请查阅 故障排除 文档。
我的 GPU 与 Ollama 兼容吗?
请参考 GPU 文档。
我如何指定上下文窗口大小?
默认情况下,Ollama 使用上下文窗口大小为 2048 个令牌。
要在使用 ollama run 时更改此设置,使用 /set parameter:
/set parameter num_ctx 4096在使用 API 时,请指定 num_ctx 参数:
curl http://localhost:11434/api/generate -d '{
"model": "llama3",
"prompt": "Why is the sky blue?",
"options": {
"num_ctx": 4096
}
}'如何配置 Ollama 服务器?
可以通过环境变量配置 Ollama 服务器。
在 Mac 上设置环境变量
如果将 Ollama 作为 macOS 应用程序运行,则应使用 launchctl 设置环境变量:
对于每个环境变量,调用
launchctl setenv。bashlaunchctl setenv OLLAMA_HOST "0.0.0.0"重启 Ollama 应用。
在 Linux 上设置环境变量
如果以 systemd 服务运行 Ollama,则应使用 systemctl 设置环境变量:
通过调用
systemctl edit ollama.service编辑 systemd 服务。这将打开一个编辑器。对于每个环境变量,在
[Service]部分下添加一行Environment:ini[Service] Environment="OLLAMA_HOST=0.0.0.0"保存并退出。
重新加载
systemd并重启 Ollama:bashsystemctl daemon-reload systemctl restart ollama
在 Windows 上设置环境变量
在 Windows 上,Ollama 继承了你的用户和系统环境变量。
首先,通过任务栏中的点击来退出 Ollama。
启动"设置"(Windows 11) 或"控制面板"(Windows 10) 应用,然后搜索"环境变量"。
点击“编辑您的账户环境变量”。
为您的用户帐户编辑或创建一个新的变量,用于
OLLAMA_ 主机、OLLAMA_MODELS等。点击“确定”/“应用”保存。
从 Windows 开始菜单启动 Ollama 应用。
如何在我的网络上公开 Ollama?
Ollama 默认绑定 127.0.0.1 端口 11434。使用 OLLAMA_HOST 环境变量更改绑定地址。
有关如何在您的平台上设置环境变量的更多信息,请参阅 上面的部分。
如何在 Ollama 中使用代理服务器?
Ollama 运行一个 HTTP 服务器,并且可以使用如 Nginx 之类的代理服务器进行暴露。要这样做,配置代理以转发请求,并可选地设置所需的标头(如果不在网络上暴露 Ollama)。
例如,使用 Nginx:
location / {
proxy_pass http://localhost:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}请将 http://localhost:8000 替换为 Ollama 服务器的实际运行地址。
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?
要使用 Ollama 与 Cloudflare Tunnel 配合,请使用 --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 服务器](# 如何配置 -ollama- 服务器),了解如何在您的平台上设置环境变量。
模型存储在哪里?
- macOS:
~/Library/Ollama/models - Linux:
/usr/share/ollama/.ollama/models - Windows:
C:\Users\%username%\.ollama\models
如何将它们设置到不同的位置?
如果需要使用不同的目录,请将环境变量 OLLAMA_MODELS 设置为所选目录。
参考上面的 [章节](# 如何配置 -ollama- 服务器) 了解如何在您的平台上设置环境变量。
Ollama 会将我的提示和答案回传到 ollama.com 吗?
编号 Ollama 在本地运行,并且对话数据不会离开您的机器。
如何在 Visual Studio Code 中使用 Ollama?
Visual Studio Code 以及其他编辑器已经有大量利用 Ollama 的插件可用。您可以在主仓库 readme 底部查看 扩展与插件 的列表。
如何在代理后面使用 Ollama?
如果配置了 HTTP_PROXY 或 HTTPS_PROXY,Ollama 将与代理服务器兼容。在使用这两个变量时,请确保它们设置在 ollama serve 可以访问其值的地方。当使用 HTTPS_PROXY 时,请确保已将代理证书安装为系统证书。有关如何在您的平台上使用环境变量的更多信息,请参阅上面的章节。
如何在 Docker 后的代理中使用 Ollama?
可以通过在启动容器时传递 -e HTTPS_PROXY=https://proxy.example.com 来配置 Ollama Docker 镜像以使用代理。
或者,可以配置 Docker 守护程序以使用代理。有关说明,请参阅 Docker Desktop on macOS、Windows 上的 Docker Desktop 和 Linux 上的 Docker Desktop ,以及 Docker daemon with systemd。
使用 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如何在 Docker 中使用 Ollama 并启用 GPU 加速?
Ollama 的 Docker 容器可以在 Linux 或带有 WSL2 的 Windows 上配置 GPU 加速。这需要 nvidia-container-toolkit 。更多详情请参阅 ollama/ollama。
由于 macOS 缺乏显卡直通和模拟功能,因此 Docker Desktop 在 macOS 上不可用 GPU 加速。
为什么 Windows 10 中的 WSL2 网络连接慢?
这可能会影响 Ollama 的安装以及模型的下载。
打开“控制面板”>“网络和互联网”>“查看网络状态和任务”,然后在左侧面板中点击“更改适配器设置”。找到“vEthernel (WSL) ”适配器,右键单击并选择“属性”。点击“配置”,然后打开“高级”选项卡。遍历每个属性,直到找到“Large Send Offload Version 2 (IPv4) ”和“Large Send Offload Version 2 (IPv6)”。禁用这两个属性。
如何预加载模型以获得更快的响应时间?
如果你正在使用 API,你可以通过向 Ollama 服务器发送一个空请求来预加载模型。这适用于 /api/generate 和 /api/chat 两个 API 端点。
curl http://localhost:11434/api/generate -d '{"model": "mistral"}'要使用 generate 端点预加载 mistral 模型,请使用:
curl http://localhost:11434/api/chat -d '{"model": "mistral"}'要使用聊天完成端点,请使用:
如何保持模型在内存中加载或使其立即卸载?
默认情况下,模型在卸载前会保留在内存中 5 分钟。这可以让你在向 LLM 发送大量请求时实现更快的响应时间。然而,你可能希望在 5 分钟结束之前释放内存,或者让模型无限期地加载。你可以使用 keep_alive 参数与 /api/generate 和 /api/chatAPI 端点一起使用,以控制模型保留在内存中的时间。
keep_alive 参数可以设置为: * 一个持续时间字符串(如 "10m" 或 "24h") * 秒数(如 3600) * 任何负数,将保持模型加载在内存中(例如 -1 或 "-1m") * '0' 将在生成响应后立即卸载模型
curl http://localhost:11434/api/generate -d '{"model": "llama3", "keep_alive": -1}'例如,若要预加载模型并将其保留在内存中,请使用:
curl http://localhost:11434/api/generate -d '{"model": "llama3", "keep_alive": 0}'要卸载模型并释放内存,请使用:
或者,您可以在启动 Ollama 服务器时设置环境变量 OLLAMA_KEEP_ALIVE 来更改所有模型加载到内存中的时间。OLLAMA_KEEP_ALIVE 变量使用与上述提到的 keep_alive 参数类型相同的参数类型。请参考解释 [如何配置 Ollama 服务器](# 如何配置 -ollama- 服务器) 的部分来正确设置环境变量。
如果你想覆盖 OLLAMA_KEEP_ALIVE 设置,请在 /api/generate 或 /api/chatAPI 端点中使用 keep_aliveAPI 参数。
如何管理服务器可以排队的最大请求数
如果向服务器发送的请求过多,服务器会返回一个 503 错误,表示服务器过载。你可以通过设置 OLLAMA_MAX_QUEUE 来调整可以排队的请求数量。
Q8_0,Q6_K_M,Q4_K_M──量化的含义是什么?
指的是模型参数的蒸发和量化过程, 原始训练完成以后对 f32 或者 f16 的参数进行量化.
Qn_[K]_[M,S]:
- n: x 比特量化。例如, Q8 表示 8 位量化。模型在训练的时候使用了 32 位浮点数, 但是在推理的时候使用了 8 位整数。
- k: 使用 KNN 矢量量化。这种量化方法使用了 K 近邻算法, 通过查找最接近的矢量来量化参数。
- M: Memory Mapping 使用了内存映射技术。内存映射允许将模型文件直接映射到内存中, 而不需要显式地加载整个文件。这可以提高加载速度, 特别是对于大型模型文件。
- S: stream 量化模型是以流式方式加载的, 而不是使用内存映射。在流式加载中, 模型文件是按需读取的, 相关部分被逐步加载到内存中。降低运行内存要求.
