前言
满血版DeepSeek虽然很好用,但仍然有三个主要缺陷:
- 联网的DeepSeek无法解决数据安全问题,如果使用,数据将传输到其服务器,数据隐私性无法保证。
- 上传的文件存在限制,无法解决有多个文件的问题。
- 回答的内容存在幻觉,或是缺乏数据的泛泛而谈,不够精确。
为解决这三点问题,可采用RAGFlow+DeepSeek本地部署的方案。
1. 配置准备
这套方案对设备依赖性较高,因为需要使用Docker做部署+本地大模型进行推理,因此需要中高端设备。
以下我采用的设备配置为 i9-13900K + 64G内存 + 4090显卡,操作系统为windows10,实测发现,至少需要32G内存才能流畅运行。
2. DeepSeek本地部署
如何本地部署DeepSeek在我之前的文章《DeepSeek-R1论文阅读及本地调用》已详细写过,这里不做赘述,文章链接:https://blog.csdn.net/qq1198768105/article/details/145627633
主要是通过Ollama进行模型下载,deepseek-r1包含了以下几个版本,网站上有对应的参数量和所需显存,对于4090显卡24G显存来说,最大是部署32b参数的版本,实测下来,加上windows本身图形化界面所占显存,总共显存占用约为22.1GB。
这里有两点需要补充说明,下载完ollama,先不用急着下载模型,先配置两个环境变量:
- OLLAMA_HOST:0.0.0.0:11434
这里设置OLLAMA服务默认端口号为11434
,这里设置该环境变量,方便后续RAGFlow进行服务访问
- OLLAMA_MODELS:设置为自己模型保存路径
OLLAMA默认的模型保存路径在C:\Users\用户名\.ollama
,未避免挤占C盘控件,可先设置到其他盘。
配置完重启,环境变量生效。
之后,执行ollama run deepseek-r1:32b
,即可自动下载32b的本地模型。
3. RAGFlow部署
首先理解一下RAG(Retrieval-Augmented Generation)的技术原理:
- 检索(Retrieval):当用户提出问题时,系统会从外部的知识库中检索出与用户输入相关的内容。
- 增强(Augmentation):系统将检索到的信息与用户的输入结合,扩展模型的上下文。这让生成模型(也就是Deepseek)可以利用外部知识,使生成的答案更准确和丰富。
- 生成(Generation):生成模型基于增强后的输入生成最终的回答。它结合用户输入和检索到的信息,生成符合逻辑、准确且可读的文本内容。
通过这项技术,可有效减少模型的“幻觉”问题。
RAGFlow是基于RAG的一套大模型运行流水线,提供了完整的前端界面和数据存储方式,支持通过上传文件等方式,构建自己的知识库。
首先下载RAGFlow源码:https://github.com/infiniflow/ragflow
由于RAGFlow需要mysql、redis等数据库依赖,因此比较方便的做法是直接通过docker进行部署。
docker官网下载地址:https://www.docker.com/
准备好之后,开始部署流程:
3.1 修改源码镜像
仓库里docker文件夹下,有个.env
文件,其默认的镜像是不带embedding的轻量化版本,所谓embedding就是通过模型将文件编码成特征向量,方便后续模型在搜索资料时进行相似度匹配。 具体操作方式是将第84行注释,第87行取消注释,如下图所示:
3.2 拉取镜像
中断进入到源码docker文件夹,执行
docker compose -f docker-compose.yml up -d
拉取完成后如图所示:
3.3 启动RAGFlow服务
再执行
docker logs -f ragflow-server
启动RAGFlow服务,此时通过浏览器访问localhost:80
此时进入到RAGFlow的登陆界面,需要通过邮箱和密码进行登录,这些信息都存在本地的数据库,因此可以随意设置,此功能方便同一团队不同成员通过不同的账号进行登录。
登录完成,进入到主界面。
3.4 配置模型
进入到设置界面,选择模型提供商,点击Ollama下面的添加模型。
这里模型类型选择chat
,模型名称输入deepseek-r1:32b
这里的名称需要和ollama中严格对应,如果忘了名称,可通过ollama list
查看当前所有模型名称。
基础Url设置为http://本机ip:11434
,最大token数尽可能设置大些即可。
3.5 配置数据库
进入到数据库配置界面,这里可以选择配置嵌入模型(embedding model),它默认带了几个,如果是中文,设置带zh
标记的模型。
配置完之后,上传文件,上传完之后,需要点击图中的运行键,执行文档解析,这样才能让模型访问到。
3.6 问答配置
配置完成之后,进入到聊天模块,创建自己的Ai智能体,即可进行问答。
这里放一组对比,首先我直接访问DeekSeek的官网,问它你知道M3FD数据集吗
。
这个数据集的确是可见光和红外多模态数据集,但不是人脸检测数据,满血版的DeepSeek出现幻觉,回答错误。
下面我问一下我的专属Ai助理,我在知识库里,上传了一篇多模检测的论文,它的回答如下:
回答得很准确,并且给出了具体数据在参考资料具体出处。
4. FRP配置外部访问
搭建了这么好玩的一个玩意,自己玩可不行,还想给别人玩,下面就可通过云服务器实现外部的穿透访问。
在此之前,我已写过两篇文章,在我的云服务器上配置了Frps和Nginx的基础服务,因此一些初始配置方式不作赘述,文章链接:
1.【实用技巧】云服务器+FRP搭建自己的远程控制向日葵]:https://zstar.blog.csdn.net/article/details/145708943
- 个人主页搭建全流程(Nginx部署+SSL配置+DCDN加速:https://zstar.blog.csdn.net/article/details/145135743
下面的目的是通过子域名来绑定转发RAGFlow的服务。
- 首先在域名控制平台配置子域名解析
记录名为子域名开头
,比如域名是zstar163.com
,子域名是zz.zstar163.com
,子域名开头
即为zz
,A记录,记录值为公网IP地址。
- 配置frps.toml文件
在frps.toml文件中,加入两个变量:
vhostHTTPPort = 7005
subdomainHost = "主域名"
注意,这里新版的frp的变量名vhostHTTPPort
和老版有所不同,老版的是vhost_http_port
,这里被资料误导过。
配置完成后,重启服务端frps服务。
- 配置frpc客户端
这里在Frpc Desktop里面添加一个http的代理,名称任意,主要是代理本机的80端口,子域名为之前解析的子域名开头
。
- 配置nginx文件
修改nginx配置文件,我的默认路径是/etc/nginx/nginx.conf
添加一个额外的server块,内容如下,子域名替换成待访问的完整子域名。
server {
listen 80;
server_name 子域名;
location / {
proxy_pass http://127.0.0.1:7005;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
配置完之后,重启nginx
sudo systemctl restart nginx
- 完成访问
配置完之后,用户在浏览器内,访问子域名
,服务器就先触发nginx的机制,将其转发到本机的7005
端口,而这个端口信号又被frp转发到部署服务的80端口,最终实现了RAGFlow的穿透访问,出现登陆界面,完成访问。
参考资料
如何学习AI大模型?
大模型的发展是当前人工智能时代科技进步的必然趋势,我们只有主动拥抱这种变化,紧跟数字化、智能化潮流,才能确保我们在激烈的竞争中立于不败之地。
那么,我们应该如何学习AI大模型?
对于零基础或者是自学者来说,学习AI大模型确实可能会感到无从下手,这时候一份完整的、系统的大模型学习路线图显得尤为重要。
它可以极大地帮助你规划学习过程、明确学习目标和步骤,从而更高效地掌握所需的知识和技能。
这里就给大家免费分享一份 2025最新版全套大模型学习路线图,路线图包括了四个等级,带大家快速高效的从基础到高级!
如果大家想领取完整的学习路线及大模型学习资料包,可以扫下方二维码获取
👉2.大模型配套视频👈
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,每个章节都是当前板块的精华浓缩。(篇幅有限,仅展示部分)
大模型教程
👉3.大模型经典学习电子书👈
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。(篇幅有限,仅展示部分,公众号内领取)
电子书
👉4.大模型面试题&答案👈
截至目前大模型已经超过200个,在大模型纵横的时代,不仅大模型技术越来越卷,就连大模型相关的岗位和面试也开始越来越卷了。为了让大家更容易上车大模型算法赛道,我总结了大模型常考的面试题。(篇幅有限,仅展示部分,公众号内领取)
大模型面试
**因篇幅有限,仅展示部分资料,需要的扫描下方二维码领取 **