当前位置: 首页 > news >正文

DeepSeek-R1私有化部署教程 | Linux服务器搭建AI大语言模型

**云服务器用Linux+Docker+Ollama+OpenWebUI部署DeepSeek-R1大语言模型(LLMs),DeepSeek本地化部署教程(在自己电脑上部署也可以参考此教程)。**超详细教程,手把手。

在当今数字化时代,大型语言模型(LLMs)的应用越来越广泛。本文将详细介绍如何在云服务器上使用 Docker、Ollama 和 OpenWebui 部署 DeepSeek-R1 大型语言模型,实现其本地化部署,让你能够更便捷地使用这一强大的语言模型。

视频教程:https://www.bilibili.com/video/BV1GpNee9EPJ/

DeepSeek-R1私有化部署教程 | Linux服务器搭建AI大语言模型

  • 雨云GPU云服务器搭建SD(Stable Diffusion)的教程,搭建自己的AI绘画网站,AIGC:https://blog.zeruns.com/archives/768.html
  • 雨云GPU云服务器搭建"ChatGPT"—GPT4All本地部署:https://blog.zeruns.com/archives/767.html

站长交流群:767557452

Ollama简介

Ollama是一款开源的大型语言模型(LLMs)本地化运行工具,支持通过命令行交互快速部署AI模型。其核心优势包括:

  • 轻量化部署:无需复杂环境配置,单条命令即可启动模型服务
  • 多模型支持:内置HuggingFace模型库,支持Llama 2、Mistral、DeepSeek等主流模型
  • 跨平台运行:提供Linux/macOS/Windows全平台支持
  • Docker集成:支持容器化部署,保障环境隔离与一致性
  • REST API:提供标准化接口,方便与各类前端UI集成

Ollama官网:https://url.zeruns.com/Ollama

DeepSeek简介

DeepSeek-R1是深度求索(DeepSeek)公司研发的新一代开源大语言模型,具备以下特性:

  • 复杂推理能力:在数学推导、代码生成等场景表现优异
  • 长上下文支持:最高支持128k tokens的上下文窗口
  • 多轮对话优化:采用RLHF技术提升对话连贯性
  • 企业级适配:提供量化版本(4-bit/8-bit)满足不同硬件需求
  • 灵活部署:支持本地私有化部署与API云端调用

DeepSeek官网:https://url.zeruns.com/DeepSeek

准备服务器

接着需要一台服务器来搭建(也可以用自己电脑,要Linux系统),我这里推荐皓量云擎的轻量应用服务器,8核16G 才60元/月:

皓量云擎优惠注册地址:https://url.vpszj.cn/hly_csdn

邀请码:zeruns(走链接或邀请码注册送5折和8折优惠券)

其他性价比高的服务器推荐: https://blog.zeruns.com/archives/383.html

  • 皓量云擎 宁波 轻量应用服务器 性能测评:https://blog.vpszj.cn/archives/2390.html
  • 莱卡云 宁波电信云服务器 性能测评,IPv4&IPv6双栈:https://blog.zeruns.com/archives/807.html
  • 雨云 宁波E5-2650v4独服测评,48核64G 300兆 588元/月:https://blog.vpszj.cn/archives/2364.html

注册完账号后进到皓量云擎控制台,点击 轻量应用服务器立即购买,套餐建议选8核16G(选4核8G也可以,但最多只能部署7B的模型),系统选Debian12,然后点击下一步

确认信息然后提交订单

点击管理进入到服务器控制台

点击 安全组→添加规则→入口 设置开放全部端口(也可以只开放用到的端口)

连接服务器

下载安装并打开ssh客户端软件,ssh客户端软件推荐putty或mobaxterm。

SSH客户端软件下载地址:https://www.123pan.com/ps/2Y9Djv-UAtvH.html

我这里用mobaxterm,在SSH客户端中输入你的服务器的IP地址(控制台获取),还有SSH端口(默认是22),然后点击好的或者打开。

然后输入账号并按回车,账号一般默认为root,接着输入密码(密码在控制台获取)并按回车确定,输入密码时不会显示出来。

温馨提示:在SSH终端中按住鼠标左键选择文字,然后松开鼠标,再在空白处单击一下,这样就把选中的文字复制了;在SSH终端单击右键即为粘贴。

APT换源

系统默认apt软件下载源是国外服务器,所以需要换国内镜像源,使用chsrc来换源。

在SSH终端,输入下面的指令(#开头的是注释,不用输入)。

# 下载安装chsrc
curl https://chsrc.run/posix | bash# 自动测速,寻找最快者,换源
chsrc set debian

设置SWAP

SWAP(交换空间)是磁盘上的一块区域,它在物理内存(RAM)不足时,作为虚拟内存来使用。当系统的物理内存被耗尽时,操作系统会将一些暂时不用的内存数据交换到 SWAP 空间中,从而为当前正在运行的程序腾出物理内存。这有助于避免因物理内存不足而导致系统崩溃或程序无法正常运行的问题。

# 使用一键脚本设置swap,按照提示设置4096Mb的swap
wget --no-check-certificate https://gitee.com/zeruns/Linux-shell/raw/master/setup_swap.sh && chmod +x setup_swap.sh && ./setup_swap.sh# 检查内存大小看看是否设置成功
free -m

安装Docker

在SSH终端,输入下面的指令。

用apt包管理器来安装:

# 安装docker,如果遇到问是否继续的就输入y来确定
apt update && apt -y install docker.io# 设置docker开机自启和启动docker
systemctl enable docker && systemctl start docker# 检查是否安装成功,若安装成功会显示 Docker version x.x.x
docker -v

若没安装成功就试试下面的安装脚本:

# 国内需要执行这步
export DOWNLOAD_URL=https://mirrors.ustc.edu.cn/docker-ce # Docker安装脚本
curl -fsSL https://get.docker.com -o get-docker.sh && sudo sh get-docker.sh# 检查是否安装成功,若安装成功会显示 Docker version x.x.x
docker -v

如果还是不行就尝试下面链接的手动安装教程吧

docker手动安装教程:https://www.runoob.com/docker/ubuntu-docker-install.html

Docker换国内源

# docker换源
echo '{"registry-mirrors": ["https://docker.1ms.run","https://docker.1panel.live","https://docker.zeruns.vip","https://9uy9qgvj.mirror.aliyuncs.com"]}' | sudo tee /etc/docker/daemon.json > /dev/null # 使用chsrc给docker换源(如果上面的不行再用这个)
chsrc set dockerhub# 重启Docker
systemctl daemon-reload && systemctl restart docker.service

安装Ollama

本教程用Docker来安装Ollama,只支持调用CPU,不支持GPU。

可以将下面命令中的 /data/ollama 改成其他目录,这个目录是用于存放模型数据的,不改也行,保证空间足够就行。

# 创建Ollama容器
docker run -d -v /data/ollama:/root/.ollama -p 11434:11434 --name ollama --restart=always ollama/ollama

如果出现报错 error: exec: "apparmor_parser": executable file not found in $PATH ,就去SSH终端执行 apt -y install apparmor apparmor-utils ,然后再执行一次上面创建Ollama容器的命令即可(如果提示容器已存在就运行 docker start ollama )。

部署DeepSeek-R1模型

本教程以部署 DeepSeek-R1-14B 为例,14B 代表该模型的参数数量为 140 亿(B 是 “Billion” 的缩写,意为十亿),建议16G内存或以上,如果只有8G内存建议部署 1.5B 或 7B 版本的(可以简单理解为每1B需要1G内存)。

还有14B版本需要占用10GB左右的硬盘空间,需保证你服务器剩余硬盘空间足够!

# 下载并运行deepseek-r1:14b模型
docker exec -it ollama ollama pull hf.co/lmstudio-community/DeepSeek-R1-Distill-Qwen-14B-GGUF:Q6_K
# 如果上面的不行可以尝试这个
docker exec -it ollama ollama pull deepseek-r1:14b# 7b模型(8G内存建议这个)
docker exec -it ollama ollama pull hf.co/lmstudio-community/DeepSeek-R1-Distill-Qwen-7B-GGUF:Q4_K_M
# 如果上面的不行可以尝试这个
docker exec -it ollama ollama pull deepseek-r1:7b

将上面命令中的 pull 改成 run ,这样可以直接运行模型,直接在命令行里对话。

安装OpenWebUI

Open WebUI 是一种可扩展的、功能丰富且用户友好的自托管 WebUI,旨在完全离线运行。它支持各种LLM运行器,包括 Ollama 和与 OpenAI 兼容的 API。

下面代码框命令整个复制到SSH终端运行,不要逐行!

docker run -d \-p 8186:8080 \--add-host=host.docker.internal:host-gateway \-e OLLAMA_BASE_URL=http://host.docker.internal:11434 \--name openwebui \--restart=always \-v /data/open-webui:/app/backend/data \dyrnq/open-webui:main

打开浏览器,访问 http://服务器公网IP:8186,即可开始使用 Open WebUI。用邮箱注册下就可以了

如果没有下载模型需要先下载模型,如果前面在ollama上下载过了,这里直接就选择模型就能用了。可以开始对话了。

还可以开启联网搜索功能

如果想要通过域名访问可以自己搭个nginx来反代。

推荐阅读

  • 高性价比和便宜的VPS/云服务器推荐: https://blog.zeruns.com/archives/383.html
  • 我的世界开服教程:https://blog.zeruns.com/tag/mc/
  • 海口-北京-澳门 旅行记录和照片分享:https://blog.zeruns.com/archives/849.html
  • 苹果 Mac Mini M4 迷你主机简单测评和拆解,最强单核性能的小主机:https://blog.zeruns.com/archives/851.html
  • 云服务器搭建Typecho个人博客网站,保姆级建站教程:https://blog.zeruns.com/archives/749.html

English Version of the Article: https://blog.zeruns.top/archives/41.html

相关文章:

DeepSeek-R1私有化部署教程 | Linux服务器搭建AI大语言模型

**云服务器用LinuxDockerOllamaOpenWebUI部署DeepSeek-R1大语言模型(LLMs),DeepSeek本地化部署教程(在自己电脑上部署也可以参考此教程)。**超详细教程,手把手。 在当今数字化时代,大型语言模型…...

「软件设计模式」桥接模式(Bridge Pattern)

深入解析桥接模式:解耦抽象与实现的艺术 一、模式思想:正交维度的优雅解耦 桥接模式(Bridge Pattern)通过分离抽象(Abstraction)与实现(Implementation),使二者可以独立…...

【Flink快速入门-5.流处理之多流转换算子】

流处理之多流转换算子 实验介绍 前面实验中介绍的算子已经能够满足我们的大部分开发需求了,但是在实际工作中有时候还会遇到一些业务场景,例如需要摄入多个输入流并将其合并处理,或者需要将一条输入流分割为多条子流,在不同的子…...

react传递函数与回调函数原理

为什么 React 允许直接传递函数? 回调函数核心逻辑 例子:父组件控制 Modal 的显示与隐藏 // 父组件 (ParentComponent.tsx) import React, { useState } from react; import { Modal, Button } from antd; import ModalContent from ./ModalContent;co…...

华为云kubernetes基于keda自动伸缩deployment副本(监听redis队列长度)

1 概述 KEDA(Kubernetes-based Event-Driven Autoscaler,网址是https://keda.sh)是在 Kubernetes 中事件驱动的弹性伸缩器,功能非常强大。不仅支持根据基础的CPU和内存指标进行伸缩,还支持根据各种消息队列中的长度、…...

Spring源码分析のBean扫描流程

文章目录 前言一、scanCandidateComponents1.1 isCandidateComponent1.1.1、排除/包含过滤器1.1.2、条件装配1.1.3、重载一1.1.4、重载二1.1.5、补充:Lookup注解 总结 前言 原生的Spring在构造ApplicationContext时,会调用refresh方法。其中就包含了扫描…...

Ubuntu安装docker:docker-desktop : 依赖: docker-ce-cli 但无法安装它、无法定位软件包 docker-ce-cli

具体错误 sudo apt-get install ./docker-desktop-amd64.deb [sudo] password for weiyu: 正在读取软件包列表... 完成 正在分析软件包的依赖关系树... 完成 正在读取状态信息... 完成 注意,选中 docker-desktop 而非 ./docker-desktop-amd64.de…...

基于大数据的奥运会获奖数据分析系统设计与实现

【大数据】基于大数据的奥运会获奖数据分析系统设计与实现(完整系统源码开发笔记详细部署教程)✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 该系统通过集成先进的数据抓取、处理、存储与可视化技术,为深入理解奥运会…...

数据结构 堆和priority_queue

一、堆的定义 堆(heap),是⼀棵有着特殊性质的完全⼆叉树,可以⽤来实现优先级队列(priorityqueue)。 堆需要满⾜以下性质: 1. 是⼀棵完全⼆叉树; 2. 对于树中每个结点,如…...

Dockerfile 编写推荐

一、导读 本文主要介绍在编写 docker 镜像的时候一些需要注意的事项和推荐的做法。 虽然 Dockerfile 简化了镜像构建的过程,并且把这个过程可以进行版本控制,但是不正当的 Dockerfile 使用也会导致很多问题。 docker 镜像太大。如果你经常使用镜像或者…...

【抽象代数】1.2. 半群与群

群的定义 群非空集合二元运算性质 定义1. 设 为一个非空集合,上有二元运算,满足结合律,则称或为一个半群。 定义2. 设 为半群,若元素 满足 ,则称 为 的左幺元(右幺元:)&#…...

Django中实现简单易用的分页工具

如何在Django中实现简单易用的分页工具?📚 嗨,小伙伴们!今天我们来看看如何在 Django 中实现一个超简单的分页工具。无论你是在处理博客文章、产品列表,还是用户评论,当数据量一大时,分页显得尤…...

「软件设计模式」装饰者模式(Decorator)

深入解析装饰者模式:动态扩展功能的艺术(C实现) 一、模式思想与应用场景 1.1 模式定义 装饰者模式(Decorator Pattern)是一种结构型设计模式,它通过将对象放入包含行为的特殊封装对象中,动态地…...

CI/CD(二)docker-compose安装Jenkins

1、docker-compose.yml version: 3.8services:jenkins:image: jenkins/jenkins:lts # 使用官方的 Jenkins LTS 镜像container_name: jenkinsuser: root # 如果需要以 root 用户运行ports:- "8080:8080" # Jenkins Web 界面端口- "50000:50000" # 用于 Jen…...

OpenCV机器学习(1)人工神经网络 - 多层感知器类cv::ml::ANN_MLP

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 cv::ml::ANN_MLP 是 OpenCV 库中的一部分,用于实现人工神经网络 - 多层感知器(Artificial Neural Network - Multi-Layer…...

ProxySQL构建PolarDB-X标准版高可用路由服务三节点集群

ProxySQL构建PolarDB-X标准版高可用路由服务三节点集群 一、PolarDB-X标准版主备集群搭建 三台机器上传 polardbx 包,包可以从官网https://openpolardb.com/download获取,这里提供离线rpm。 1、上传 polardbx 安装包 到 /opt目录下 rpm -ivh t-pol…...

15.1 Process(进程)类

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 通常开发时想要获得进程是比较困难的事,必须要调用CreateToolhelpSnapshot、ProcessFirst、ProcessNext等API或者诸如 Zw…...

elasticsearch8 linux版以服务的方式启动

1.创建系统服务文件 对于使用 systemd 作为系统初始化系统的 Linux 发行版(如 CentOS 7 及以上、Ubuntu 16.04 及以上),需要创建一个 systemd 服务文件。以 root 用户或具有 sudo 权限的用户身份执行以下操作: sudo vim /etc/sy…...

小米 R3G 路由器刷机教程(Pandavan)

小米 R3G 路由器刷机教程(Pandavan) 一、前言 小米 R3G 路由器以其高性价比和稳定的性能备受用户青睐。然而,原厂固件的功能相对有限,难以满足高级用户的个性化需求。刷机不仅可以解锁路由器的潜能,还能通过第三方固…...

某大型业务系统技术栈介绍【应对面试】

微服务架构【图】 微服务架构【概念】 微服务架构,是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。在微服务架构中,服务与服务之间通信时,通常是…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理&#xff1a…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...

YSYX学习记录(八)

C语言&#xff0c;练习0&#xff1a; 先创建一个文件夹&#xff0c;我用的是物理机&#xff1a; 安装build-essential 练习1&#xff1a; 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件&#xff0c;随机修改或删除一部分&#xff0c;之后…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

基于Docker Compose部署Java微服务项目

一. 创建根项目 根项目&#xff08;父项目&#xff09;主要用于依赖管理 一些需要注意的点&#xff1a; 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件&#xff0c;否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!

一、引言 在数据驱动的背景下&#xff0c;知识图谱凭借其高效的信息组织能力&#xff0c;正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合&#xff0c;探讨知识图谱开发的实现细节&#xff0c;帮助读者掌握该技术栈在实际项目中的落地方法。 …...

uniapp中使用aixos 报错

问题&#xff1a; 在uniapp中使用aixos&#xff0c;运行后报如下错误&#xff1a; AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

SpringTask-03.入门案例

一.入门案例 启动类&#xff1a; package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

Map相关知识

数据结构 二叉树 二叉树&#xff0c;顾名思义&#xff0c;每个节点最多有两个“叉”&#xff0c;也就是两个子节点&#xff0c;分别是左子 节点和右子节点。不过&#xff0c;二叉树并不要求每个节点都有两个子节点&#xff0c;有的节点只 有左子节点&#xff0c;有的节点只有…...