来本地部署大模型!
· 4 min read
前言
这件事情的起因是这样的, 在开卷上机考想要部署一个本机大模型参考一下, 同时有同学和我讲qwen2.5-coder-7B非常的nice, 于是就有了下面这篇文章, 用ollama + docker部署的local LLM...
本地环境: Ubuntu24.04
以下是步骤
下载nvidia docker runtime
apt
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
设置 /etc/docker/daemon.json
{
"default-runtime": "nvidia",
"registry-mirrors": [
"https://1nj0zren.mirror.aliyuncs.com",
"https://docker.mirrors.ustc.edu.cn",
"http://f1361db2.m.daocloud.io",
"https://registry.docker-cn.com"
],
"runtimes": {
"nvidia": {
"args": [],
"path": "nvidia-container-runtime"
}
},
}
如果你需要代理, 参考配置加上
"proxies": {
"http-proxy": "http://127.0.0.1:7890",
"https-proxy": "http://127.0.0.1:7890",
"no-proxy": ""
}
然后重启docker服务
sudo systemctl daemon-reload
sudo systemctl restart docker
出现找不到"nvidia" runtime错误的, 检查有没有下载过docker desktop
下载过docker desktop的:
docker context ls
docker context use default
切换回default, 然后重启docker服务
下载ollama镜像
mkdir -p /data/containers/ollama/data
vi /data/containers/ollama/docker-compose.yml
docker-compose.yml
name: 'ollama'
services:
ollama:
restart: always
image: ollama/ollama
container_name: ollama
runtime: nvidia
environment:
- TZ=Asia/Shanghai
- NVIDIA_VISIBLE_DEVICES=all
networks:
- ai-tier
ports:
- "11434:11434"
volumes:
- ./data:/root/.ollama
networks:
ai-tier:
name: ai-tier
driver: bridge
ipam:
config:
- subnet: 172.22.1.0/24
启动
cd /data/containers/ollama
docker compose up -d
之后会拉ollama (2G)
验证成功
docker compose ps
# 得到结果应该如下
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
ollama ollama/ollama "/bin/ollama serve" ollama About a minute ago Up About a minute 0.0.0.0:11434->11434/tcp, :::11434->11434/tcp
下载模型
qwen2.5:7b
建议换成其他的代码专用模型, 根据自己的电脑显卡配置决定参数量
空间占用 7b:5G, 3b: 2G, 1B:1G
docker exec -it ollama ollama pull qwen2.5:7b
成功结果这样
pulling manifest
pulling 00e1317cbf74... 100% ▕████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ 4.7 GB
pulling 4fa551d4f938... 100% ▕████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ 12 KB
pulling 8ab4849b038c... 100% ▕████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ 254 B
pulling 577073ffcc6c... 100% ▕████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ 110 B
pulling ad1518640c43... 100% ▕████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ 483 B
verifying sha256 digest
writing manifest
removing any unused layers
success
验证
❯ docker exec -it ollama ollama list
NAME ID SIZE MODIFIED
qwen2.5:7b 845dbda0ea48 4.7 GB 2 hours ago
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug ollama
Learn more at https://docs.docker.com/go/debug-cli/
开始服务
docker compose up -d
会在localhost:11434
起一个服务, 浏览器输入后正常会有Ollama is running
前端套壳
ChatBox
直接去官网下载
https://chatboxai.app/zh/install
设置里面指定一下模型
aider版本
参考https://aider.chat/docs/config/dotenv.html
设置一下OLLAMA_BASE_API的环境变量
之后aider --model ollama/qwen2.5:7b
即可
下载自己看官网(pip install aider-chat
)
ok, 大功告成!
[可选] IDE插件
一个例子是Continue插件https://www.continue.dev/
参考官网, 据说vsc支持还行, jet bug不少