网站首页 > 编程文章 正文
一、Ollama
Ollama 是一个用于在本地运行大型语言模型的工具,下面将介绍如何在不同操作系统上安装和使用 Ollama。
1. 安装
(1). macOS和Windows 预览版
安装 Ollama,请点击以下链接进行下载:
https://ollama.com/
(2). Linux
在 Linux 上,可以通过以下命令进行安装:
curl -fsSL https://ollama.com/install.sh | sh
如果需要手动安装,请参考手动安装说明
(3). Docker
Ollama 官方提供了 Docker 镜像,可以在 Docker Hub 上获取:
Ollama Docker 镜像 ollama/ollama
2. 快速开始
访问ollama仓库 https://ollama.com/search 搜索deepseek
要运行并与 deepseek-r1进行交流,可以使用以下命令:
ollama run deepseek-r1:7B
3. 自定义模型GGUF
Ollama 支持在 Modelfile 中导入 GGUF 模型:
创建一个名为 Modelfile 的文件,使用 FROM 指令指定要导入的模型的本地文件路径。
# 基础配置(必须)
FROM ./vicuna-33b.Q4_0.gguf
# 高级参数配置(可选)
PARAMETER temperature 0.7 # 控制创造性(0-1)
PARAMETER num_ctx 4096 # 上下文长度翻倍
SYSTEM "你是一名AI法律顾问,用中文回答时必须引用法律条文"
ollama create example -f Modelfile
运行模型 ollama run example
1. 格式
Modelfile的格式如下:
指令 | 描述 |
FROM(必需) | 定义要使用的基础模型。 |
PARAMETER | 设置Ollama运行模型的参数。 |
TEMPLATE | 要发送到模型的完整提示模板。 |
SYSTEM | 指定将设置在模板中的系统消息。 |
ADAPTER | 定义要应用于模型的(Q)LoRA适配器。 |
LICENSE | 指定法律许可。 |
MESSAGE | 指定消息历史。 |
2.PARAMETER <参数> <参数值>
参数 | 描述 | 值类型 | 示例用法 |
mirostat | 启用 Mirostat 采样以控制困惑度。(默认值: 0, 0 = 禁用, 1 = Mirostat, 2 = Mirostat 2.0) | 整数 | mirostat 0 |
mirostat_eta | 影响算法对生成文本反馈的响应速度。较低的学习率会导致调整速度较慢,而较高的学习率会使算法更具响应性。(默认值: 0.1) | 浮点数 | mirostat_eta 0.1 |
mirostat_tau | 控制输出的连贯性和多样性之间的平衡。较低的数值会导致更加聚焦和连贯的文本。(默认值: 5.0) | 浮点数 | mirostat_tau 5.0 |
num_ctx | 设置用于生成下一个 Token 的上下文窗口大小。(默认值: 2048) | 整数 | num_ctx 4096 |
num_ gqa | Transformer 层中的 GQA 组数。某些模型需要,例如 llama2:70b 需要设置为 8 | 整数 | num_ gqa 1 |
num_gpu | 发送到 GPU 的层数。在 macOS 上,默认值为 1 以启用 Metal 支持,为 0 则禁用。 | 整数 | num_gpu 50 |
num_thread | 设置计算过程中要使用的线程数。默认情况下,Ollama 会检测以获得最佳性能。建议将此值设置为系统实际物理 CPU 核心数(而非逻辑核心数)。 | 整数 | num_thread 8 |
repeat_ last_ n | 设置模型回顾以避免重复的范围。(默认值: 64, 0 = 禁用, -1 = num_ctx) | 整数 | repeat_ last_ n 64 |
repeat_penalty | 设置惩罚重复的强度。较高的值(例如 1.5)会更严厉地惩罚重复,而较低的值(例如 0.9)会更宽容。(默认值: 1.1) | 浮点数 | repeat_penalty 1.1 |
temperature | 模型的温度。增加温度会使模型更具创造性。(默认值: 0.8) | 浮点数 | temperature 0.7 |
seed | 设置用于生成的随机数种子。将其设置为特定数字将使模型对相同提示生成相同的文本。(默认值: 0) | 整数 | seed 42 |
stop | 设置要使用的停止序列。当遇到此模式时,LLM 将停止生成文本并返回。可以通过在模型文件中指定多个单独的 stop 参数来设置多个停止模式。 | 字符串 | stop "AI assistant:" |
tfs_z | 尾部自由采样用于减少输出中较不可能的 Token 的影响。较高的值(例如 2.0)会更大程度地减少影响,而值为 1.0 则禁用此设置。(默认值: 1) | 浮点数 | tfs_z 1 |
num_predict | 生成文本时要预测的最大 Token 数。 (默认值: 128, -1 = 无限生成, -2 = 填充上下文) | 整数 | num_predict 42 |
top_k | 减少生成无意义文本的概率。较高的值(例如 100)会给出更多样化的答案,而较低的值(例如 10)会更保守。(默认值: 40) | 整数 | top_k 40 |
top_p | 与 top-k 一起使用。较高的值(例如 0.95)会导致更多样化的文本,而较低的值(例如 0.5)会生成更聚焦和保守的文本。(默认值: 0.9) | 浮点数 | top_p 0.9 |
3.变量
在模板中,我们使用以下变量来表示不同部分的内容:
变量 | 描述 |
{{ .System }} | 用于指定自定义行为的系统消息。 |
{{ .Prompt }} | 用户提示消息。 |
{{ .Response }} | 模型生成的回复。在生成回复时,此变量后的文本将被省略。 |
TEMPLATE """{{ if .System }}<|im_start|>system
{{ .System }}<|im_end|>
{{ end }}{{ if .Prompt }}<|im_start|>user
{{ .Prompt }}<|im_end|>
{{ end }}<|im_start|>assistant
"""
4. SYSTEM
SYSTEM 指令用于指定模板中要使用的系统消息。
SYSTEM """<system message>"""
5. ADAPTER
ADAPTER 指令用于指定要应用于基础模型的 LoRA 适配器。该指令的值应为绝对路径或相对于 Modelfile 的路径,并且文件必须采用 GGML 文件格式。适配器应该是从基础模型调整过的,否则行为是不确定的。
ADAPTER ./ollama-lora.bin
6. LICENSE
LICENSE 指令允许您指定在使用此 Modelfile 的模型下共享或分发的法律许可。
LICENSE """
<许可证文本>
"""
7. MESSAGE
MESSAGE 指令允许您为模型指定消息历史记录,以便在响应时使用。使用多个 MESSAGE 命令的迭代来构建对话,这将引导模型以类似的方式回答。
MESSAGE <角色> <消息>
###
4. 命令参考
以下是 Ollama 常用命令的整理表格
命令类别 | 命令/指令 | 功能描述 |
模型管理 | ollama list | 列出本地已安装的模型列表 |
ollama pull <模型名称> | 从仓库下载模型到本地(若未下载则自动拉取) | |
ollama run <模型名称> | 运行指定模型,进入交互式对话(若本地无模型则先下载) | |
ollama rm <模型名称> | 删除本地已安装的模型 | |
ollama cp <源模型> <新模型> | 复制模型并生成新副本(用于自定义修改或实验) | |
ollama show <模型名称> | 查看模型的详细信息(如版本、参数配置等) | |
ollama push <模型名称> | 将本地模型推送至私有仓库(需配置权限) | |
服务控制 | ollama serve | 启动本地 Ollama 服务(默认监听端口 11434) |
ollama ps | 查看当前正在运行的模型实例 | |
交互模式指令 | /set temperature <值> | 调整模型创造性(值范围 0-1,默认 0.8) |
/set top_k <值> | 控制生成结果的多样性(默认 40) | |
/clear | 清空当前对话上下文 | |
/bye | 退出交互模式 | |
/load <模型名称> | 动态切换当前会话的模型 | |
/save <模型名称> | 保存当前会话状态到指定模型 | |
自定义模型 | ollama create -f <文件路径> | 根据 Modelfile 创建自定义模型(支持设置系统提示、参数等) |
调试与信息 | ollama --version | 查看 Ollama 版本信息 |
ollama --help | 显示所有支持的指令及说明 |
补充说明
- 交互参数示例
- ollama run llama2 "写一篇科幻小说" --temperature 0.7 --top_p 0.9:可指定生成参数直接运行任务57。
- 自定义模型配置
- 在 Modelfile 中可通过 SYSTEM 指令定义模型角色,例如 SYSTEM "你是一个编程专家"58。
- 环境变量
- 通过 OLLAMA_HOST 可修改服务监听地址(如 0.0.0.0:11434)
5. REST API
Ollama 提供了用于运行和管理模型的 REST API。
(1). 生成响应
curl http://localhost:11434/api/generate -d '{
"model": "deepseek-r1:7B",
"prompt":"Why is the sky blue?"
}'
(2). 与模型交流
curl http://localhost:11434/api/chat -d '{
"model": "mistral",
"messages": [
{ "role": "user", "content": "why is the sky blue?" }
]
}'
(3). OpenAI Python库
from openai import OpenAI
client = OpenAI(
base_url='http://localhost:11434/v1/',
# 必需但被忽略
api_key='ollama',
)
chat_completion = client.chat.completions.create(
messages=[
{
'role': 'user',
'content': 'Say this is a test',
}
],
model='llama2',
)
二、在Linux上的安装配置
1. 安装
通过运行以下一行命令来安装Ollama:
curl -fsSL https://ollama.com/install.sh | sh
2. AMD Radeon GPU支持
虽然AMD已经将amdgpu驱动程序贡献给了官方Linux内核源代码,但版本较旧,可能不支持所有ROCm功能。我们建议您从
https://www.amd.com/en/support/linux-drivers下载并安装最新的驱动程序,以获得对您的Radeon GPU最佳支持。
3. 手动安装
(1). 下载ollama二进制文件
Ollama被分发为一个独立的二进制文件。将其下载到您的PATH目录中:
sudo curl -L https://ollama.com/download/ollama-linux-amd64 -o /usr/bin/ollama
sudo chmod +x /usr/bin/ollama
(2). 将Ollama添加为启动服务(参考)
为Ollama创建一个用户:
sudo useradd -r -s /bin/false -m -d /usr/share/ollama ollama
在/etc/systemd/system/目录下创建一个服务文件ollama.service:
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
# 核心服务启动命令
ExecStart=/usr/bin/ollama serve
# 用户与权限配置
User=ollama
Group=ollama
# 网络与端口监听
Environment="OLLAMA_HOST=0.0.0.0:11434" # 监听所有IP地址的11434端口o
Environment="OLLAMA_ORIGINS=*" # 允许所有请求来源o
# 性能与调试配置
Environment="OLLAMA_DEBUG=1" # 启用调试日志o
Environment="OLLAMA_FLASH_ATTENTION=1" # 启用快速注意力机制加速推理o
Environment="OLLAMA_NUM_PARALLEL=2" # 最大并发用户数o
Environment="OLLAMA_MAX_LOADED_MODELS=2" # 同时加载的模型数量上限o
# 存储与内存管理
Environment="OLLAMA_MODELS=/mnt/data/.ollama/models" # 自定义模型存储路径o
Environment="OLLAMA_KEEP_ALIVE=24h" # 模型在内存中的存活时间o
# 资源限制
MemoryLimit=16G # 限制最大内存使用(根据硬件调整)o
CPUQuota=200% # 限制CPU使用率(如2核全速)o
# 日志管理
StandardOutput=file:/var/log/ollama/out.log
StandardError=file:/var/log/ollama/error.log
# 安全增强
NoNewPrivileges=true # 禁止服务获取新权限o
ProtectSystem=strict # 限制文件系统写入权限o
# 服务重启策略
Restart=always
RestartSec=3
[Install]
WantedBy=default.target
然后启动服务:
sudo systemctl daemon-reload
sudo systemctl enable ollama
Ollama 提供了多种环境变量以供配置:
OLLAMA_DEBUG:是否开启调试模式,默认为 false。
OLLAMA_FLASH_ATTENTION:是否闪烁注意力,默认为 true。
OLLAMA_HOST:Ollama 服务器的主机地址,默认为空。
OLLAMA_KEEP_ALIVE:保持连接的时间,默认为 5m。
OLLAMA_LLM_LIBRARY:LLM 库,默认为空。
OLLAMA_MAX_LOADED_MODELS:最大加载模型数,默认为 1。
OLLAMA_MAX_QUEUE:最大队列数,默认为空。
OLLAMA_MAX_VRAM:最大虚拟内存,默认为空。
OLLAMA_MODELS:模型目录,默认为空。
OLLAMA_NOHISTORY:是否保存历史记录,默认为 false。
OLLAMA_NOPRUNE:是否启用剪枝,默认为 false。
OLLAMA_NUM_PARALLEL:并行数,默认为 1。
OLLAMA_ORIGINS:允许的来源,默认为空。
OLLAMA_RUNNERS_DIR:运行器目录,默认为空。
OLLAMA_SCHED_SPREAD:调度分布,默认为空。
OLLAMA_TMPDIR:临时文件目录,默认为空。Here is the optimized list in the desired format:
OLLAMA_DEBUG:是否开启调试模式,默认为 false。
OLLAMA_FLASH_ATTENTION:是否闪烁注意力,默认为 true。
OLLAMA_HOST:Ollama 服务器的主机地址,默认为空。
OLLAMA_KEEP_ALIVE:保持连接的时间,默认为 5m。
OLLAMA_LLM_LIBRARY:LLM 库,默认为空。
OLLAMA_MAX_LOADED_MODELS:最大加载模型数,默认为 1。
OLLAMA_MAX_QUEUE:最大队列数,默认为空。
OLLAMA_MAX_VRAM:最大虚拟内存,默认为空。
OLLAMA_MODELS:模型目录,默认为空。
OLLAMA_NOHISTORY:是否保存历史记录,默认为 false。
OLLAMA_NOPRUNE:是否启用剪枝,默认为 false。
OLLAMA_NUM_PARALLEL:并行数,默认为 1。
OLLAMA_ORIGINS:允许的来源,默认为空。
OLLAMA_RUNNERS_DIR:运行器目录,默认为空。
OLLAMA_SCHED_SPREAD:调度分布,默认为空。
OLLAMA_TMPDIR:临时文件目录,默认为空。
(3). 安装CUDA驱动程序(可选 - 适用于Nvidia GPU)
下载并安装 CUDA。
通过运行以下命令验证驱动程序是否已安装,该命令应打印有关您的GPU的详细信息:
nvidia-smi
(4). 安装ROCm(可选 - 适用于Radeon GPU)
下载并安装 ROCm。确保安装ROCm v6。
(5). 启动Ollama
使用systemd启动Ollama:
sudo systemctl start ollama
(6). 更新
通过再次运行安装脚本来更新Ollama:
curl -fsSL
https://ollama.com/install.sh | sh 或通过下载Ollama二进制文件:
sudo curl -L https://ollama.com/download/ollama-linux-amd64 -o /usr/bin/ollama
sudo chmod +x /usr/bin/ollama
(7). 查看日志
要查看作为启动服务运行的Ollama的日志,请运行:
journalctl -u ollama
(8). 卸载
删除Ollama服务:
sudo systemctl stop ollama
sudo systemctl disable ollama
sudo rm /etc/systemd/system/ollama.service
从您的bin目录(/usr/local/bin、/usr/bin或/bin)中删除Ollama二进制文件:
sudo rm $(which ollama)
删除已下载的模型以及Ollama服务用户和组:
sudo rm -r /usr/share/ollama
sudo userdel ollama
sudo groupdel ollama
三、故障排除
有时候 Ollama 可能表现不如预期。找出发生了什么的最佳方法之一是查看日志。在 Mac 上通过运行以下命令找到日志:
cat ~/.ollama/logs/server.log
在带有 systemd 的 Linux 系统上,可以通过以下命令找到日志:
journalctl -u ollama
当在 容器 中运行 Ollama 时,日志会输出到容器中的 stdout/stderr:
docker logs (使用 docker ps 查找容器名称)
如果在终端中手动运行 ollama serve,日志将显示在该终端上。
在 Windows 上运行 Ollama 时,有几个不同的位置。您可以通过按 +R 键并输入以下内容在资源管理器窗口中查看它们:
explorer %LOCALAPPDATA%\Ollama 查看日志
explorer %LOCALAPPDATA%\Programs\Ollama 浏览二进制文件(安装程序会将其添加到用户 PATH)
explorer %HOMEPATH%\.ollama 浏览模型和配置存储位置
explorer %TEMP% 临时可执行文件存储在一个或多个 ollama* 目录中
要启用额外的调试日志以帮助解决问题,首先从托盘菜单中退出运行的应用程序,然后在 PowerShell 终端中执行以下命令:
$env:OLLAMA_DEBUG="1"
& "ollama app.exe"
1. LLM 库
Ollama 包含为不同 GPU 和 CPU 矢量功能编译的多个 LLM 库。Ollama 会根据您系统的功能选择最佳的库。如果这种自动检测出现问题,或者遇到其他问题(例如 GPU 崩溃),您可以通过强制指定特定的 LLM 库来解决。cpu_avx2 将表现最佳,其次是 cpu_avx,最兼容但速度最慢的是 cpu。在 MacOS 下的 Rosetta 模拟将与 cpu 库一起使用。
在服务器日志中,您将看到类似以下消息的内容(每个版本可能有所不同):
Dynamic LLM libraries [rocm_v6 cpu cpu_avx cpu_avx2 cuda_v11 rocm_v5]
实验性 LLM 库覆盖
您可以将 OLLAMA_LLM_LIBRARY 设置为任何可用的 LLM 库以绕过自动检测,例如,如果您有一个 CUDA 卡,但想要强制使用具有 AVX2 矢量支持的 CPU LLM 库,可以使用以下命令:
OLLAMA_LLM_LIBRARY="cpu_avx2" ollama serve
您可以通过以下命令查看 CPU 的功能:
cat /proc/cpuinfo| grep flags | head -1
2. AMD Radeon GPU 支持
Ollama 利用 AMD ROCm 库,该库不支持所有 AMD GPU。在某些情况下,您可以强制系统尝试使用一个接近的 LLVM 目标。例如,Radeon RX 5400 是 gfx1034(也称为 10.3.4),但 ROCm 目前不支持此目标。最接近的支持是 gfx1030。您可以使用环境变量 HSA_OVERRIDE_GFX_VERSION 以 x.y.z 语法。例如,要强制系统在 RX 5400 上运行,您可以将 HSA_OVERRIDE_GFX_VERSION="10.3.0" 设置为服务器的环境变量。如果您有不受支持的 AMD GPU,可以尝试使用下面列出的受支持类型。
目前,已知支持的 GPU 类型如下 LLVM 目标。以下表格显示了一些映射到这些 LLVM 目标的示例 GPU:
LLVM | 示例 GPU |
gfx900 | Radeon RX Vega 56 |
gfx906 | Radeon Instinct MI50 |
gfx908 | Radeon Instinct MI100 |
gfx90a | Radeon Instinct MI210 |
gfx940 | Radeon Instinct MI300 |
gfx941 | |
gfx942 | |
gfx1030 | Radeon PRO V620 |
gfx1100 | Radeon PRO W7900 |
gfx1101 | Radeon PRO W7700 |
gfx1102 | Radeon RX 7600 |
AMD 正在努力增强 ROCm v6,以在将来的发布中扩大对 GPU 家族的支持,这应该会增加对更多 GPU 的支持。
在 Discord 上联系或提交 问题 获取额外帮助。
3. 在 Linux 上安装旧版或预发布版本
如果在 Linux 上遇到问题并希望安装旧版本,或者想在正式发布之前尝试预发布版本,您可以告诉安装脚本要安装哪个版本。
curl -fsSL https://ollama.com/install.sh | OLLAMA_VERSION="0.1.29" sh
四、常见问题
1. 如何升级 Ollama?
在 macOS 和 Windows 上,Ollama 会自动下载更新。点击任务栏或菜单栏项目,然后点击“重新启动以更新”来应用更新。也可以通过手动下载最新版本来安装更新。
在 Linux 上,重新运行安装脚本:
curl -fsSL https://ollama.com/install.sh | sh
2. 如何查看日志?
查看有关使用日志的更多信息,请参阅故障排除文档。
3. 如何指定上下文窗口大小?
默认情况下,Ollama 使用 2048 个标记的上下文窗口大小。
在使用 ollama run 时更改这个值,使用 /set parameter:
/set parameter num_ctx 4096 在使用 API 时,指定 num_ctx 参数:
curl http://localhost:11434/api/generate -d '{
"model": "llama2",
"prompt": "为什么天空是蓝色的?",
"options": {
"num_ctx": 4096
}
}'
4. 如何配置 Ollama 服务器?
Ollama 服务器可以通过环境变量进行配置。
(1). 在 Mac 上设置环境变量 如果 Ollama 作为 macOS 应用程序运行,应使用 launchctl 设置环境变量:
对于每个环境变量,调用 launchctl setenv。
launchctl setenv OLLAMA_HOST "0.0.0.0" 重新启动 Ollama 应用程序。
(2). 在 Linux 上设置环境变量
如果 Ollama 作为 systemd 服务运行,应使用 systemctl 设置环境变量:
通过调用 systemctl edit ollama.service 编辑 systemd 服务。这将打开一个编辑器。
对于每个环境变量,在 [Service] 部分下添加一行 Environment:
[Service]
Environment="OLLAMA_HOST=0.0.0.0"
保存并退出。
重新加载 systemd 并重新启动 Ollama:
systemctl daemon-reload
systemctl restart ollama
(3). 在 Windows 上设置环境变量
在 Windows 上,Ollama 继承您的用户和系统环境变量。
首先通过单击任务栏中的 Ollama 退出它
从控制面板中编辑系统环境变量
为您的用户帐户编辑或创建新变量,如 OLLAMA_HOST、OLLAMA_MODELS 等。
单击 OK/应用以保存
从新的终端窗口运行 ollama
5. 如何在我的网络上公开 Ollama?
默认情况下,Ollama 绑定到 127.0.0.1 端口 11434。使用 OLLAMA_HOST 环境变量更改绑定地址。
有关如何在您的平台上设置环境变量,请参考上面的部分[如何配置 Ollama 服务器]。
6. 如何使用代理服务器与 Ollama 一起使用?
Ollama 运行一个 HTTP 服务器,可以使用诸如 Nginx 之类的代理服务器公开。为此,配置代理以转发请求,并可选择设置所需的标头(如果不在网络上公开 Ollama)。例如,使用 Nginx:
server {
listen 80;
server_name example.com; # 替换为您的域名或 IP
location / {
proxy_pass http://localhost:11434;
proxy_set_header Host localhost:11434;
}
}
7. 如何使用 ngrok 与 Ollama?
可以使用各种隧道工具访问 Ollama。例如,使用 Ngrok:
ngrok http 11434 --host-header="localhost:11434"
8. 如何允许其他网络来源访问 Ollama?
Ollama 默认允许来自 127.0.0.1 和 0.0.0.0 的跨源请求。可以使用 OLLAMA_ORIGINS 配置额外的来源。
有关如何在您的平台上设置环境变量,请参考上面的部分[如何配置 Ollama 服务器]。
9. 模型存储在哪里?
macOS: ~/.ollama/models
Linux: /usr/share/ollama/.ollama/models
Windows: C:\Users\<username>\.ollama\models
(1). 如何将它们设置为不同的位置? 如果需要使用不同的目录,将环境变量 OLLAMA_MODELS 设置为所选目录。
有关如何在您的平台上设置环境变量,请参考上面的部分[如何配置 Ollama 服务器]。
10. Ollama 是否会将我的提示和答案发送回 http://ollama.com?
不会。Ollama 在本地运行,对话数据不会离开您的计算机。
11. 如何在 Visual Studio Code 中使用 Ollama?
已经有大量针对 VSCode 以及其他编辑器的插件可供使用,这些插件利用了 Ollama。请查看主存储库自述文件底部的扩展和插件列表。
12. 如何在代理后面使用 Ollama?
如果配置了 HTTP_PROXY 或 HTTPS_PROXY,Ollama 与代理服务器兼容。在使用这些变量时,请确保在 ollama serve 可以访问这些值的地方设置它们。在使用 HTTPS_PROXY 时,请确保代理证书已安装为系统证书。有关如何在您的平台上使用环境变量,请参考上面的部分。
(1). 如何在 Docker 中使用代理后面的 Ollama? 可以通过在启动容器时传递 -e HTTPS_PROXY=https://proxy.example.com 来配置 Ollama Docker 容器镜像使用代理。
另外,可以配置 Docker 守护程序使用代理。有关 Docker Desktop 在 macOS、Windows 和 Linux 上的说明,以及 Docker 带 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
13. 如何在 Docker 中使用 GPU 加速?
可以在 Linux 或 Windows(使用 WSL2)中配置 Ollama Docker 容器以使用 GPU 加速。这需要 nvidia-container-toolkit。有关更多详细信息,请参阅 ollama/ollama。
由于缺乏 GPU 透传和仿真,Docker Desktop 在 macOS 上不支持 GPU 加速。
14. 为什么在 Windows 10 的 WSL2 中网络速度慢?
这可能会影响安装 Ollama,以及下载模型。
打开 控制面板 > 网络和 Internet > 查看网络状态和任务,然后在左侧面板点击 更改适配器设置。找到 vEthernel (WSL) 适配器,右键单击并选择 属性。 点击 配置,打开 高级 选项卡。搜索每个属性,直到找到 大型发送卸载版本 2(IPv4) 和 大型发送卸载版本 2(IPv6)。禁用 这两个属性。
15. 如何预加载模型以获得更快的响应时间?
如果使用 API,可以通过向 Ollama 服务器发送空请求来预加载模型。这适用于 /api/generate 和 /api/chat API 端点。
要使用 generate 端点预加载 mistral 模型,请使用:
curl http://localhost:11434/api/generate -d '{"model": "mistral"}'
要使用 chat 完成端点,请使用:
curl http://localhost:11434/api/chat -d '{"model": "mistral"}'
16. 如何保持模型在内存中加载或立即卸载它?
默认情况下,模型在内存中保留 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}'
17. 控制使用哪些 GPU
默认情况下,在 Linux 和 Windows 上,Ollama 将尝试使用 Nvidia GPU 或 Radeon GPU,并将使用找到的所有 GPU。您可以通过将环境变量 CUDA_VISIBLE_DEVICES 设置为 NVIDIA 卡的 GPU ID 的逗号分隔列表,或将 HIP_VISIBLE_DEVICES 设置为 Radeon GPU 的 GPU ID 来限制将要使用的 GPU。您可以使用 GPU 工具(如 nvidia-smi 或 rocminfo)查看设备列表。您可以将其设置为无效的 GPU ID(例如,“-1”)以绕过 GPU 并回退到 CPU。
猜你喜欢
- 2025-05-26 M1版MacBook有硬伤?SSD损耗巨大到底咋回事
- 2025-05-26 为什么用惯了Windows后,换苹果电脑会很痛苦,两大痛点是硬伤
- 2025-05-26 macOS Sonoma 14.4 Bug:会丢失iCloud Drive中保存的版本文件
- 2025-05-26 Ollama使用指南【超全版】
- 2025-05-26 索尼PS2模拟器PCSX2 2.0稳定版发布:切换Qt GUI框架
- 2025-05-26 Chrome 87正式版发布下载:速度质变、CPU占用暴降5倍
- 2025-05-26 冲着这些硬货,今晚熬夜可算没白费
- 2025-05-26 m1芯片安装ps2021的方法
- 2025-05-26 苹果自研ARM架构处理器 iPhone App也能在Mac上运行
- 2025-05-26 macOS 11正式版:大更新!苹果把iOS风格搬到了电脑上
你 发表评论:
欢迎- 05-30欧姆龙CP1H系列PLC通讯扩展与数据采集
- 05-30轻松通过OPC UA协议访问西门子1500数据
- 05-30Smart200与Wincc的通信
- 05-30西门子PLC中的OPC UA应用
- 05-30上位机与MES数据交互的常用方案
- 05-30网关与PLC之间的通信
- 05-30Kepware连接时序数据库--Get!
- 05-30如何在OPC上进行两台PLC的数据交换
- 最近发表
- 标签列表
-
- spire.doc (70)
- system.data.oracleclient (61)
- 按键小精灵源码提取 (66)
- pyqt5designer教程 (65)
- 联想刷bios工具 (66)
- c#源码 (64)
- graphics.h头文件 (62)
- mysqldump下载 (66)
- sqljdbc4.jar下载 (56)
- libmp3lame (60)
- maven3.3.9 (63)
- 二调符号库 (57)
- 苹果ios字体下载 (56)
- git.exe下载 (68)
- diskgenius_winpe (72)
- pythoncrc16 (57)
- solidworks宏文件下载 (59)
- qt帮助文档中文版 (73)
- satacontroller (66)
- hgcad (64)
- bootimg.exe (69)
- android-gif-drawable (62)
- axure9元件库免费下载 (57)
- libmysqlclient.so.18 (58)
- springbootdemo (64)
本文暂时没有评论,来添加一个吧(●'◡'●)