随着大语言模型LLM在各个场景的落地应用,RAG(Retrieval-Augmented Generation,检索增强生成)成为提升模型实用性和准确性的关键技术。企业利用 RAG 开发智能客服,提升响应效率;科研机构整合文献资源,加速知识挖掘;开发者则打造个性化助手,满足多样化需求。如何高效准确构建各自领域的知识库成为影响检索效果的关键,本文介绍基于DeepSeek + RAGFlow的知识库搭建实践,包括以下方面:
-
RAG基本概念
-
RAGFlow框架介绍
-
RAGFlow安装
-
DeepSeek+RAGFlow使用
-
应用场景
一、RAG基本概念
1. RAG核心原理
检索增强生成(Retrieval-Augmented Generation,RAG)是当前最受关注的大模型应用范式之一,其核心思想通过「知识检索+模型生成」的组合架构,有效解决传统大模型的幻觉问题和知识更新滞后等痛点。RAG系统工作流程包含:
-
文档预处理:文本分块、向量化存储
-
实时检索:根据输入query匹配相关文档片段
-
增强生成:将检索结果与prompt结合生成最终回答
*2. RAG技术优势*
相比传统问答系统,RAG具备:
(1)知识可追溯:每个回答都可关联原始文档依据
(2)动态知识更新:通过修改知识库即可更新模型知识
(3)成本效益:无需微调即可获得领域专精能力
(4)安全可控:通过检索模块实现内容过滤
二、RAGFlow框架介绍
RAGFlow 是一款基于深度文档理解构建的开源 RAG(Retrieval-Augmented Generation)引擎。RAGFlow 可以为各种规模的企业及个人提供一套精简的 RAG 工作流程,结合大语言模型(LLM)针对用户各类不同的复杂格式数据提供可靠的问答以及有理有据的引用。
功能优势
(1)“Quality in, quality out”
- 基于深度文档理解,能够从各类复杂格式的非结构化数据中提取真知灼见。
- 真正在无限上下文(token)的场景下快速完成大海捞针测试。
(2)基于模板的文本切片
-
不仅仅是智能,更重要的是可控可解释。
-
多种文本模板可供选择。
(3)有理有据、最大程度降低幻觉(hallucination)
- 文本切片过程可视化,支持手动调整。
- 有理有据:答案提供关键引用的快照并支持追根溯源。
(4)兼容各类异构数据源
- 支持丰富的文件类型,包括 Word 文档、PPT、excel 表格、txt 文件、图片、PDF、影印件、复印件、结构化数据、网页等。
(5)全程无忧、自动化的 RAG 工作流
- 全面优化的 RAG 工作流可以支持从个人应用乃至超大型企业的各类生态系统。
- 大语言模型 LLM 以及向量模型均支持配置。
- 基于多路召回、融合重排序。
- 提供易用的 API,可以轻松集成到各类企业系统。
三、RAGFlow安装
1. 环境要求
· CPU >= 4 核
· RAM >= 16 GB
· Disk >= 50 GB
· Docker >= 24.0.0 & Docker Compose >= v2.26.1
Linux服务器确保 vm.max_map_count
不小于 262144:
查看 vm.max_map_count 的大小:$ sysctl vm.max_map_count 设置 vm.max_map_count 的大小:$ sudo sysctl -w vm.max_map_count=262144
2. Docker安装
如果没有在本机安装 Docker(Windows、Mac,或者 Linux), 可以参考文档自行安装。
https://docs.docker.com/engine/install/
安装完成后配置国内镜像源地址:
{ "builder":{ "gc":{ "defaultKeepStorage":"20GB", "enabled":true } }, "debug":false, "experimental":false, "features":{ "buildkit":true }, "insecure-registries":[ "registry.docker-cn.com", "docker.mirrors.ustc.edu.cn" ], "registry-mirrors":[ "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://dockerproxy.com", "https://registry.docker-cn.com", "http://hub-mirror.c.163.com", "http://mirrors.ustc.edu.cn/", "https://mirrors.tuna.tsinghua.edu.cn/" ]}
默认镜像保存于C盘,可在 设置 → Resources 中自定义设置。
3. RAGFlow安装
(1) 下载安装包
官方GitHub地址:
https://github.com/infiniflow/ragflow
克隆仓库:
$ git clone https://github.com/infiniflow/ragflow.git
(2)配置与启动服务
由于默认RAGFlow镜像为v0.17.2-slim,我们需要带Embedding model的完整发行版,需要修改docker/.env文件内的 RAGFLOW_IMAGE 变量,如图第84行和87行变量。
修改完成后即可启动docker服务
$ cd ragflow/docker# Use CPU for embedding and DeepDoc tasks:$ docker compose -f docker-compose.yml up -d
如果你遇到 Docker 镜像拉不下来的问题,可以在 docker/.env 文件内根据变量 RAGFLOW_IMAGE 的注释提示选择华为云或者阿里云的相应镜像。
华为云镜像名:swr.cn-north-4.myhuaweicloud.com/infiniflow/ragflow
阿里云镜像名:registry.cn-hangzhou.aliyuncs.com/infiniflow/ragflow
镜像拉取完成后查看是否启动成功:
也可通过命令查看服务运行状态:
$ docker logs -f ragflow-server
浏览器访问安装服务器地址即可访问RAGFlow服务(未改动过配置则无需输入端口,默认的 HTTP 服务端口 80)。
如需更新默认的 HTTP 服务端口(80), 可以在 docker-compose.yml 文件中将配置 80:80 改为:80,如8080:80,访问端口即改为8080。``
所有系统配置都需要通过系统重启生效:
$ docker compose -f docker-compose.yml up –d
(3)登录使用
启动成功的登录界面:
注意第一个注册的用户默认是管理员,数据也是保存在本地服务器。
四、DeepSeek+RAGFlow使用
1. 配置LLM模型
点击右上角头像即可进行LLM模型配置:
点击“System Model Settings”配置默认模型,包括Chat model、Embedding model、Image-to-text model。Embedding model可以选择内置的BAAI模型,也可根据需要自定义配置。
2. 建立知识库
(1)点击“知识库” → “创建知识库”,在配置页面设置embedding model和chunk method。
注意:当选定embedding model并用于解析文档后,该知识库就不再支持修改该参数。
(2)在“数据集”页面上传文档,并点击开始按钮进行文档解析,完成后解析状态为“成功”。
点击解析完成的文档,即可查看其Chunk 详情,并进行检索验证。
3. 基于知识库进行问答服务
在“聊天” → “创建助手”中创建对话服务,“助理设置”中配置需要引用的知识库:
“模型设置”中配置所需的Chat模型:
测试结果如图,段后 “!” 即显示引用详情:
五、应用场景
-
智能客服:实时从企业知识库中检索相关信息,为客户提供准确、个性化的解答。
-
企业技术文档问答系统:从企业内部多个数据源中检索信息并生成结构化的文档或摘要,适合企业问答知识库管理。
-
医疗知识辅助决策:医疗专业人员可以通过 RAGFlow 快速查找相关医学文献和病例资料,为诊断和治疗提供参考。
-
金融研究报告智能解析:金融机构可以利用 RAGFlow 整合和提炼大量素材,生成金融调研与投资分析报告。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。