Ollama 监听设置与环境变量配置完整笔记
2024-04-05
《Ollama 监听设置与环境变量配置完整笔记》详细介绍了如何配置监听地址、设置环境变量、使用代理服务器以及优化网络性能,以确保Ollama服务的最佳性能和安全性。
Ollama 监听设置与环境变量配置完整笔记
。
监听地址的配置
0.0.0.0
地址含义:设置 Ollama 监听0.0.0.0
意味着服务将接受从服务器上所有网络接口的连接请求,从而允许任何能够访问服务器的设备与之通信。- 安全提示:虽然监听
0.0.0.0
提高了访问的便利性,但也可能增加安全风险。因此,在配置时应确保适当的安全措施,如设置强密码、使用防火墙限制访问等。
环境变量的设置方法
在 Linux 或 WSL 中
- 临时设置:在当前终端会话中使用
export OLLAMA_HOST=0.0.0.0:端口号
命令,仅对当前会话有效。 - 永久设置:在用户的
.bashrc
或.zshrc
文件中添加export OLLAMA_HOST=0.0.0.0:端口号
行,然后通过运行source ~/.bashrc
或source ~/.zshrc
应用更改。
在 macOS 中
- 使用
launchctl setenv OLLAMA_HOST 0.0.0.0:端口号
命令设置环境变量,并重启应用或系统以使设置生效。
在 Windows 中
- PowerShell 临时设置:使用
$env:OLLAMA_HOST="0.0.0.0:端口号"
命令为当前会话设置环境变量。 - PowerShell 永久设置:通过
[System.Environment]::SetEnvironmentVariable('OLLAMA_HOST', '0.0.0.0:端口号', [System.EnvironmentVariableTarget]::User)
设置用户级环境变量。要为所有用户设置,使用Machine
作为目标,并可能需要管理员权限。
配置代理和网络访问
- 使用代理服务器:配置如 Nginx 的 HTTP 代理服务器转发请求到 Ollama,实现高级路由、负载均衡等功能。
- 外网访问:通过 ngrok 或 Cloudflare Tunnel 等工具,可以将 Ollama 服务暴露给互联网,允许从任何地方访问。
其他配置与使用提示详情
上下文窗口大小配置
- Ollama 默认使用 2048 个令牌的上下文窗口大小。上下文窗口是模型在生成文本时考虑的最大令牌数(即字符或词)。更大的上下文窗口允许模型基于更多的信息进行决策,可能提高生成文本的相关性和连贯性。
- 命令行配置:在使用
ollama run
命令时,可以通过/set parameter
命令动态调整上下文窗口大小。例如:/set parameter num_ctx 4096
。 - API 配置:在使用 API 时,可以在请求体中指定
num_ctx
参数来调整上下文窗口大小。例如:
{ "model": "llama2", "prompt": "Why is the sky blue?", "options": { "num_ctx": 4096 } }
模型存储位置
- 默认位置:
- macOS:
~/.ollama/models
- Linux:
/usr/share/ollama/.ollama/models
- Windows:
C:\Users\<username>\.ollama\models
- macOS:
- 如果需要将模型存储在不同的位置,可以设置
OLLAMA_MODELS
环境变量来指定新的目录。这对于管理磁盘空间或将模型存储在外部或网络驱动器上特别有用。
GPU 加速配置
- Ollama 支持使用 GPU 加速模型推理,这可以显著提高性能,特别是在处理大型模型或大量请求时。
- Linux 和 Windows(WSL2):确保系统安装了适当的 NVIDIA 驱动程序和 CUDA。对于 Docker 用户,确保安装了
nvidia-docker
并使用--gpus all
参数启动容器。 - macOS:由于硬件和驱动程序限制,macOS 不支持 Ollama 的 GPU 加速。
WSL2 网络性能优化
- Windows 10 上的 WSL2 可能会遇到网络性能问题。一个常见的解决方案是禁用虚拟以太网适配器的“大发送卸载”(LSO)功能。
- 通过“网络连接”设置,找到“vEthernet (WSL)”适配器的属性,禁用 IPv4 和 IPv6 的“大发送卸载 V2 (IPv4)”和“(IPv6)”选项。
使用代理服务器和暴露服务
- 代理服务器:Ollama 可以配置为通过 HTTP 代理服务器(如 Nginx)运行,提供额外的路由、负载均衡和安全功能。
- 外部访问:使用工具如
ngrok
或 Cloudflare Tunnel,可以将本地运行的 Ollama 实例暴露给外部网络,便于远程访问。这在进行开发和测试时特别有用。
这些配置和使用提示为 Ollama 用户提供了灵活性和控制,以最佳方式利用其功能,同时确保操作的安全性和高效性。