常见问题

本文内容均由Ollama官方文档翻译,仅供个人学习,如有差异请以官网文档为准(https://ollama.com)ollama.cadn.net.cn

如何升级 Ollama?

macOS 和 Windows 上的 Ollama 将自动下载更新。单击任务栏或菜单栏中的图标,然后点击“重启以更新”以应用更新。您也可以通过手动下载最新版本来安装更新。ollama.cadn.net.cn

在 Linux 上,重新运行安装脚本:ollama.cadn.net.cn

curl -fsSL https://ollama.com/install.sh | sh

如何查看日志?

有关使用日志的更多信息,请参阅故障排除文档。ollama.cadn.net.cn

我的 GPU 是否与 Ollama 兼容?

请参阅 GPU 文档ollama.cadn.net.cn

我如何指定上下文窗口大小?

默认情况下,Ollama 使用 2048 个 token 的上下文窗口大小。ollama.cadn.net.cn

若在使用 ollama run 时需要修改此设置,请使用 /set parameterollama.cadn.net.cn

/set parameter num_ctx 4096

使用 API 时,请指定 num_ctx 参数:ollama.cadn.net.cn

curl http://localhost:11434/api/generate -d '{
  "model": "llama3.2",
  "prompt": "Why is the sky blue?",
  "options": {
    "num_ctx": 4096
  }
}'

我如何判断我的模型是否已加载到GPU上?

使用 ollama ps 命令查看当前已加载到内存中的模型。ollama.cadn.net.cn

ollama ps

输出::ollama.cadn.net.cn

NAME          ID              SIZE     PROCESSOR    UNTIL
llama3:70b    bcfb190ca3a7    42 GB    100% GPU     4 minutes from now

Processor 列将显示模型被加载到的内存位置:ollama.cadn.net.cn

  • 100% GPU 表示模型已完全加载到GPU中
  • 100% CPU 表示模型已完全加载到系统内存中
  • 48%/52% CPU/GPU 表示模型被部分加载到 GPU 上,部分加载到系统内存中

我该如何配置 Ollama 服务器?

Ollama 服务器可以通过环境变量进行配置。ollama.cadn.net.cn

在 Mac 上设置环境变量

如果 Ollama 以 macOS 应用程序方式运行,则应使用 launchctl 设置环境变量:ollama.cadn.net.cn

  1. 对于每个环境变量,请调用 launchctl setenvollama.cadn.net.cn

     launchctl setenv OLLAMA_HOST "0.0.0.0:11434"
    
  2. 重启 Ollama 应用程序。ollama.cadn.net.cn

在 Linux 上设置环境变量

如果 Ollama 以 systemd 服务方式运行,则应使用 systemctl 设置环境变量:ollama.cadn.net.cn

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

  2. 对于每个环境变量,请在 [Service] 小节下添加一行 Environmentollama.cadn.net.cn

     [Service]
     Environment="OLLAMA_HOST=0.0.0.0:11434"
    
  3. 保存并退出。ollama.cadn.net.cn

  4. 重新加载 systemd 并重启 Ollama:ollama.cadn.net.cn

    systemctl daemon-reload
    systemctl restart ollama
    

在 Windows 上设置环境变量

在 Windows 上,Ollama 会继承您的用户和系统环境变量。ollama.cadn.net.cn

  1. 首先,通过在任务栏中点击 Ollama 来退出该程序。ollama.cadn.net.cn

  2. 启动“设置”(Windows 11)或“控制面板”(Windows 10)应用程序,然后搜索环境变量ollama.cadn.net.cn

  3. 点击 编辑您账户的环境变量ollama.cadn.net.cn

  4. 为您的用户账户编辑或创建一个新变量,用于 OLLAMA_HOSTOLLAMA_MODELS 等。ollama.cadn.net.cn

  5. 点击“确定/应用”以保存。ollama.cadn.net.cn

  6. 从 Windows 开始菜单启动 Ollama 应用程序。ollama.cadn.net.cn

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

Ollama 从互联网拉取模型,可能需要代理服务器才能访问模型。使用 HTTPS_PROXY 可将出站请求通过代理进行重定向。请确保已将代理证书作为系统证书安装。有关如何在您的平台上使用环境变量的详细信息,请参阅上方章节。ollama.cadn.net.cn

[!NOTE] 避免设置 HTTP_PROXY。Ollama 不通过 HTTP 拉取模型,仅使用 HTTPS。设置 HTTP_PROXY 可能会中断客户端与服务器之间的连接。ollama.cadn.net.cn

如何在 Docker 中通过代理使用 Ollama?

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

或者,可以配置 Docker 守护进程使用代理。相关说明可在 Docker Desktop 的 macOSWindowsLinux 平台,以及 Docker systemd 守护进程 中查阅。ollama.cadn.net.cn

确保在使用 HTTPS 时,证书已作为系统证书安装。若使用自签名证书,这可能需要构建新的 Docker 镜像。ollama.cadn.net.cn

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

构建并运行此镜像:ollama.cadn.net.cn

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.cadn.net.cn

如何在我的网络中暴露 Ollama 服务?

Ollama 默认绑定 127.0.0.1 的 11434 端口。可通过 OLLAMA_HOST 环境变量更改绑定地址。ollama.cadn.net.cn

请参阅上方的部分,了解如何在您的平台上设置环境变量。ollama.cadn.net.cn

我如何在代理服务器环境下使用 Ollama?

Ollama 运行一个 HTTP 服务器,可通过 Nginx 等代理服务器进行暴露。为此,需配置代理以转发请求,并可选地设置所需标头(若未在局域网中直接暴露 Ollama 服务)。例如,使用 Nginx 时的配置如下:ollama.cadn.net.cn

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;
    }
}

如何将 Ollama 与 ngrok 配合使用?

Ollama 可通过一系列隧道工具进行访问。例如使用 Ngrok:ollama.cadn.net.cn

ngrok http 11434 --host-header="localhost:11434"

如何将 Ollama 与 Cloudflare Tunnel 配合使用?

要将 Ollama 与 Cloudflare Tunnel 一起使用,请使用 --url--http-host-header 标志:ollama.cadn.net.cn

cloudflared tunnel --url http://localhost:11434 --http-host-header="localhost:11434"

如何允许其他 Web 源访问 Ollama?

Ollama 默认允许来自 127.0.0.10.0.0.0 的跨域请求。可通过 OLLAMA_ORIGINS 进一步配置其他源。ollama.cadn.net.cn

请参阅上方的部分,了解如何在您的平台上设置环境变量。ollama.cadn.net.cn

模型存储在哪里?

  • macOS: ~/.ollama/models
  • Linux: /usr/share/ollama/.ollama/models
  • Windows: C:\Users\%username%\.ollama\models

如何将它们设置为其他位置?

如果需要使用其他目录,请将环境变量 OLLAMA_MODELS 设置为所选目录。ollama.cadn.net.cn

注意:在 Linux 上使用标准安装程序时,ollama 用户需要对指定目录具有读写权限。若要将目录归属给 ollama 用户,请运行 sudo chown -R ollama:ollama <directory>ollama.cadn.net.cn

请参阅上方的部分,了解如何在您的平台上设置环境变量。ollama.cadn.net.cn

如何在 Visual Studio Code 中使用 Ollama?

VSCode 以及其他编辑器已有大量可用的插件,这些插件均基于 Ollama 构建。详情请参见主代码仓库 README 底部的 扩展与插件 列表。ollama.cadn.net.cn

如何在 Docker 中使用 GPU 加速运行 Ollama?

Ollama Docker 容器可在 Linux 或 Windows(需使用 WSL2)环境下配置 GPU 加速。这需要安装 nvidia-container-toolkit。更多详情请参见 ollama/ollamaollama.cadn.net.cn

由于缺乏GPU直通和模拟功能,Docker Desktop在macOS上不支持GPU加速。ollama.cadn.net.cn

为什么在 Windows 10 的 WSL2 中网络速度较慢?

这可能会影响 Ollama 的安装以及模型的下载。ollama.cadn.net.cn

打开 Control Panel > Networking and Internet > View network status and tasks,并在左侧面板点击 Change adapter settings。找到 vEthernel (WSL) 适配器,右键单击并选择 Properties。 点击 Configure 并打开 Advanced 选项卡。逐一查看各项属性,直到找到 Large Send Offload Version 2 (IPv4)Large Send Offload Version 2 (IPv6)。请禁用这两项属性。ollama.cadn.net.cn

如何将模型预加载到 Ollama 中以获得更快的响应速度?

如果您使用的是 API,可以通过向 Ollama 服务器发送空请求来预加载模型。此方法适用于 /api/generate/api/chat 两个 API 端点。ollama.cadn.net.cn

要使用 generate 接口预加载 mistral 模型,请使用:ollama.cadn.net.cn

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

要使用聊天补全端点,请使用:ollama.cadn.net.cn

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

要使用命令行界面(CLI)预加载模型,请使用以下命令:ollama.cadn.net.cn

ollama run llama3.2 ""

我该如何让模型保留在内存中,或者使其立即卸载?

默认情况下,模型在内存中保留 5 分钟后再被卸载。这有助于在您频繁向 LLM 发起请求时提供更快的响应速度。如果您希望立即将模型从内存中卸载,请使用 ollama stop 命令:ollama.cadn.net.cn

ollama stop llama3.2

如果您使用的是 API,请在 /api/generate/api/chat 接口中使用 keep_alive 参数来设置模型在内存中保留的时间。可将 keep_alive 参数设置为:ollama.cadn.net.cn

  • 持续时间字符串(例如 "10m" 或 "24h")
  • 以秒为单位的数字(例如 3600)
  • 任何负数,用于使模型持续保留在内存中(例如 -1 或 "-1m")
  • '0' 该选项将在生成响应后立即卸载模型

例如,要预加载模型并使其保留在内存中,请使用:ollama.cadn.net.cn

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

要卸载模型并释放内存,请使用:ollama.cadn.net.cn

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

alternatively, you can change the amount of time all models are loaded into memory by setting the OLLAMA_KEEP_ALIVE environment variable when starting the Ollama server. the OLLAMA_KEEP_ALIVE variable uses the same parameter types as the keep_alive parameter types mentioned above. refer to the section explaining how to configure the Ollama server to correctly set the environment variable.ollama.cadn.net.cn

keep_alive API 参数与 /api/generate/api/chat API 端点一起使用时,将覆盖 OLLAMA_KEEP_ALIVE 设置。ollama.cadn.net.cn

如何管理 Ollama 服务器可排队的最大请求数?

如果向服务器发送的请求过多,它将返回503错误,表明服务器已超载。您可以通过将OLLAMA_MAX_QUEUE设置为相应值来调整可排队的请求数量。ollama.cadn.net.cn

Ollama 如何处理并发请求?

Ollama 支持两种级别的并发处理。如果您的系统具备充足的可用内存(使用 CPU 推理时为系统内存,使用 GPU 推理时为显存),则可以同时加载多个模型。对于某个特定模型,如果在加载时系统具备充足的可用内存,该模型将被配置为允许并行请求处理。ollama.cadn.net.cn

如果在已有模型正在加载的情况下,可用内存不足以加载新的模型请求,则所有新请求将被排队,直到新模型能够被加载。随着先前的模型变为空闲状态,一个或多个模型将被卸载,为新模型腾出空间。排队的请求将按顺序进行处理。当使用 GPU 推理时,新模型必须能够完全装入显存(VRAM),才能支持并发加载多个模型。ollama.cadn.net.cn

对于给定模型,并行请求处理会导致上下文大小随并行请求数量线性增加。例如,2K上下文配合4个并行请求,将导致上下文扩展至8K,并产生额外的内存分配。ollama.cadn.net.cn

以下服务器设置可用于在大多数平台上调整 Ollama 处理并发请求的方式:ollama.cadn.net.cn

  • OLLAMA_MAX_LOADED_MODELS - 可并发加载的最大模型数量,前提是这些模型能够容纳在可用内存中。默认值为 GPU 数量的 3 倍,若为 CPU 推理则默认为 3。
  • OLLAMA_NUM_PARALLEL - 每个模型同时处理的最大并行请求数。默认值将根据可用内存自动选择 4 或 1。
  • OLLAMA_MAX_QUEUE - Ollama 在繁忙时排队请求的最大数量,超过该数量将拒绝额外请求。默认值为 512。

注意:由于ROCm v5.7版本中可用VRAM报告功能的限制,配备Radeon GPU的Windows系统当前默认最多仅支持加载1个模型。待ROCm v6.2版本发布后,Windows Radeon将遵循上述默认设置。您可在Windows上的Radeon设备中启用并发模型加载功能,但请确保所加载模型的总显存占用不超过GPU的可用VRAM容量。ollama.cadn.net.cn

Ollama 是如何在多块 GPU 上加载模型的?

加载新模型时,Ollama 会根据模型所需的 VRAM 与当前可用的 VRAM 进行评估。若该模型能够完全装入任一单个 GPU 中,Ollama 将把模型加载至该 GPU 上。这通常能提供最佳性能,因为可以减少推理过程中通过 PCI 总线传输的数据量。若模型无法完全装入单个 GPU,则会将其分散加载至所有可用的 GPU 上。ollama.cadn.net.cn

如何启用 Flash Attention?

Flash Attention 是大多数现代模型的一项功能,可在上下文长度增长时显著减少内存使用。要启用 Flash Attention,请在启动 Ollama 服务器时将 OLLAMA_FLASH_ATTENTION 环境变量设置为 1ollama.cadn.net.cn

如何为 K/V 缓存设置量化类型?

当启用 Flash Attention 时,K/V 上下文缓存可进行量化,以显著降低内存使用量。ollama.cadn.net.cn

要使用量化后的 K/V 缓存功能,请设置以下环境变量:ollama.cadn.net.cn

  • OLLAMA_KV_CACHE_TYPE - K/V缓存的量化类型。默认值为f16

注意:目前这是一个全局选项——意味着所有模型都将使用指定的量化类型运行。ollama.cadn.net.cn

当前可用的 K/V 缓存量化类型有:ollama.cadn.net.cn

  • f16 - 高精度和高内存占用(默认值)。
  • q8_0 - 8位量化,内存使用量约为f16的一半,精度损失极小,通常对模型质量无明显影响(若不使用f16,推荐使用此选项)。
  • q4_0 - 4位量化,内存占用约为f16的1/4,但精度会有轻微至中等程度的损失,在较高上下文长度下可能更为明显。

缓存量化对模型响应质量的影响程度取决于具体模型和任务。具有较高GQA(分组查询注意力)数量的模型(例如Qwen2)在量化过程中可能比GQA数量较低的模型受到更大的精度影响。ollama.cadn.net.cn

您可能需要尝试不同的量化类型,以在内存使用量和质量之间找到最佳平衡。ollama.cadn.net.cn

匹配结果:""

    未找到匹配“"