Ollama离线部署DeepSeek

作者:zhangyunlong 发布时间: 2025-01-10 阅读量:7 评论数:0

环境准备

服务器静态IP

操作系统

用户

说明

CPU

内存

硬盘

显卡

显存大小

网络

192.168.238.39

centos8

root

运行deepseek大模型

32核

64G

1TB

独显

多多益善

离线

127.0.0.1

windows

administer

用于资源文件准备

2核

4

200GB

核显

互联网

注意:

  • centos环境需要安装docker环境和docker-compose工具

  • windows环境需要使用wsl或者docker for windows安装docker环境

  • windows环境用于准备资源文件, 可采用其他联网服务器替代windows


Ollama部署

1. 下载ollama

下载地址: https://ollama.com/download

分别下载linux版本和windows版本并上传到服务器

2. centos环境ollama安装

解压安装包到/usr目录下

sudo tar -C /usr -xzf ollama-linux-amd64.tgz

创建系统ollama服务

vi /etc/systemd/system/ollama.service
​
# ollama.service文件内容如下
[Unit]
Description=Ollama Service
Documentation=https://github.com/ollama/ollama/blob/main/docs
After=network-online.target
​
[Service]
ExecStart=/usr/bin/ollama serve
User=root
Group=root
Restart=always
RestartSec=3
Environment="PATH=$PATH"
Environment="OLLAMA_HOST=0.0.0.0"
​
[Install]
WantedBy=default.target

注意:

  • Environment="OLLAMA_HOST=0.0.0.0"

    • ollama默认监听127.0.0.1, 其他服务器无法访问, 这里添加环境变量修改监听策略

启用ollama服务

sudo systemctl daemon-reload
sudo systemctl enable ollama
sudo systemctl start ollama

检查ollama服务是否可用

[root@localhost models]# sudo systemctl status ollama
● ollama.service - Ollama Service
   Loaded: loaded (/etc/systemd/system/ollama.service; enabled; vendor preset: disabled)
   Active: active (running) (thawing) since Mon 2025-02-17 00:51:24 EST; 23h ago
     Docs: https://github.com/ollama/ollama/blob/main/docs
 Main PID: 615421 (ollama)
    Tasks: 15 (limit: 410232)
   Memory: 10.2G
   CGroup: /system.slice/ollama.service
           └─615421 /usr/bin/ollama serve
​
Feb 17 22:17:45 localhost.localdomain ollama[615421]: llm_load_print_meta: max token length = 256
[root@localhost models]# ollama -v
ollama version is 0.5.9
[root@localhost models]# 

3. windows环境ollama安装

运行二进制文件一路下一步

4. windows环境下载资源文件

模型选择: https://ollama.com/search

选择好模型之后, 复制拉取命令在windows系统dos窗口运行

# 示例
ollama pull deepseek-r1:14b

5. centos环境导入资源文件

windows环境拉取的模型权重文件默认存放在C:\Users\用户名.ollama\models目录下

将blobs和mainfests目录拷贝到centos服务器的/root/.ollama/models目录下

[root@localhost models]# pwd
/root/.ollama/models
[root@localhost models]# ls -lhra
total 4.0K
drwxr-xr-x. 3 root root   32 Feb 14 04:14 manifests
drwxr-xr-x. 2 root root 4.0K Feb 17 00:50 blobs
drwxr-xr-x. 3 root root   75 Feb 17 21:11 ..
drwxr-xr-x. 4 root root   36 Feb 14 04:14 .
[root@localhost models]# ollama list
NAME                ID              SIZE      MODIFIED     
deepseek-r1:14b     ea35dfe18182    9.0 GB    27 hours ago    
deepseek-r1:1.5b    a42b25d8c10a    1.1 GB    3 days ago      
[root@localhost models]# 

6. centos环境运行模型

[root@localhost models]# ollama run deepseek-r1:1.5b
>>> 你好, 你是谁?
<think>
​
</think>
​
您好!我是由中国的深度求索(DeepSeek)公司开发的智能助手DeepSeek-R1。如您有任何任何问题,我会尽我所能为您提供帮助。
​
>>> Send a message (/? for help)
​

7. centos环境卸载ollama

sudo systemctl stop ollama
sudo systemctl disable ollama
sudo rm /etc/systemd/system/ollama.service
sudo rm $(which ollama)
sudo rm -r /usr/share/ollama
sudo rm -rf /usr/local/lib/ollama
# 注意: 模型权重文件太大, 考虑上传不便, 谨慎删除
sudo rm -rf /root/.ollama

open-webui部署

1. windows环境拉取镜像

docker pull ghcr.io/open-webui/open-webui:main

2. windows环境导出镜像文件

# 导出本地镜像, 保存为open-webui.tar
docker save -o open-webui.tar ghcr.io/open-webui/open-webui:main
​

3. centos环境导入镜像文件

将windows环境导出的镜像文件上传到centos服务器

# 导入为本地镜像
docker load -i open-webui.tar

4. centos环境部署open-webui

[root@localhost opt]# mkdir open-we
[root@localhost opt]# ls -lhra
total 1.5G
drwxr-xr-x. 5 root root 93 Feb 17 22:21 open-webui
-rw-r--r--. 1 root root 1.5G Feb 14 01:12 ollama-linux-amd64.tgz
drwx--x--x. 4 root root 28 Feb 13 22:10 containerd
dr-xr-xr-x. 18 root root 236 Feb 13 03:08 ..
drwxr-xr-x. 4 root root 72 Feb 18 00:59 .
[root@localhost opt]# vi docker-compose.yml
# docker-compose.yml文件内容如下:
version: '3.7'
​
services:
  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    ports:
      - "3000:8080"
    privileged: true
    environment:
      - OLLAMA_BASE_URL=http://172.17.0.1:11434
    volumes:
      - /opt/open-webui:/app/backend/data
    restart: always

注意:

  • OLLAMA_BASE_URL: ollama服务所在的服务器ip, 这里通过docker0虚拟网卡ip访问宿主机的ollama

  • privileged: open-webui的运行需要很多权限创建资源, 此处粗暴地使用特权模式解决

启动open-webui服务

docker-compose up -d

5. 访问open-webui

http://192.168.238.39:8000/auth

6. 停止open-webui服务

docker-compose down

7. 清理open-webui相关数据

cd /opt/open-webui
rm -rf ./*

评论