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模型:将文本转为向量,衡量语义相似度,不直接生成文本
相关推荐
-曾牛16 小时前
Spring AI 与 Hugging Face 深度集成:打造高效文本生成应用
java·人工智能·后端·spring·搜索引擎·springai·deepseek
大白技术控20 小时前
浙江大学 deepseek 公开课 第三季 第3期 - 陈喜群 教授 (附PPT下载) by 突破信息差
人工智能·互联网·deepseek·deepseek公开课·浙大deepseek公开课课件·deepseek公开课ppt·人工智能大模型
奔跑吧邓邓子2 天前
DeepSeek“智”造:解锁旅游行业新玩法
应用·deepseek·旅游行业·旅游攻略
Violet_Stray4 天前
【Ollama】docker离线部署Ollama+deepseek
docker·部署·ollama·deepseek
AI掘金4 天前
DeepSeek实战--蒸馏
微调·aigc·蒸馏·ai应用·deepseek·小模型推理
AI掘金5 天前
DeepSeek实战--手搓实现Agent
ai·ai编程·ai agent·deepseek
聚客AI5 天前
预训练模型实战手册:用BERT/GPT-2微调实现10倍效率提升,Hugging Face生态下的迁移学习全链路实践
人工智能·语言模型·chatgpt·transformer·ai大模型·模型微调·deepseek
迅易科技6 天前
企业智能化第一步:用「Deepseek+自动化」打造企业资源管理的智能中枢
人工智能·知识图谱·deepseek
scimence6 天前
DeepSeek API接口调用示例(开发语言C#,替换其中key值为自己的key值即可)
开发语言·人工智能·c#·api接口·deepseek
源雀数智6 天前
源雀SCRM开源·AI企微客服|RAG知识中枢+自训练闭环
java·人工智能·企业微信·流量运营·deepseek