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模型:将文本转为向量,衡量语义相似度,不直接生成文本
相关推荐
互联网老欣1 天前
2025年保姆级教程:阿里云服务器部署Dify+Ollama,打造专属AI应用平台
服务器·阿里云·ai·云计算·dify·ollama·deepseek
算家计算3 天前
DeepSeek开源IMO金牌模型!跑出数学推理新高度,你的算力准备好了吗?
人工智能·资讯·deepseek
懷淰メ3 天前
python3GUI--【AI加持】基于PyQt5+YOLOv8+DeepSeek的智能球体检测系统:(详细介绍)
yolo·目标检测·计算机视觉·pyqt·检测系统·deepseek·球体检测
爱听歌的周童鞋4 天前
斯坦福大学 | CS336 | 从零开始构建语言模型 | Spring 2025 | 笔记 | Lecture 11: Scaling laws 2
llm·minicpm·deepseek·cs336·mup·scaling laws
明知道的博客7 天前
解决WSL环境下DeepSeek-OCR运行时内存不足问题
python·ocr·deepseek·deepseek-ocr
Zyx20078 天前
前端直连大模型:用原生 JavaScript 调用 DeepSeek API
javascript·deepseek
模型启动机8 天前
DeepSeek OCR vs Qwen-3 VL vs Mistral OCR:谁更胜一筹?
人工智能·ai·大模型·ocr·deepseek
AI大模型9 天前
在本地部署DeepSeek‑R1‑0528 超大模型全流程指南!
llm·agent·deepseek
realhuizhu10 天前
90%的OKR都写成了KPI?其实你缺的不是表格,而是"教练"
ai工具·目标管理·okr·deepseek·团队效能
大模型真好玩11 天前
Gemini3.0深度解析,它在重新定义智能,会是前端工程师噩梦吗?
人工智能·agent·deepseek