使用RAGFlow搭建本地知识库

说起本地知识库,可能很多人会觉得这是个很高大上的技术活儿,好像只有专业团队才能搞定。但今天要介绍的 RAGFlow,正在让这件事变得前所未有的简单------哪怕你是技术小白,只要跟着步骤来,也能搭建起属于自己的本地知识库系统。

为什么选择 RAGFlow

在说怎么搭建之前,先聊聊为什么 RAGFlow 能成为当前最火的本地知识库方案。

RAGFlow 是由 Infinity Intelligence 开发的一款开源 RAG(检索增强生成)引擎,目前在 GitHub 上已经收获了超过 80,000 颗星标。它的核心优势在于对文档的深度理解能力------不仅仅是简单的关键词匹配,而是真正能读懂文档的结构、表格、图片和排版格式。

拿一个实际场景来举例:假设你上传了一份包含复杂表格的 PDF 年度报告,传统的 RAG 方案可能会把表格内容切得七零八落,导致检索时无法获取完整的表格信息。而 RAGFlow 能够识别表格结构,保留表格的完整性,让问答更加准确。

目前的 v0.25.0 版本带来了多项重要更新,包括全新的解析管道、7 个新的文档解析模板,以及对 Seafile、RSS、DingTalk 等数据源的支持。知识图谱生成效率相比之前提升了 14 倍,从 8550 秒锐减至 608 秒。

硬件与软件环境准备

搭建本地知识库,硬件是基础。很多人担心自己的电脑能不能跑起来,这里给一个参考:

最低配置要求:

  • CPU:4 核以上

  • 内存:16GB 以上

  • 磁盘:50GB 可用空间

  • 显卡:如果要跑本地大模型(推荐),建议 NVIDIA 显卡,7B 参数模型需要 RTX 3060 Ti 或更高

当然,如果你不想在本地跑大模型,也可以选择调用云端 API(比如 OpenAI、DeepSeek、火山引擎等),这样对显卡要求就低很多,普通电脑也能流畅运行。

软件环境方面,你需要准备:

  • Docker Desktop(版本 24.0.0 或更高)

  • Docker Compose(版本 2.26.1 或更高)

  • Git(用于下载源码)

Windows 用户直接去 Docker 官网下载 Docker Desktop 安装包,一路下一步即可。需要注意的是,如果你电脑上之前安装过 VMware 等虚拟机软件,可能需要先卸载,因为 Docker 默认使用 Hyper-V,可能会产生冲突。

Docker 环境配置

Docker 安装完成后,有一步至关重要的配置:设置 vm.max_map_count。这个参数对 Elasticsearch 的正常运行至关重要,如果不设置,启动 RAGFlow 时可能会遇到"Can't connect to ES cluster"的错误。

Windows 用户打开 PowerShell 或命令提示符,执行:

复制代码
wsl -d docker-desktop -u root

sysctl -w vm.max_map_count=262144

Mac 用户执行:

复制代码
docker run --rm --privileged --pid=host alpine sysctl -w vm.max_map_count=262144

Linux 用户编辑 /etc/sysctl.conf 文件,添加一行:

vm.max_map_count=262144

下载并启动 RAGFlow

环境配置好后,接下来就是下载 RAGFlow 了。打开终端,执行以下命令:

复制代码
git clone https://github.com/infiniflow/ragflow.git

cd ragflow/docker

git checkout -f v0.25.0

这里指定了 v0.25.0 版本,这是目前最新的稳定版本。如果你想要最新功能,可以不执行 git checkout 命令,使用 nightly 版本。

启动服务之前,你需要修改 .env 配置文件。主要修改以下几项:

如果你在国内,需要取消注释 HF_ENDPOINT 这一行,设置为国内镜像:

复制代码
HF_ENDPOINT=https://hf-mirror.com

然后执行启动命令:

复制代码
docker compose -f docker-compose.yml up -d

注意:如果你有 NVIDIA 显卡,使用 docker-compose-gpu.yml 可以获得更好的性能。没有显卡的用户使用 docker-compose.yml 即可。

启动完成后,查看日志确认服务状态:

docker logs -f docker-ragflow-server-1

看到下面这样的输出就说明启动成功了:

基础配置:让系统跑起来

服务启动成功后,打开浏览器访问 http://服务器IP(默认端口 80),会看到登录页面。首次使用需要注册账号,点击注册后登录即可。

登录后第一件事是配置大语言模型。点击右上角的 Logo,选择"模型供应商"

RAGFlow 支持非常丰富的大模型选择:

  • 云端 API:OpenAI GPT 系列、Anthropic Claude、DeepSeek、通义千问、火山引擎、豆包等

  • 本地部署:通过 Ollama 支持 DeepSeek、Qwen、Llama 等开源模型

如果你选择使用 Ollama 本地部署模型,需要先下载安装 Ollama,然后在终端中下载所需模型:

复制代码
ollama run qwen3.5:9b

在 RAGFlow 中添加 Ollama 时,基础 URL 填写 http://host.docker.internal:11434,API Key 留空,最大 token 数根据模型能力设置。

配置完成后,还需要进行系统模型设置,分别选择默认的聊天模型、嵌入模型等。

创建你的第一个知识库

模型配置好后,就可以创建知识库了。点击页面上方的"知识库"选项卡,然后点击"创建知识库"。

进入配置页面后,需要设置以下参数:

嵌入模型选择:这个一旦选择并用于解析文件后就无法更改,所以要根据实际需求选择合适的模型。常用的嵌入模型包括 BGE、Text2Vec 等。

分段方法:RAGFlow 提供了多种分段模板,适应不同的文档布局:

  • naive_:通用文档,适合大多数场景

  • table_:带表格的文档

  • paper_:学术论文

  • book_:书籍

  • laws_:法律法规

  • presentation_:PPT 和幻灯片

  • manual_:用户手册

  • qa_:问答格式文档

配置完成后,进入知识库的详情页面。

上传文档与解析

点击"+ 添加文件",RAGFlow 支持多种格式:

  • 文档:PDF、DOC、DOCX、TXT、MD

  • 表格:CSV、XLSX

  • 图片:JPEG、JPG、PNG

  • 幻灯片:PPT、PPTX

上传完成后,点击文件右侧的"播放"按钮开始解析。解析过程会根据文档大小和复杂度耗时不同,首次使用时会下载相关模型,请确保网络连接正常。

解析完成后,可以点击文件查看分段结果。RAGFlow 会展示文档被切分的各个片段,你可以预览每个片段的内容,确认切分是否符合预期。

如果发现切分不够精确,可以双击某个分段,手动添加关键词或修改内容。这个过程叫做"干预解析",是 RAGFlow 的一大特色------它让你能够精细控制知识库的质量。

开始对话

知识库准备就绪后,点击"聊天"选项卡,创建一个新的对话。

在聊天设置中,需要指定要关联的知识库。还可以设置"空回复"行为------选择"不启用"时,如果检索不到相关信息,系统会如实告诉你"我不知道";选择启用后,系统会尝试在没有检索结果时基于自身能力回答。

配置完成后,就可以在对话框中提问了。RAGFlow 会从你的知识库中检索相关片段,结合大语言模型生成回答,并且会标注引用的来源,让你知道答案来自哪份文档的哪个部分。

数据源扩展:连接更多内容

v0.25.0 版本支持从多种在线数据源同步数据:

  • AWS S3

  • Google Drive

  • Notion

  • Confluence

  • Discord

  • Seafile

  • RSS

  • 钉钉

这意味着你不必手动上传所有文档,可以让 RAGFlow 自动从这些平台同步最新内容到知识库中。对于团队协作场景,这个功能非常实用。

常见问题与解决方案

启动时报错"Can't connect to ES cluster":这是因为 vm.max_map_count 没有正确设置,回到前面的配置步骤重新设置即可。

文件解析卡在 1% 不动:如果使用的是精简版镜像,可能需要手动下载嵌入模型。检查日志确认具体原因。

解析在接近完成时卡住:检查 Docker 日志,查看是否有内存不足或网络超时的问题。

友情提示:

知识库的质量很大程度上取决于文档的质量和分段策略。在创建知识库前,建议先整理好文档格式,去除无关内容,这样才能获得最佳的问答效果。

相关推荐
w1wi4 小时前
CRA 差距分析完全指南 | 合规落地第一步
网络·人工智能·安全
阿里云大数据AI技术4 小时前
从图片到声音、视频:MaxCompute MaxFrame 多模态算子模块,让海量多模态数据"跑"起来
人工智能
做萤石二次开发的哈哈4 小时前
如何调用接口向指定设备下发语音播放?
人工智能·语音识别
隔壁大炮4 小时前
ERPLAB数据预处理操作
人工智能·预处理·eeg·脑电分析
桜吹雪4 小时前
所有智能体架构(1):反思 (Reflection)
javascript·人工智能
搬砖的小码农_Sky4 小时前
AI Agent:MCP介绍和具体实现方案
人工智能·机器学习·ai·人机交互·agi
财迅通Ai4 小时前
海立股份:公司旗下海立特冷“人体降温系统”入选市级先进技术推荐目录
大数据·人工智能·海立股份
启芯硬件4 小时前
Designcon2026: LPDDR6 如何成为AI数据中心的新王牌?
人工智能·经验分享·硬件工程·硬件设计·电源设计
Nayxxu4 小时前
Gemini、Claude、GPT 多模型网关最小实现方案
人工智能·gpt