环境
虚拟机VitrualBox 7.0 内安装了 ubuntu22.04.2 操作系统
分配了4G内存,处理器1CPU,运行峰值8CPU(宿主机8核16G内存),不使用GPU,显卡不考虑。所有命令都sudo -i
切换到 root 用户下完成。
虚拟机docker版本:27.4.1
qwen2.5大模型版本:0.5b-instruct-q4_K_M
背景
因为我要搭建的是体验环境,准备怎么简单怎么来,发现在docker中使用ollama搭建很轻松。
步骤
1、安装docker,一梭子命令
# apt-get remove docker docker-engine docker.io containerd runc
# apt-get update
# apt-get upgrade
# apt-get install ca-certificates curl gnupg lsb-release
# curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# apt-get install docker-ce docker-ce-cli containerd.i
# usermod -aG docker $USER
# systemctl start docker
# docker version
看到我的docker版本是27.4.1
docker换源命令
# mkdir -p /etc/docker
# tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://dockerpull.org"]
}
EOF
# systemctl restart docker
docker info
命令可查看末尾的Registry Mirrors
换源是否成功
2、安装并启动ollama docker 服务,不使用GPU,镜像1.5G大小
# docker run -d -v ollama:/root/.ollama -p 11434:11434 --restart unless-stopped --name ollama ollama/ollama
3、运行大模型,初次使用会下载模型,400M大小 模型地址
# docker exec -it ollama ollama run qwen2.5:0.5b-instruct-q4_K_M
后续运行大模型可以使用以下命令
# docker exec -it ollama /bin/bash
# ollama run qwen2.5:0.5b-instruct-q4_K_M
4、可以在命令行交互了
这里说明下,ollama 千问2.5的tag有133个,为什么选择了0.5b-instruct-q4_K_M这个,因为我的虚拟机资源受限,所以选择一个参数量最小的0.5b,然后选择一个调优过的instruct模型,然后按双核4G内存的考量,直接跑没有量化的0.5b-instruct估计内存够呛。这里查资料了解到量化的基础知识。量化是一种压缩技术,它通过减少表示权重所需的比特数来减小模型大小,并且可以加速推理过程,只是会损失一些精度,一种性能和资源之间的权衡技术吧。通常情况下,更高的量化位数(如8位相对于5位)意味着更好的精度保持,但同时也会占用更多的内存和计算资源。还有个0.5b-instruct-fp16模型,fp16代表使用半精度浮点数(FP16, Float Point 16-bit),适用于GPU加速环境。既然有q2、q3、q4、q5、q8位的量化处理模型可供选择,那我就选一个折中的q4,再后面的K可能指的是某种特定的量化策略或配置,S可能是进一步指定了该策略下的一个变体或参数设置,这个就不是我这次考虑的范畴了。
5、其它可能会用到的命令
退出chat会话命令
# exit(); 或者 ctrl+d
查看ollama中已经安装的大模型,需要先进入ollama docker容器中
# docker exec -it ollama /bin/bash
然后执行ollama命令
# ollama list
查看当前运行的大模型
# ollama ps
6、可以安装一些支持ollama的AI应用提升体验感受
ollama-webui docker命令
# docker run -d -p 8080:8080 --add-host=host.docker.internal:host-gateway --name ollama-webui --restart always ghcr.io/ollama-webui/ollama-webui:main
one-api 一个整合各类大模型接口成统一接口的工具,类似一个大模型接口网关
docker run --name one-api -d --restart always -p 3000:3000 -e SQL_DSN="[mysql用户名]:[mysql密码]@tcp([mysql Ip]:[3306])/oneapi" --privileged=true -e TZ=Asia/Shanghai -v /data/app/oneapi/data/one-api:/data justsong/one-api
其它产品如
chat-ollama: 一款开源的 LLM 聊天机器人
Dify: 一款开源的大语言模型(LLM) 应用开发平台
FastGPT: 基于 LLM 大语言模型的知识库问答系统
ChatGPT Next Web: 跨平台 ChatGPT 应用
VChart: AI多端图表库。
VMind: 开源智能可视化解决方案。
chat2db:AI数据库客户端工具
参考:
https://ollama.com/library/qwen2.5/tags
https://github.com/QwenLM/Qwen2.5