DeepSeek+RAGFlow搭建本地知识库

下载本地DeepSeek

想要下载本地的DeepSeek需要通过Ollama进行本地部署

Ollama下载和安装

官网地址:https://ollama.com/ 傻瓜式安装就不赘述了 当下载完毕之后如何验证自己有没有安装成功?

  • 打开CMD,输入ollama 看到图中的页面就代表成功了

Ollama配置环境变量

默认情况下ollama是只允许本地机器进行访问的,但是到时候我们RAGFlow是通过docker进行运行的,docker就类似于另外一台机器,所以为了让后面RAGFlow可以访问到,需要进行修改

同时ollama默认是把模型下载到C盘的,如果不想要下载到C盘的话,那么需要在配置以下的环境变量,并且修改之后要重启电脑。变量值就是你想要下载的位置

DeepSeek模型下载

再次打开Ollama的地址,然后搜索Deep Seek-R1,选择自己对应的模型,复制红框中的内容

然后打开cmd进行粘贴回车,等待下载完成

出现success就代表成功了,并且可以进行对话

注意不要退出,后面会用到 如果退出了,那么就打开cmd输入ollama run deepseek-r1 进行启动

安装RAGFlow

RagFlow下载地址:github.com/infiniflow/...

任选一个方式进行下载 第一种方式的话就是 git clone https://github.com/infiniflow/ragflow.git

修改RAGFlow配置

如果不修改这个配置的话,那么RAGFlow默认下载的版本是没有embedding模型的。而下载完整版的RAGFlow是包含了这个embedding模型的 进入根目录下的docker文件夹,打开.env 文件 搜索 RAGFLOW_IMAGE

注释掉 RAGFLOW_IMAGE=infiniflow/ragflow:v0.17.0-slim

解开注释 RAGFLOW_IMAGE=infiniflow/ragflow:v0.17.0

什么是Embedding模型?

将文本(World、PDF等等)中的自然语言转换成机械可以理解的高维向量,然后通过向量之间的匹配和比对去捕获到单词或是句子背后的语义信息。 除了针对知识库的文本之外,还会针对用户输入的信息进行处理。 说人话就是,Embedding模型会把信息转换成对应的身份证,然后会匹配两个身份证最相似的数据

安装Docker环境

先打开启用或关闭Windows功能界面 ,随后打开红框中的内容,如果第一个红框没有的话那么看看有没有一个叫做虚拟机平台 的进行打开

随后使用管理员身份打开cmd,输入下面两个命令 第一个命令:wsl --set-default-version 2 ,将WSL的默认版本设置为2

第二个命令:wsl --update --web-download ,将WSL更新到最新版本

如果再平时不适用wsl的话可以使用这个命令进行关闭wsl --shutdown 随后进入docker官网下载:https://www.docker.com/ 下载安装成功之后打开cmd,输入docker 显示下面的内容就代表成功了

记得启动docker。 如果你在启动docker的时候但是一直在加载界面并且报错的话,报错内容看一下是不是下面这个

css 复制代码
An unexpected error occurred
Docker Desktop encountered an unexpected error and needs to close.

Search our troubleshooting documentation ⁠ to find a solution or workaround. Alternatively, you can gather a diagnostics report and submit a support request or GitHub issue.

running engine: waiting for the Docker API: context deadline exceeded

如果是的话,那么请你使用管理员身份呢打开cmd,输入netsh winsock reset 并且重启电脑。另外记得关闭代理!!!等启动了之后在打开即可

安装RAGFlow

在修改文件的位置打开cmd,输入指令docker compose -f docker-compose.yml up -d

耐心等待安装,安装成功之后启动一下docker(在输入一下上面的指令)随后在浏览器中访问http://localhost/login ,注册一下账号就行

构建知识库

看图操作 打开cmd输入ollama list 就可以看到模型名称 打开cmd输入ipconfig 就可以看到ipv4的地址

这边这个地方根据自己的需求进行设置即可

上传自己的文件然后一定要解析

解析完毕之后就可以使用了,可以将蓝色背景的内容进行删掉,这样就不会遇到没有的内容时不进行回答了

看一下效果,具体的自己研究哈

其余知识点

RAG技术和模型微调的区别

  • RAG技术和模型微调都是为了解决大模型的幻觉问题
    • 什么是幻觉问题?
      • 大模型在回答不知道的问题的时候会进行胡说八道
  • 微调是指在已有的训练情况下结合特定的训练集任务进一步的进行训练(考前复习)
  • RAG是指在生成回答之前,通过信息检索从外部获取到参考内容增强生成的答案,提升回答质量和可信度(开卷考)

RAG技术的原理

RAG(Retrieval-Augmented Generation)

  • 检索:当用户提出问题的时候,系统会从外部的知识库中检索出和用户输入相关的内容
  • 增强:系统将检索的信息和用户的输入结合,扩展模型的上下文,然后再传给LLM
  • 生成:LLM基于增强后的输入生成最终的回答

检索的详细过程:

  • 整备外部知识库(本地文件、搜索引擎结果、API等等)
  • 通过Embedding(嵌入)模型,对知识库的内容进行解析,并且生成一个高维向量
  • 通过Embedding(嵌入)模型再次对用户输入的信息进行解析,并且也会生成一个高维向量
  • 拿用户的提问去匹配本地知识库:使用用户输入生成的高维向量去查询知识库中相关的文档片段,在这个过程中,系统会利用某些相似度度量(比如余弦相似度)去判断相似度

模型的分类

  • Chat模型:专门优化对话交互,能理解上下文,生成自然回复
  • Embedding模型:将文本转为向量,衡量语义相似度,不直接生成文本
相关推荐
l1t4 小时前
利用DeepSeek辅助拉取GitHub存储库目录跳过特定文件方法
人工智能·github·deepseek
pursue.dreams1 天前
DeepSeek-V4 即将登场,编程之王与架构革新能否重塑 AI 格局
deepseek
AC赳赳老秦1 天前
医疗数据安全处理:DeepSeek实现敏感信息脱敏与结构化提取
大数据·服务器·数据库·人工智能·信息可视化·数据库架构·deepseek
BitaHub20241 天前
深度推理力量:用 DeepSeek V3.2 Speciale 打造自动数据分析系统
人工智能·deepseek
且去填词1 天前
DeepSeek :基于 AST 与 AI 的遗留系统“手术刀”式治理方案
人工智能·自动化·llm·ast·agent·策略模式·deepseek
且去填词1 天前
构建基于 DeepEval 的 LLM 自动化评估流水线
运维·人工智能·python·自动化·llm·deepseek·deepeval
AC赳赳老秦2 天前
DeepSeek 私有化部署避坑指南:敏感数据本地化处理与合规性检测详解
大数据·开发语言·数据库·人工智能·自动化·php·deepseek
AC赳赳老秦2 天前
Unity游戏开发实战指南:核心逻辑与场景构建详解
开发语言·spring boot·爬虫·搜索引擎·全文检索·lucene·deepseek
且去填词2 天前
DeepSeek-R1 实战:数据分析
人工智能·python·mysql·语言模型·deepseek·structured data
且去填词3 天前
DeepSeek API 深度解析:从流式输出、Function Calling 到构建拥有“手脚”的 AI 应用
人工智能·python·语言模型·llm·agent·deepseek