大模型笔记01--基于ollama和open-webui快速部署chatgpt
介绍
近年来AI大模型得到快速发展,各种大模型如雨后春笋一样涌出,逐步融入各行各业。与之相关的各类开源大模型系统工具也得到了快速发展,包括 ollama 和 open-webui 这样的项目。
本文基于 ollama 和 open-webui,快速运行大模型并提供对应的web交互界面,让每个关注AI大模型的人员都能快速运行起自己的本地大模型。
部署&测试
安装ollama
直接通过curl命令安装
# curl -fsSL https://ollama.com/install.sh | sh
安装完成后可以通过 systemctl status ollama 查看服务状态
# systemctl status ollama
● ollama.service - Ollama Service
Loaded: loaded (/etc/systemd/system/ollama.service; enabled; preset: enabl>
Active: active (running) since Wed 2024-08-28 20:29:03 CST;3 days ago
Main PID: 1743(ollama)
Tasks: 15(limit: 38363)
Memory: 1.7G (peak: 1.8G)
CPU: 21.202s
CGroup: /system.slice/ollama.service
└─1743 /usr/local/bin/ollama serve
如果需要调整 ollama的参数,我们可以通过更改ollama.service中的Environment来调整其定环境变量(每隔环境变量单独起一行),例如:
# vim /etc/systemd/system/ollama.serviceEnvironment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"Environment="OLLAMA_NUM_PARALLEL=4"Environment="CUDA_VISIBLE_DEVICES=0"Environment="OLLAMA_MODELS=/data/xgDir/ollama_models"Environment="OLLAMA_HOST=0.0.0.0"
其中 OLLAMA_NUM_PARALLEL表示并发量为4,CUDA_VISIBLE_DEVICES表示要用GPU显卡。
ollama 模型默认下载位置为: /usr/share/ollama/.ollama/models ,可以通过上述方式设置环境变量, 也可以按需新建一个软连接到数据盘,以避免过多占用系统盘空间。
如果原来的位置已有模型,然后通过环境变量迁移,那么需要将.ollama/models目录下的blobs 和manifests都同步移动到目标目录,同时确保目录目录用户属主为 ollama
安装后我们就可以下载、运行模型了,可以在 https://ollama.com/library 找到各类开源的模型, 如下图:
可以通过 ollama pull | list | run | ps | rm 等命令来拉取模型、查询本地模型、运行模型、查看正在运行的模型、删除模型。
运行open-webui
通过以上方法可以快速运行一个本地大模型,并且可以在终端上进行对话,为了进一步提高使用效率,我们通常会拉起一个客户端系统(web app或桌面app),ollama官方github推荐了很多种工具,此处以比较出名的Open WebUI为例。
最快捷的方式直接用docker安装,具体命令如下:
# docker run -d --network=host -v /home/xg/soft/ollama/open-webui:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 --name open-webui --restart always ghcr.io/open-webui/open-webui:main
然后访问 http://localhost:8080
此处将数据目录挂载在 /home/xg/soft/ollama/open-webui ,实际使用的时候按需修改即可
常见报错: We couldn’t connect to ‘https://huggingface.co’
报错:
OSError: We couldn't connect to 'https://huggingface.co' to load this file, couldn't find it in the cached files and it looks like sentence-transformers/all-MiniLM-L6-v2 is not the path to a directory containing a file named config.json.
Checkout your internet connection or see how to run the library in offline mode at 'https://huggingface.co/docs/transformers/installation#offline-mode'.
No WEBUI_SECRET_KEY provided
由于国内网络无法直接访问 huggingface , 我们需要更改为国内能访问的域名 hf-mirror.com
解决方法: 使用镜像站 -eHF_ENDPOINT=https://hf-mirror.com
参考: https://www.cnblogs.com/dajianshi/p/18118969
测试
当完成 ollama 和 open-webui的部署后,可以通过 127.0.0.1:8080 访问webui了,按需注册用户即可。
如下图,按需选择模型,然后就可以愉快的聊天了
笔者台式机 P2200显卡 5G显存,跑10B以下的模型基本没什么压力,输出比较流畅。15B及以上就有点压力。
笔记本 MX570显卡 2G显存,跑5B及以下的模型,基本没什么压力,输出比较流畅。8B及以上就明显感觉输出比较卡顿, 例如 qwen:14b每秒3-5个字。
使用腾讯云 Tesla T4 16G显卡,发现跑qwen:14B比较流畅,跑qwen:32B就有点卡(每秒3-5字)。
在测试qwen模型时候,可以明显感觉到8B及其以下流程性和语义完整性比较一般,14B及其以上的连贯性还不错,但对资源的消耗也比较高。
综上:为了兼顾速度和效果,推荐使用16G显存的机器跑10-20B的模型。
注意事项
- 除了基于 ollama 这种方式使用指定的大模型,还可以使用LM Studio等工具在本地快速运行大模型实现chatgpt。
- 如果想实现更多配置能力和自定义agent,也可以考虑基于 Fastgpt, autogen, dify 等来部署开发自己的大模型相关服务。
- 如果不想部署的话也可以直接体验IT厂商的大模型产品,例如文心一言、通义千问、Kimi智能助手、讯飞星火、豆包、智普清言、语聚AI , openai Chatgpt 等产品。
说明
系统:
ubuntu 24.04Desktop / ubuntu22.04 server
open-webui v0.1.124
ollama 0.3.9
参考文档:
ollama github
ollama 官网
hf-mirror.com
版权归原作者 昕光xg 所有, 如有侵权,请联系我们删除。