什么是 Ollama ?
Ollama 是一个简明易用的本地大模型运行框架。能在本地启动并运行 Llama 2、Mistral、Gemma 及其他大语言模型。
和老苏之前介绍的 LocalAI 比较类似,但是加载模型更容易,感觉上比较像 docker,也采用了 tags 来区分模型的不同版本,尤其是 CLI 也采用了 pull、rm、run 等等;
因为老苏的小机器不支持 Nvidia GPU,所以下面?的安装示例仅支持 CPU
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 ollama ,选择第一个 ollama/ollama,版本选择 latest。
本文写作时, latest 版本对应为 0.1.27;
卷
在 docker 文件夹中,创建一个新文件夹 ollama,并在其中建一个子文件夹 data
| 文件夹 | 装载路径 | 说明 |
|---|
docker/ollama/data | /root/.ollama | 存放模型数据 |
端口
本地端口不冲突就行,不确定的话可以用命令查一下
#查看端口占用
netstat-tunlp|grep端口号
容器名称
因为后面有进入容器的操作,所以这里规范下命名,就叫 ollama 吧
命令行安装
如果你熟悉命令行,可能用 docker cli 更快捷
#新建文件夹ollama和子目录
mkdir-p/volume1/docker/ollama/data
#进入ollama目录
cd/volume1/docker/ollama
#运行容器(仅CPU)
dockerrun-d\
--restartunless-stopped\
--nameollama\
-p11434:11434\
-v$(pwd)/data:/root/.ollama\
ollama/ollama
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
version:'3'
services:
ollama:
image
llama/ollama
container_name
llama
restart:unless-stopped
ports:
-11434:11434
volumes:
-./data:/root/.ollama
然后执行下面的命令
#新建文件夹ollama和子目录
mkdir-p/volume1/docker/ollama/data
#进入ollama目录
cd/volume1/docker/ollama
#将docker-compose.yml放入当前目录
#一键启动
docker-composeup-d
运行
在浏览器中输入 http://群晖IP:11434 ,如果看到 Ollama is running,表示服务启动正常
下载模型
官方提供了一个模型库,地址:https://ollama.com/library
你可以根据需要进行搜索,例如搜索 llama2
选中 llama2 ,你会看到关于这个模型的简介
进入 tags 查看需要的版本
关于不同参数模型文件所需要的内存,之前提过,这里简单再说一下
老苏接下来尝试了 llama2:7b 和 llama2-chinese:7b,从介绍看,后者采用了中文指令集来进行微调,使其具备较强的中文对话能力。目前这个中文微调参数模型总共发布了 7B,13B 两种参数大小。
模型下载需进入容器内,不熟悉命令行的,可以进入 终端机 操作
执行下面的命令
#下载模型
ollamapullllama2:7b
#下载模型(中文微调参数模型)
ollamapullllama2-chinese:7b
老苏个人更喜欢用 SSH 客户端的命令行,多一步进入容器的命令,下载是一样的
#进入容器
dockerexec--userroot-itollama/bin/bash
#下载模型
ollamapullllama2:7b
#下载模型(中文微调参数模型)
ollamapullllama2-chinese:7b
开始下载
下载完成
开始提问
接下里就可以提问了,比如:为什么天空是蓝色的
命令行
假设已经进入容器或者尚未退出容器,可以直接运行下面的命令
#运行模型
ollamarunllama2-chinese:7b
#填写问题
因网络中断,答案并没有生成完全,就这几个字已经花了近 2 小时
curl
用SSH客户端登录到群晖后,执行下面的命令
curl-XPOSThttp://192.168.0.197:11434/api/generate-d'{
"model":"llama2-chinese:7b",
"prompt":"你好吗"
}'
其中:
当然你还可以用 API 工具,不过可能还是 Web UI 的界面用起来更好,暂时找到了 Open WebUI ,有时间再找找
小结
跑大模型,需要的硬件资源是越高越好的。老苏的小机器既不支持 GPU,内存也仅仅够了最低要求的 8GB,所以每个问题回答的时间,都慢到让你怀疑人生。
但是,这并不能阻止我们追求知识和进行探索的热情。