Skip to content

常见问题解答

如何升级 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 设置环境变量:

  1. 对于每个环境变量,调用 launchctl setenv

    bash
    launchctl setenv OLLAMA_HOST "0.0.0.0"
  2. 重启 Ollama 应用。

在 Linux 上设置环境变量

如果以 systemd 服务运行 Ollama,则应使用 systemctl 设置环境变量:

  1. 通过调用 systemctl edit ollama.service 编辑 systemd 服务。这将打开一个编辑器。

  2. 对于每个环境变量,在 [Service] 部分下添加一行 Environment:

    ini
    [Service]
    Environment="OLLAMA_HOST=0.0.0.0"
  3. 保存并退出。

  4. 重新加载 systemd 并重启 Ollama:

    bash
    systemctl daemon-reload
    systemctl restart ollama

在 Windows 上设置环境变量

在 Windows 上,Ollama 继承了你的用户和系统环境变量。

  1. 首先,通过任务栏中的点击来退出 Ollama。

  2. 启动"设置"(Windows 11) 或"控制面板"(Windows 10) 应用,然后搜索"环境变量"。

  3. 点击“编辑您的账户环境变量”。

  4. 为您的用户帐户编辑或创建一个新的变量,用于 OLLAMA_ 主机 OLLAMA_MODELS 等。

  5. 点击“确定”/“应用”保存。

  6. 从 Windows 开始菜单启动 Ollama 应用。

如何在我的网络上公开 Ollama?

Ollama 默认绑定 127.0.0.1 端口 11434。使用 OLLAMA_HOST 环境变量更改绑定地址。

有关如何在您的平台上设置环境变量的更多信息,请参阅 上面的部分

如何在 Ollama 中使用代理服务器?

Ollama 运行一个 HTTP 服务器,并且可以使用如 Nginx 之类的代理服务器进行暴露。要这样做,配置代理以转发请求,并可选地设置所需的标头(如果不在网络上暴露 Ollama)。

例如,使用 Nginx:

bash
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.10.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_PROXYHTTPS_PROXY,Ollama 将与代理服务器兼容。在使用这两个变量时,请确保它们设置在 ollama serve 可以访问其值的地方。当使用 HTTPS_PROXY 时,请确保已将代理证书安装为系统证书。有关如何在您的平台上使用环境变量的更多信息,请参阅上面的章节。

如何在 Docker 后的代理中使用 Ollama?

可以通过在启动容器时传递 -e HTTPS_PROXY=https://proxy.example.com 来配置 Ollama Docker 镜像以使用代理。

或者,可以配置 Docker 守护程序以使用代理。有关说明,请参阅 Docker Desktop on macOSWindows 上的 Docker DesktopLinux 上的 Docker Desktop ,以及 Docker daemon with systemd

使用 HTTPS 时,请确保证书已安装为系统证书。如果使用自签名证书,可能需要新的 Docker 镜像。

dockerfile
FROM ollama/ollama
COPY my-ca.pem /usr/local/share/ca-certificates/my-ca.crt
RUN update-ca-certificates

构建并运行这个镜像:

shell
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 端点。

shell
curl http://localhost:11434/api/generate -d '{"model": "mistral"}'

要使用 generate 端点预加载 mistral 模型,请使用:

shell
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' 将在生成响应后立即卸载模型

shell
curl http://localhost:11434/api/generate -d '{"model": "llama3", "keep_alive": -1}'

例如,若要预加载模型并将其保留在内存中,请使用:

shell
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 量化模型是以流式方式加载的, 而不是使用内存映射。在流式加载中, 模型文件是按需读取的, 相关部分被逐步加载到内存中。降低运行内存要求.

热爱生活,热爱 Ollama