跳转至

常见问题解答

如何升级 Ollama?

在 macOS 和 Windows 上,Ollama 会自动下载更新。点击任务栏或菜单栏项目,然后点击“重新启动以更新”来应用更新。还可以通过手动下载最新版本来安装更新。

在 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": "llama2",
  "prompt": "Why is the sky blue?",
  "options": {
    "num_ctx": 4096
  }
}'

如何配置 Ollama 服务器?

Ollama 服务器可以通过环境变量进行配置。

在 Mac 上设置环境变量

如果 Ollama 作为 macOS 应用程序运行,应该使用 launchctl 设置环境变量:

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

launchctl setenv OLLAMA_HOST "0.0.0.0"

2. 重启 Ollama 应用程序。

在 Linux 上设置环境变量

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

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

2.[Service] 部分下为每个环境变量添加一行 Environment

```ini
[Service]
Environment="OLLAMA_HOST=0.0.0.0"
```

3. 保存并退出。

4. 重载 systemd 并重启 Ollama:

systemctl daemon-reload
systemctl restart ollama

在 Windows 上设置环境变量

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

  1. 首先通过点击任务栏上的 Ollama 退出 Ollama

  2. 从控制面板编辑系统环境变量

  3. 为您的用户账户编辑或创建新的变量,例如 OLLAMA_HOSTOLLAMA_MODELS 等。

  4. 点击确定/应用以保存

  5. 在新的终端窗口中运行 ollama

如何在我的网络上暴露 Ollama?

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

参考上面的部分如何配置 Ollama 服务器了解如何在您的平台上设置环境变量。

如何在代理服务器下使用 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.10.0.0.0 的跨源请求。可以使用 OLLAMA_ORIGINS 配置额外的来源。

参考上面的部分如何配置 Ollama 服务器了解如何在您的平台上设置环境变量。

模型存储在哪里?

  • macOS: ~/.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?

已经有很多适用于 VSCode 以及其他编辑器的插件可以利用 Ollama。查看主存储库 readme 底部的扩展和插件列表

如何在代理后面使用 Ollama?

如果配置了 HTTP_PROXYHTTPS_PROXY,Ollama 与代理服务器兼容。使用这些变量时,确保在 ollama serve 可以访问值的位置设置它们。使用 HTTPS_PROXY 时,请确保代理证书作为系统证书安装。参考上面的部分了解如何在您的平台上使用环境变量。

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

Ollama Docker 容器映像可以配置为使用代理,启动容器时传递 -e HTTPS_PROXY=https://proxy.example.com

或者,可以配置 Docker 守护进程使用代理。在 macOSWindowsLinux 的 Docker Desktop 以及使用 systemd 的 Docker daemon 上都有说明。

使用 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 中使用 GPU 加速的 Ollama?

在 Linux 或 Windows(带有 WSL2)上,Ollama Docker 容器可以配置 GPU 加速。这需要 nvidia-container-toolkit。更多详情见 ollama/ollama

由于缺乏 GPU 通道和仿真,Docker Desktop 在 macOS 上不提供 GPU 加速。

为什么在 Windows 10 的 WSL2 上网络缓慢?

这可能影响 Ollama 的安装以及模型的下载。

打开 Control Panel > Networking and Internet > View network status and tasks,点击左侧面板上的 Change adapter settings。找到 vEthernet (WSL) 适配器,右键单击并选择 Properties。点击 Configure 并打开 Advanced 标签。浏览每个属性,直到找到 Large Send Offload Version 2 (IPv4)Large Send Offload Version 2 (IPv6)禁用 这些属性。

如何预加载模型以获得更快的响应时间?

如果您使用 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"}'

如何保持模型在内存中加载或立即卸载?

默认情况下,模型在内存中保持 5 分钟后会被卸载。如果您频繁地向 LLM 发送请求,这将允许更快的响应时间。然而,您可能希望在 5 分钟过去之前释放内存或无限期保持模型加载。使用 /api/generate/api/chat API 端点的 keep_alive 参数来控制模型留在内存中的时间。

keep_alive 参数可以设置为: * 一个持续时间字符串(如 "10m" 或 "24h") * 以秒为单位的数字(如 3600) * 任何负数,这将使模型一直保持在内存中(例如 -1 或 "-1m") * '0',这将在生成响应后立即卸载模型

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

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

要卸载模型并释放内存使用:

curl http://localhost:11434/api/generate -d '{"model": "llama2", "keep_alive": 0}'