OLLAMA使用

194次阅读
没有评论

1. 概述

Get up and running with Llama 2/3, Mistral, Gemma, and other large language models.

Ollama是一个开源的大型语言模型服务,提供了类似OpenAI的API接口和聊天界面,可以非常方便地部署最新版本的GPT模型并通过接口使用。支持热加载模型文件,无需重新启动即可切换不同的模型。

Ollama的优势:提供类似OpenAI的简单内容生成接口,极易上手使用,类似ChatGPT的的聊天界面,无需开发直接与模型聊天,支持热切换模型,灵活多变。

官网:https://ollama.com/

GITHUB:

ollama/ollama: Get up and running with Llama 2, Mistral, Gemma, and other large language models. (github.com)

open-webui(ollama webui)

open-webui/open-webui: User-friendly WebUI for LLMs (Formerly Ollama WebUI) (github.com)

ollama支持的模型库:

library (ollama.com)

比如:qwen (ollama.com)

Open WebUI:针对 LLM 用户友好的 WebUI,支持的 LLM 运行程序包括 Ollama、OpenAI 兼容的 API。

open-webui/open-webui: User-friendly WebUI for LLMs (Formerly Ollama WebUI) (github.com)

最好的参考文档及FAQ

ollama/docs at main · ollama/ollama (github.com)

faq.md 中有包含所有环境变量的说明。

2. 部署实施(ubuntu直接安装)

系统环境:ubuntu22.04 64bit

2.1 下载

Download Ollama on Linux

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

通过输出日志,可以看到下载完毕后,自动安装,并创建了systemd服务。

<code>>>> Installing ollama to /usr/local/bin...
[sudo] password for ubuntu: 
>>> Creating ollama user...
>>> Adding ollama user to render group...
>>> Adding ollama user to video group...
>>> Adding current user to ollama group...
>>> Creating ollama systemd service...
>>> Enabling and starting ollama service...
Created symlink /etc/systemd/system/default.target.wants/ollama.service → /etc/systemd/system/ollama.service.
>>> NVIDIA GPU installed.

可以看到创建了服务,路径:/etc/systemd/system/ollama.service,后面根据需要,可以编辑。

版本查询:

ollama --version
# 看到版本输出:ollama version is 0.1.30

安装成功!

接下来便可以用 pull 命令从在线模型库下载模型来玩了。

2.2 模型测试

在 library (ollama.com) 中查询 qwen,可以看到 Qwen已经在模型库中:

Qwen 1.5 is a series of large language models by Alibaba Cloud spanning from 0.5B to 72B parameters

选择一个模型下载:

ollama pull qwen:7b
# 4.5GB

运行:

ollama run qwen:7b

Ollama 采取了与 Docker 组织镜像相似的方案,使用模型名加上标签的形式( model:tag )来确定具体的模型版本,不加标签时默认为 latest ,通常对应 7B 参数量 4bit 量化版。而如果要运行 13B 版本,就可以使用 13b 标签。

2.3 ollama服务

默认端口为 11434,可以通过http://ip:port 进行查看。

需要对外发布,则需要修改 OLLAMA_HOST 设置。

参考ollama/docs/faq.md at main · ollama/ollama (github.com)  中的描述。

直接编辑 ollama.service文件,切换到root权限在,利用 vi /etc/systemd/system/ollama.service 打开编辑。参考如下:

[Unit]<br>Description=Ollama Service<br>After=network-online.target<br>[Service]<br>ExecStart=/usr/local/bin/ollama serve<br>User=ollama<br>Group=ollama<br>Restart=always<br>RestartSec=3<br>Environment="PATH=/home/ubuntu/.local/bin:/home/ubuntu/miniconda3/bin:/home/ubuntu/miniconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"<br>Environment="CUDA_VISIBLE_DEVICES=0,1,2,3"<br>Environment="OLLAMA_HOST=0.0.0.0:11434"<br>Environment="OLLAMA_NUM_PARALLEL=2"<br>Environment="OLLAMA_MAX_LOADED_MODELS=2"<br>Environment="OLLAMA_KEEP_ALIVE=-1"<br>[Install]<br>WantedBy=default.target

默认ollama是采用CPU运算,如果要使用GPU,则需要配置 Environment=”CUDA_VISIBLE_DEVICES=0,1,2,3″ 根据实际情况分配即可。修改完后,reload and restart:

systemctl daemon-reload<br>systemctl restart ollama

2.4 让大模型一直驻留在内存

默认情况,ollama默认5分钟,会把model unload,但下一次载入时,会消耗更多的时间。

The keep_alive parameter can be set to:

  • a duration string (such as “10m” or “24h”)
  • a number in seconds (such as 3600)
  • any negative number which will keep the model loaded in memory (e.g. -1 or “-1m”)
  • ‘0’ which will unload the model immediately after generating a response

直接在 ollama.service 中添加设置 OLLAMA_KEEP_ALIVE 即可。

3. 通过docker安装与运行

各种启动方式:<br>外部端口:内部端口<br>docker run -d -p 11434:11434 ollama/ollama<br>外部访问<br>本地:http://localhost:11434<br>务必要添加 --restart always 参数<br>无GPU<br>docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama --restart always ollama/ollama<br>有GPU<br>docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama --restart always ollama/ollama<br>docker run -d --gpus=all -v ollama:/root/.ollama -e OLLAMA_ORIGINS="*" -p 11434:11434 --name ollama --restart always ollama/ollama<br>docker run -d --gpus=all -v ollama:/root/.ollama -e OLLAMA_NUM_PARALLEL=2 -e OLLAMA_MAX_LOADED_MODELS=2 -e OLLAMA_ORIGINS="*" -p 11434:11434 --name ollama --restart always ollama/ollama<br>进入容器指令,ollama为容器名称:<br>docker exec -it ollama /bin/bash<br>运行模型,需要先进入容器内,然后运行<br>ollama run qwen2.5:0.5b # 用于测试

(end)

正文完
 0
评论(没有评论)