记录在ubuntu系统上本地私有化deepseek大模型

配置说明

  1. 软件配置说明
  • cuda工具配置说明
    在这里插入图片描述
  • ubuntu系统版本说明
    在这里插入图片描述
  1. 硬件配置说明

CPU:Intel 12400F
DRAM:32G
GPU:NVIDIA 4060Ti 16G
主存容量:512G

RagFlow安装和部署

前置条件

  • CPU >= 4 核
  • RAM >= 16 GB
  • Disk >= 50 GB
  • Docker >= 24.0.0 & Docker Compose >= v2.26.1

docker的安装可以参考 Install Docker Engine ,官方给出的文章自行安装进去后里面可以在Supported platforms这个标题下选择对应的系统安装,这里我选择的ubuntu系统,接着根据官方的教程一步一步安装即可。

在这里插入图片描述
【tips】在完成docker的安装以后,建议提前更换docker使用的镜像源,在/etc/docker/daemon.json文件中添加对应的源,具体教程可以在网上寻找一下,当然也可以跟着ragflow官方的教程走,有更换源的操作。此处有一个不便利之处,因为本人的ubuntu用户账号未添加root权限,所以在这里可以将docker添入root用户组,默认拥有sudo权限,这样就不用在每次使用docker命令时,需要添加sudo关键字

	$ sudo groupadd docker
	$ sudo gpasswd -a ${USER} docker
	$ sudo service docker restart

安装

  1. 拉取ragflow项目
	$ git clone https://github.com/infiniflow/ragflow.git

【tips】这一步如果说通过git拉取速度不快的话,建议直接采用魔法方法:ragflow项目界面>code>Download ZIP直接下载,或者找国内的其他网站如gitee等网站,下载到本地需要存放的位置,然后解压缩。
在这里插入图片描述

  1. 进入 docker 文件夹,利用提前编译好的 Docker 镜像启动服务器:
	$ cd ragflow/docker
	$ docker compose -f docker-compose.yml up -d

【tips】根据官方教程,运行上述命令会自动下载 RAGFlow slim Docker 镜像 v0.17.0-slim。请参考原文查看不同 Docker 发行版的描述。如需下载不同于 v0.17.0-slim 的 Docker 镜像,请在运行 docker compose 启动服务之前先更新 ragflow/docker/.env 文件内的 RAGFLOW_IMAGE 变量。比如,你可以通过设置 RAGFLOW_IMAGE=infiniflow/ragflow:v0.17.0 来下载 RAGFlow 镜像的 v0.17.0 完整发行版。

  • slim和非slim版本之间的区别在于,是否自带embedding模型,这两个版本之间的大小差距在7-10GB之间,因此在下载之前需要考虑本地磁盘容量是否足够,本人下载使用的非slim版本,大小为18.3GBslim版本大概在9-10GB上下
    在这里插入图片描述
    此外还需要注意,在镜像拉取完成之后,需要注意这里是否对应的镜像已经完整了,使用docker images命令查看镜像是否齐全,权限不够的在命令前面添加sudo docker images查看即可。
  1. 查看docker容器内组件运行情况
	$ docker logs -f ragflow-server

docker镜像拉取以后,默认会启动镜像内容,接着就可以通过上述命令查看是否启动成功 ,启动成功应该是如下标志:
在这里插入图片描述

【tips】如果发现没有出现这个界面,可以进入ragflow/docker/ragflow-logs这个路径,查看ragflow_server.log文件中的内容,这里记录了ragflow运行过程中出现的问题,再进行逐一排查。

  • 需要注意在上述工作完成之后,不是要进入如下的两个网址:
  • http://127.0.0.1:9380
  • http://本地IP:9380
    而是要进入:http://localhost:80 先注册账号,是下面这个页面,账号符合邮箱地址,密码随便设置,反正数据都是保存在本地的:
    在这里插入图片描述
  1. 注册登录

    在上图的界面中注册,然后登录就来到如下界面:
    在这里插入图片描述

  2. 配置模型

    搭建好ragflow之后,我们就需要考虑为ragflow挑选LLM模型,通过点击>右上角头像>左侧菜单栏模型提供商,选择合适的模型启动引擎即可,这里因为本地配置了ollama,所以使用ollama直接使用即可:
    在这里插入图片描述

配置Ollama大模型启动引擎

  1. 官网下载Ollama模型加载器,官网给出的Linux下载命令是,其他系统的根据官网提示即可:
	$ curl -fsSL https://ollama.com/install.sh | sh

【tips】使用这个下载的速度会非常慢,可能会卡死或者提示下载几天,建议可以从国内第三方网站下载,如魔塔社区等,通过这种方式下载的模型,就需要ollama文件中,通过命令行的方式安装ollama,这里我以魔搭社区中的提示为例:

	$ cd ollama-linux
	$ sudo chmod 777 ./ollama-modelscope-install.sh
	$ ./ollama-modelscope-install.sh

安装完成后,一般系统会自动运行,输入以下命令,查看ollama是否已经安装完成:

	$ ollama -v

安装成功会出现如下标志:

	$ ollama version is 0.6.0
  1. 修改配置

    在下载完成ollama模型后,不要急着去下载模型,建议在本地修改以下配置后在考虑下载模型:

    ① 因为ollama默认下载的位置会将模型下载至如下地址/usr/share/ollama/.ollama/models,非常不利于我们查看和修改对应的信息,而且通常一个LLM模型的存储空间占用都是大几个GB或者几十GB起,最好根据自己的实际情况,放在相对安心的位置比较好;
    ②考虑到接下来,ollama在启动模型后是需要在本地部署并支持被外部访问,因此还需要添加ollama的本地地址使用0.0.0.0,否则默认启动会启用只有本机系统可用的127.0.0.1回环端口,这也就意味着前面在docker中部署的ragflow作为外部应用无法访问。
    基于上述问题,特此在/etc/systemd/system/ollama.service中的[Service]这一个下面导航栏下,添加以下信息:

	# 模型下载地址设置,其中/xxx/可以根据自己的实际情况设置绝对地址或相对地址
	Environment="OLLAMA_MODELS=/xxx/ollama/models"
	# 访问端口设置
	Environment="OLLAMA_HOST=0.0.0.0"

修改完上述文件后,对ollama重新加载并更新配置:

	# 刷新配置
	$ sudo systemctl daemon-reload
	 
	# 重启ollama
	$ sudo systemctl restart ollama.service
	 
	# 查看一下重启后的ollama运行状态
	$ sudo systemctl status ollama
  1. 下载模型

    在完成上述内容之后,可以开始在ollama官网寻找对应的大模型进行下载:

在这里插入图片描述
一般说来,采用的命令如下:

	$ ollama run deepseek-r1:14b

在这里插入图片描述
等待命令完成后,在前面设置的模型存放路径下,就可以发现对应的模型参数文件。
在这里插入图片描述
默认模型下载完成后,会进入模型加载模式,输入/bye即可退出

配置ragflow+ollama实现deepseek-r1本地部署

  1. 配置端口
    在这里插入图片描述
    在前文RagFlow安装和部署5.配置端口标题中界面所示,选中ollama模型>添加模型,即可出现当前界面,模型类型选择chat(聊天模型),模型名称通过ollama ls命令中所展示NAME列即可。
    在这里插入图片描述
    【tips】需要注意的是对于基础Url的选择,由于我的RagFlow配置采用的docker方式,所以说对应的url选择上就需要采用host.docker.internal:11434的方式访问

  2. 配置本地知识库

    接下来我们就可以创建知识库了
    在这里插入图片描述
    在这里插入图片描述
    关于嵌入模型的选择上,选择一个前文所提到的非slim自带的嵌入模型即可,但是由于ragflow自带的embedding模型似乎只会调用cpu进行解析,所以这里建议可以使用ollama自己部署,步骤同上,即可通过gpu调用的形式加载embedding模型,加快文档解析速度。
    在这里插入图片描述
    之后点击数据集>新增文件>本地文件或者新建空文件,即可实现文件上传,解析文件后,在聊天界面实现和模型畅快的聊天。
    在这里插入图片描述

可能存在的问题汇总

  1. 划重点】善用日志排查问题
  • ollama运行过程中遇到问题,使用如下命令查看ollama日志:
	$ journalctl -u ollama -f
  • ragflow运行过程中遇到问题,同前文【tips】中所示,查看对应的日志文件即可
  1. ragflow提示某个镜像组件未启动

如Can’t connect redis,无法链接redis库

	# 查看已经启动的docker容器
	$ docker ps
	# xxx表示对应的ragflow需要的组件
	$ docker start ragflow-xxx
  1. ragflow提示缺少某个组件

    问题描述:如Failed to resolve ‘minio’ ([Errno -3] Temporary failure in name resolution)
    解决方法:docker中重新抓一个镜像组件下来

	$ docker pull ragflow-minio
  1. 常用docker和ollama的帮助命令:
 $ docker -h
 $ ollama -h
Logo

ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!

更多推荐