保姆级教程:DeepSeek+RAG技术实现企业级知识库搭建

1.为什么不直接使用网页版deepseek?

  • 需求: 绝对的隐私保护 个性化知识库构建
  • ​​​​​​​场景: 如果你希望大模型能根据你们企业的规章制度来回答问题,那么你一般需要上传企业规章制度的附件; 但你仍然可能面临的问题有:
    • 数据隐私问题: 联网使用大模型数据隐私性无法得到绝对保证
    • 上传文件的限制问题: 网页版AI对于文件上传的数量、大小一般有限制并且通常需要付费
    • 仅通过附件扩展上下文功能有限: 每次在新对话中提问相关问题时,仍需要重新上传附件修改删除对话中已有的附件困难

前排提示,文末有大模型AGI-优快云独家资料包哦!

2.如何实现网页版DeepSeek不能实现的需求?

  • 隐私保护
    • 通过对话大模型(如DeepSeek)的 本地部署 解决隐私问题
  • 个性化知识库构建
    • 使用 RAG技术 (Retrieval-Augmented-Generation,检索增强生成) 构建个人知识库。为此我们需要:
      • 本地部署RAG技术所需要的开源框架 RAGFlow
      • 本地部署 Embedding大模型 (或者直接部署自带Embedding模型的RAGFlow版本)

3.目标效果预览

  • 知识库:

  • 根据知识库问答:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

4.为什么要使用RAG技术?RAG和模型微调的区别?

  • 大模型的幻觉问题
    • 在面对某些输入时,生成的内容不准确不完整误导性的现象
  • 微调技术和RAG技术:
    • 微调: 在已有的预训练模型基础上,再结合特定任务的数据集进一步对其进行训练,使得模型在这一领域中表现更好(考前复习)
    • RAG: 在生成回答之前,通过信息检索从外部知识库中查找与问题相关的知识,增强生成过程中的信息来源,从而提升生成的质量和准确性(考试带小抄)
    • 共同点: 都是为了赋予模型某个领域的特定知识,解决大模型的幻觉问题
  • RAG (Retrieval-Augmented Generation) 的原理:
    • 检索(Retrieval): 当用户提出问题时,系统会从外部的知识库中检索出与用户输入相关的内容
    • 增强(Augmentation): 系统将检索到的信息与用户的输入结合,扩展模型的上下文。然后再传给生成模型(也就是Deepseek)
    • 生成(Generation): 生成模型基于增强后的输入生成最终的回答。由于这一回答参考了外部知识库中的内容,因此更加准确可读

5.什么是Embedding?为什么需要“Embedding模型”?

  • 检索(Retrieval) 的详细过程:
    • 准备外部知识库: 外部知识库可能来自本地的文件、搜索引擎结果、API等等
    • 通过 Embedding (嵌入) 模型,对知识库文件进行解析: Embedding 的主要作用是将自然语言转化为机器可以理解的高维向量,并且通过这一过程捕获到文本背后的语义信息(比如不同文本之间的相似度关系)
    • 通过 Embedding(嵌入) 模型,对用户的提问进行处理: 用户的输入同样会经过嵌入(Embedding)处理,生成一个高维向量
    • 拿用户的提问去匹配本地知识库: 使用用户输入生成的这个高纬向量,去查询知识库中相关的文档片段。在这个过程中,系统会利用某些相似度度量(如余弦相似度)去判断相似度
  • 模型的分类: Chat模型、Embedding模型;
  • 简而言之: Embedding模型是用来对你上传的附件进行解析的

6.本地部署全流程

下载 ollama,通过ollama将 DeepSeek 模型下载到本地运行

  • ​​​​​​​下载ollama平台
    • ollama是一个用于本地运行和管理大语言模型(LLM)的工具。
  • 配置环境变量
    • OLLAMA_HOST : 0.0.0.0:11434
      • 作用:让虚拟机里的RAGFlow能够访问到本机上的 Ollama
      • 如果配置后虚拟机无法访问,可能是你的本机防火墙拦截了端口11434
      • 不想直接暴露 11434 端口: SSH 端口转发来实现;
      • 更新完两个环境变量记得重启;
    • OLLAMA_MODELS : 自定义位置
      • 作用:ollama 默认会把模型下载到C盘,如果希望下载到其他盘需要进行配置
  • 通过ollama下载模型deepseek-r1:7b
    • ollama run deepseek-r1:7b
详细步骤:
1. ollama下载

下载链接:Ollama

2. ollama安装

检测是否安装成功,cmd-ollama 如出现以下内容,则安装成功

3. ollama环境变量配置

​​​​​​​

4. ollama下载运行deepseek-r1模型​​​​​​​

下载 RAGflow 源代码和 Docker,通过 Docker 来本地部署RAGflow

  • 下载RAGflow源代码
  • 下载Docker
    • Docker 镜像是一个封装好的环境,包含了所有运行 RAGFlow 所需的依赖、库和配置
    • 如果安装遇到踩坑,可以自行搜索一下报错或者问一下gpt
    • 如果镜像拉不下来,尝试修改docker的镜像源
详细步骤:
1. docker下载

下载链接:Docker: Accelerated Container Application Development

2. docker安装

检测是否安装成功,cmd-docker 如出现以下内容,则安装成功

3. docker镜像源配置

4. RAGflow下载

下载链接:ragflow/README_zh.md at main · infiniflow/ragflow · GitHub

$ git clone https://github.com/infiniflow/ragflow.git
​​​​​​​5. RAGflow配置文件修改

我们需要使用带有embedding models 的版本

打开.env文件,将slim版本注释,完整版注释打开

6. docker运行ragflow
$ cd ragflow
$ docker compose -f docker/docker-compose.yml up -d

使用docker ps 查看已经运行启动的镜像,如下则表示运行成功

在RAGflow中构建 个人知识库 并实现基于个人知识库的对话问答

  • docker成功启动后,浏览器输入 localhost:80 来访问RAGFlow
  • 在 “模型提供商” 中添加我们本地部署的 deepseek-r1:7b 模型
  • 在 “系统模型设置” 中配置Chat模型 (deepseek-r1:7b) 和 Embedding模型 (用RAGFlow自带的即可)
  • 创建知识库,上传文件,解析文件
  • 创建聊天助手 (注意prompt和tokens的配置)
  • 开始对话
详细步骤:
1. 注册及登录,第一个注册的用户为管理员

2. 模型配置

3. 知识库配置

4. 问答助手配置及问答

开始聊天:

7.只想迅速搭建个人知识库,可以不本地部署吗?

  • ——当然可以!这样实现起来更简单,而且效果一般来说会更好
  • 具体步骤:
    • 下载RAGFlow源代码和docker,通过docker本地部署RAGFlow(RAGFlow目前没有官方的网页版)
    • 在RAGFlow中配置任意的Chat模型和Embedding模型(你需要到这些模型对应的官网去付费申请apiKey)
  • 优点:
    • 不用本地部署大模型,简单易操作
    • 企业大模型性能一般更优越
  • 缺点:
    • 隐私安全问题
    • 调用企业大模型API的成本

详细步骤:

我们找到想要使用的API模型,去官网申请API-KEY配置后即可,以通义千问为例:

1. 申请API-KEY

2. 配置大模型

读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!
在这里插入图片描述

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

👉AI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉大模型实战案例👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉大模型视频和PDF合集👈

观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

<think>好的,用户想了解如何基于DeepSeekRAG技术本地搭建组织知识库。首先,我需要回顾之前提供的引用内容,确保回答准确。根据引用[2][3],搭建流程大致分为环境准备、模型部署、知识库构建集成应用几个步骤。 首先,用户需要安装Ollama来本地部署DeepSeek模型,如引用[3]提到的。接着,处理组织文档,进行文本分块向量化存储,这部分涉及RAG的核心步骤。然后,需要配置检索系统,比如使用FAISS或Chroma,并将DeepSeek与检索系统集成。可能还需要考虑前端界面的搭建,比如使用Open WebUI,如引用[2]中提到的。 用户可能遇到的问题包括环境配置错误、文档处理效率、检索精度等,需要给出优化建议,比如调整分块大小或优化prompt。此外,引用[1]提到DeepSeek-R1与RAG结合的效果,可以强调其在提高回答准确性方面的优势。 需要确保步骤清晰,分点说明,同时语言简洁。最后,生成的相关问题要覆盖部署工具、RAG原理、优化方法等,帮助用户深入理解。</think>### 分步指南:基于 DeepSeek RAG 搭建本地知识库 #### 一、环境准备 1. **安装 Ollama 框架** 使用开源工具Ollama部署DeepSeek模型(推荐DeepSeek-R1或DeepSeek-V3),持Windows/Linux/macOS系统[^3]: ```bash curl -fsSL https://ollama.com/install.sh | sh ollama run deepseek-r1 ``` 2. **文档处理工具链** 安装Python依赖库: ```python pip install langchain unstructured chromadb sentence-transformers ``` #### 二、知识库构建流程 1. **文档预处理** - 将组织文档(PDF/Word/TXT)统一转换为纯文本 - 使用LangChain的`RecursiveCharacterTextSplitter`进行分块(建议每块500字) ```python from langchain.text_splitter import RecursiveCharacterTextSplitter splitter = RecursiveCharacterTextSplitter(chunk_size=500, chunk_overlap=50) ``` 2. **向量化存储** - 选择嵌入模型(如`all-MiniLM-L6-v2`) - 使用Chroma或FAISS建立向量数据库[^2] ```python from langchain.vectorstores import Chroma from langchain.embeddings import HuggingFaceEmbeddings embeddings = HuggingFaceEmbeddings(model_name="all-MiniLM-L6-v2") vector_db = Chroma.from_documents(docs, embeddings, persist_directory="./db") ``` #### 三、RAG系统集成 1. **检索增强配置** ```python from langchain.chains import RetrievalQA qa_chain = RetrievalQA.from_chain_type( llm=deepseek_model, retriever=vector_db.as_retriever(search_kwargs={"k": 3}), return_source_documents=True ) ``` 2. **DeepSeek模型接入** 通过Ollama API调用本地模型: ```python from langchain.llms import Ollama deepseek_model = Ollama(model="deepseek-r1", temperature=0.3) ``` #### 四、部署优化建议 1. **性能调优** - 调整分块大小(200-1000字) - 增加元数据过滤(部门/文档类型/时间) - 设置缓存机制减少重复查询 2. **安全增强** ```python # 添加权限验证层 from fastapi import Depends, HTTPException def verify_token(token: str = Header(...)): if token != VALID_TOKEN: raise HTTPException(status_code=403) ``` #### 五、验证测试 ```python response = qa_chain("我司2024年差旅费标准是多少?") print(f"答案:{response['result']}\n来源:{response['source_documents'][0].metadata}") ``` 输出示例: ``` 答案:根据2024年财务制度第三章第五条,国内差旅住宿标准为一线城市800元/晚,二线城市600元/晚 来源:{‘source’: ‘财务管理制度.pdf’, ‘page’: 12} ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值