Ollama 服务配置-常用环境变量

在 Linux 上设置环境变量

  1. 1. 通过调用systemctl edit ollama.service编辑 systemd 服务。这将打开一个编辑器。这边可以直接通过vim /etc/systemd/system/ollama.service,打开编辑。

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

vim /etc/systemd/system/ollama.service
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_ORIGINS=*"
Environment="OLLAMA_DEBUG=1"
Environment="OLLAMA_FLASH_ATTENTION=1"

对于每个环境变量,在[Service]部分下添加一行Environment.
1. OLLAMA_HOST=0.0.0.0 外网访问
2. OLLAMA_MODELS=/mnt/data/.ollama/models 模型默认下载路径
3. OLLAMA_KEEP_ALIVE=24h 设置模型加载到内存中保持 24 个小时(默认情况下,模型在卸载之前会在内存中保留 5 分钟)
4. OLLAMA_HOST=0.0.0.0:8080 修改默认端口 11434 端口
5. OLLAMA_NUM_PARALLEL=2 设置 2 个用户并发请求
6. OLLAMA_MAX_LOADED_MODELS=2 设置同时加载多个模型

#为了使更改生效,您需要重新加载systemd的配置。使用以下命令:
sudo systemctl daemon-reload
#最后,重启服务以应用更改:
sudo systemctl restart ollama

默认情况下,ollama模型的存储目录如下:
macOS: `~/.ollama/models` 
Linux: `/usr/share/ollama/.ollama/models`  
Windows: `C:\Users\<username>\.ollama\models`

journalctl -u ollama | grep -i 'prompt='    #查看日志
/set verbose    #设置以查看token速度

配置 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:临时文件目录,默认为空。

Ollama使用常见的指令:

ollama serve         #启动ollama  
ollama create        #从模型文件创建模型  
ollama show          #显示模型信息  
ollama run           #运行模型  
ollama pull          #从注册表中拉取模型  
ollama push          #将模型推送到注册表  
ollama list          #列出模型  
ollama cp            #复制模型  
ollama rm            #删除模型  
ollama help          #获取有关任何命令的帮助信息

导入huggingface模型

最新版Ollama开始支持从Huggingface Hub上直接拉取各种模型,包括社区创建的GGUF量化模型。用户可以通过简单的命令行指令快速运行这些模型,可以使用如下命令:

ollama run hf.co/{username}/{repository}

要选择不同的量化方案,只需在命令中添加一个标签:

ollama run hf.co/{username}/{repository}:{quantization}

例如:量化名称不区分大小写
ollama run hf.co/bartowski/Llama-3.2-3B-Instruct-GGUF:IQ3_M  
ollama run hf.co/bartowski/Llama-3.2-3B-Instruct-GGUF:Q8_0

还可以直接使用完整的文件名作为标签:  
ollama run hf.co/bartowski/Llama-3.2-3B-Instruct-GGUF:Llama-3.2-3B-Instruct-IQ3_M.gguf

手动安装

下载并解压压缩包


curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
sudo tar -C /usr -xzf ollama-linux-amd64.tgz
启动ollama
ollama serve

安装特定版本

OLLAMA_VERSION环境变量与安装脚本一起使用,以安装特定版本的 Ollama,包括预发行版。可以在 releases 页面中找到版本号。

releases页面:https://github.com/ollama/ollama/releases

例如:
curl -fsSL https://ollama.com/install.sh | OLLAMA_VERSION=0.3.9 sh
查看日志

要查看作为服务运行的 Ollama 的日志,请运行:


journalctl -e -u ollama

<think>好的,用户的问题是关于在容器中执行ollama run deepseek-r1:1.5b时,是否可以使用命令行中的-o选项临时设置代理。我需要先理解ollama和这个命令的具体情况。 首先,ollama是一个用于运行和部署大型语言模型的工具,用户可能在Docker容器中使用它。用户提到的deepseek-r1:1.5b应该是一个特定版本的模型。现在问题在于如何设置代理,特别是使用-o选项。 根据ollama的文档,通常配置代理是通过环境变量,比如HTTP_PROXY或HTTPS_PROXY。但用户提到使用-o选项,这可能是一个运行时参数。我需要确认ollama的run命令是否支持-o选项来设置代理。 查阅ollama的官方文档或者帮助命令,发现ollama run的选项可能包括--verbose这样的参数,但没有直接提到-o用于代理。可能用户误解了选项的使用,或者-o是另一个参数的简写。例如,有些工具用-o代表output,或者有其他用途。 接下来,考虑用户可能的场景:他们在容器中运行ollama,但需要让模型请求通过代理访问外部服务,比如下载模型或访问API。这时候正确的方法应该是设置环境变量,而不是命令行参数。如果用户尝试使用-o,可能是因为他们看到其他工具中有类似用法,或者文档中有误导信息。 然后,需要解释正确的代理设置方法,即在运行容器时使用-e参数传递HTTP_PROXY等环境变量。例如:docker run -e HTTP_PROXY=http://proxy.example.com:8080 ... ollama/ollama run deepseek-r1:1.5b。 另外,用户可能是在容器内部运行ollama命令,所以可能需要修改容器内的环境变量,或者在启动容器时预先配置好。需要指出使用-o可能无效,并建议正确的方法。 还需要检查是否有ollama的特定配置选项,比如配置文件中的设置,或者模型运行时的参数。如果ollama确实支持通过命令行选项设置代理,那需要具体说明用法,但根据现有知识,通常是通过环境变量。 最后,总结用户的正确做法,并可能给出示例命令,确保用户能够理解如何正确配置代理,避免混淆。同时提醒用户注意网络权限和代理服务器的有效性。</think>在容器中使用 `ollama run deepseek-r1:1.5b` 时,若希望通过 `-o` 选项临时设置代理,需注意以下几点: --- ### 1. **`-o` 选项的作用** - Ollama 的 `run` 命令通常用于加载并运行模型,其 `-o` 选项一般用于设置 **模型运行参数**(如温度值 `temperature`、最大 token 数 `num_ctx` 等),而非直接配置网络代理。 - 例如: ```bash ollama run deepseek-r1:1.5b -o temperature 0.7 ``` --- ### 2. **代理配置的正确方式** 若需在容器内为 Ollama 设置代理,应通过 **环境变量** 实现,而非 `-o` 选项。常用方法如下: #### 方法 1:启动容器时指定环境变量 ```bash docker run -it \ -e HTTP_PROXY="http://你的代理地址:端口" \ -e HTTPS_PROXY="http://你的代理地址:端口" \ ollama/ollama \ run deepseek-r1:1.5b ``` #### 方法 2:在容器内临时设置环境变量 若容器已运行,可进入容器后通过 `export` 设置: ```bash docker exec -it <容器名> /bin/bash export HTTP_PROXY="http://你的代理地址:端口" export HTTPS_PROXY="http://你的代理地址:端口" ollama run deepseek-r1:1.5b ``` --- ### 3. **验证代理是否生效** - 在容器内运行以下命令,检查网络请求是否通过代理: ```bash curl -v https://example.com ``` - 观察输出中的 `CONNECT` 信息,确认代理地址是否出现。 --- ### 4. **注意事项** - **权限问题**:确保容器有权限访问代理服务器。 - **代理协议**:根据代理类型选择 `http://` 或 `socks5://` 等协议。 - **配置文件**:某些场景下,可能需要修改 Ollama配置文件(如 `~/.ollama/config.json`),但环境变量通常是更简便的方式。 --- ### 总结 `-o` 选项主要用于调整模型运行参数,**不用于设置代理**。正确方式是通过环境变量 `HTTP_PROXY/HTTPS_PROXY` 配置代理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值