基于Centos9/Rocky9本地部署Deepseek R1大模型

一、Deepseek简介

​ 官网:https://www.deepseek.com/

​ 介绍:DeepSeek是一款由国内团队开发的智能对话模型,专注于通用人工智能(AGI)领域的研发。它基于深度学习技术和大规模数据训练,能够完成对话生成、信息分析、任务执行等多种功能。

  • 深度学习技术DeepSeek利用深度神经网络(DNN)对数据进行建模,能够自动提取数据的特征,并理解数据之间的复杂关系。
  • 多模态能力:支持文本、代码、文件解析(如PDFExcel等)的交互,满足用户在各种场景下的需求。
  • 多语言支持:可处理中、英、日、韩等多种语言,便于国际交流。
  • 长上下文理解:部分版本支持超长文本的连贯对话,有助于深入理解用户意图。

二、ollama简介

​ 官网:https://ollama.com/

​ 介绍:Ollama是一款专为本地化部署和运行大型语言模型(LLM)设计的开源工具,旨在降低技术门槛并提升开发效率。通过简化模型管理、提供多样化交互方式及支持跨平台操作,帮助用户无需依赖云端服务即可高效利用LLMOllama的核心功能聚焦于模型管理与本地化运行。其内置预构建模型库(如Llama 3Mistral等),支持一键下载和部署,同时允许用户从HuggingFace等平台导入自定义模型。通过编写Modelfile配置文件,用户可灵活调整模型参数或整合多模型组件。此外,Ollama提供命令行工具和RESTful API接口,便于开发者在本地环境中直接调用模型服务,例如通过ollama run命令启动交互对话,或集成到自动化流程中。

三、ollama部署

​ 二进制安装包地址:https://github.com/ollama/ollama/blob/main/docs/linux.md

注意事项:需保证宿主机具有100G左右的磁盘空间。

# Step 1:下载ollama二进制安装包
curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz

# Step 2:解压安装包到指定目录
sudo tar -C /usr -xzf ollama-linux-amd64.tgz

# Step 3:创建用户及用户组
sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
sudo usermod -a -G ollama $(whoami)

# Step 4:配置ollama启动systemd文件
vim /etc/systemd/system/ollama.service
[Unit]
Description=Ollama Service
After=network-online.target

[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=$PATH"

[Install]
WantedBy=default.target

# Step 5:重新加载配置
systemctl daemon-reload

# Step 6:启动ollama
systemctl enable --now ollama

# Step 7:查看ollama启动状态
systemctl status ollama

image-20250311103813981

四、安装deepseek

ollama pull deepseek-r1:1.5b

image-20250311104344245

五、运行deepseek

ollama run deepseek

image-20250311104818779

六、安装open-webui

Open WebUI 是一个开源的、可自托管的 Web用户界面工具,专为与本地或私有化部署的大语言模型(LLM,如 LLaMAGPT 等)交互而设计。它类似于 Ollama WebUI,但更加灵活和可定制,允许用户通过浏览器界面便捷地管理和调用 AI 模型,适用于个人开发者、企业或研究团队构建私有化 AI 应用。

# step 1: 安装必要的一些系统工具
dnf install -y yum-utils

# Step 2: 添加软件源信息
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# Step 3: 安装Docker
dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

# Step 4: 开启Docker服务
systemctl enable --now docker

# Step 5:配置镜像加速器
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{ 
  "registry-mirrors": [ "http://hub-mirror.c.163.com", 
   "https://kr1xs9ba.mirror.aliyuncs.com",
   "https://docker.m.daocloud.io", 
   "https://dockerproxy.com", 
   "https://docker.mirrors.ustc.edu.cn", 
   "https://docker.nju.edu.cn", 
   "https://docker.registry.cyou",
   "https://docker-cf.registry.cyou",
   "https://dockercf.jsdelivr.fyi",
   "https://docker.jsdelivr.fyi",
   "https://dockertest.jsdelivr.fyi",
   "https://mirror.aliyuncs.com",
   "https://dockerproxy.com",
   "https://mirror.baidubce.com",
   "https://docker.m.daocloud.io",
   "https://docker.nju.edu.cn",
   "https://docker.mirrors.sjtug.sjtu.edu.cn",
   "https://docker.mirrors.ustc.edu.cn",
   "https://mirror.iscas.ac.cn",
   "https://docker.rainbond.cc",
   "https://noohub.run",
   "https://huecker.io",
   "https://dockerhub.timeweb.cloud", 
   "https://registry.docker-cn.com",
   "https://yfw3r2c6.mirror.aliyuncs.com", 
   "http://hub-mirror.c.163.com", 
   "https://docker.m.daocloud.io",
   "https://dockerproxy.com",
   "https://docker.mirrors.ustc.edu.cn",
   "https://docker.nju.edu.cn"] 
}
EOF

# Step 6:重新加载systemd配置文件
systemctl daemon-reload

# Step 7:重启docker-ce
systemctl restart docker

# Step 8:查看镜像加速器是否生效
docker info |grep -A 5 'Registry Mirrors'

 Registry Mirrors:
  http://hub-mirror.c.163.com/
  https://kr1xs9ba.mirror.aliyuncs.com/
  https://docker.m.daocloud.io/
  https://dockerproxy.com/
  https://docker.mirrors.ustc.edu.cn/
  
# Step 9:安装open-webui
docker run -d  --net=host  -e OLLAMA_BASE_URL=http://127.0.0.1:11434 -v open-webui:/app/backend/data --name open-webui --restart always  --security-opt seccomp:unconfined  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/open-webui/open-webui:ollama
Unable to find image 'swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/open-webui/open-webui:ollama' locally
ollama: Pulling from ddn-k8s/ghcr.io/open-webui/open-webui
f11c1adaa26e: Pull complete
4ad0c7422f5c: Pull complete
f2bf536a1e4f: Pull complete
3bdbfec22900: Pull complete
83396b6ad4cc: Pull complete
9eb3b417f851: Pull complete
4f4fb700ef54: Pull complete
b3c84eccfcb3: Pull complete
dc20de3bcc53: Pull complete
e68feed0a84a: Pull complete
fdce77ab3f4b: Pull complete
b3c200d9083e: Pull complete
78a81954bb26: Pull complete
b9e3e3e2603b: Pull complete
0c5f861fc2ed: Pull complete
9cca9cdd6842: Pull complete
Digest: sha256:8863c2f304916096c2f665290b02fdbfc21a41a45d2fc129a62fece71c1f12b8
Status: Downloaded newer image for swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/open-webui/open-webui:ollama
2c78244e34822ea3a7ebb7c11b9c855315637d9079b73ba88ec366fa3983fad7
image-20250311110506575

七、使用open-webui

image-20250311110640949 image-20250311110752713 image-20250311110813713 image-20250311110917971

八、deepseek关键词使用

​ 官网:https://api-docs.deepseek.com/zh-cn/prompt-library/

提示语是用户输入给AI系统的指令或信息,引导AI生成特定的输出或执行特定的任务。简单来说,提示语就是我们与AI“对话”时所使用的语言,它可以是一个简单的问题,一段详细的指令,也可以是一个复杂的任务描述。提示语的基本结构包括指令、上下文和期望

  • 指令:提示语的核心,明确告诉AI你希望它执行什么任务。
  • 上下文:为AI提供背景信息,帮助它更准确地理解和执行任务。
  • 期望:明确或隐含地表达对AI输出的要求。
image-20250311111133429

8.1 代码改写使用

​ 示例代码如下:

下面这段的代码的效率很低,且没有处理边界情况。请先解释这段代码的问题与解决方法,然后进行优化:
```
def fib(n):
    if n <= 2:
        return n
    return fib(n-1) + fib(n-2)
```
image-20250311111300963

8.2 代码解释使用

​ 示例代码如下:

请解释下面这段代码的逻辑,并说明完成了什么功能:
```
// weight数组的大小 就是物品个数
for(int i = 1; i < weight.size(); i++) { // 遍历物品
    for(int j = 0; j <= bagweight; j++) { // 遍历背包容量
        if (j < weight[i]) dp[i][j] = dp[i - 1][j];
        else dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - weight[i]] + value[i]);
    }
}
```

8.3 代码生成使用

​ 示例代码如下:

请帮我用 HTML 生成一个五子棋游戏,所有代码都保存在一个 HTML 中。
 if (j < weight[i]) dp[i][j] = dp[i - 1][j];
    else dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - weight[i]] + value[i]);
}

}

8.3 代码生成使用

​ 示例代码如下:

请帮我用 HTML 生成一个五子棋游戏,所有代码都保存在一个 HTML 中。
image-20250311111615546
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐