【AI工具箱】RAGFlow:打造私有的专业知识库

RAGFlow 是什么?

想象一下,你想让 AI 回答公司内部文档、产品手册、技术资料里的问题,但这些资料 ChatGPT 不知道。你需要一个"智能图书管理员",它能:

  • 帮你整理所有文档
  • 记住文档里的每一个细节
  • 当你提问时,快速找到相关内容并给出准确答案

RAGFlow 就是这样一个"智能图书管理员"!

什么是 RAG?

RAG = Retrieval Augmented Generation(检索增强生成),简单来说:

  1. 📚 检索:从你的文档库中找到相关内容
  2. 🤖 生成:把找到的内容交给 AI,生成准确的答案

传统 AI vs RAG

  • ❌ 传统 AI:只能回答它训练时学到的内容,不知道你的私有文档
  • ✅ RAG:能基于你上传的文档回答问题,答案更准确、更专业

RAGFlow 的核心优势

  • 🎨 可视化界面:有完整的后台管理 UI,无需写代码
  • 📁 支持多种文件:PDF、Word、Excel、TXT 等都能上传
  • 🧠 智能解析:深度理解文档内容,而不是简单的文字匹配
  • 🔍 精准检索:内置混合检索、重排序策略,找到最相关的内容
  • 🏢 企业级:可以快速搭建私有的企业知识库

使用场景:

  • 📖 企业内部知识库(员工手册、产品文档、技术规范)
  • 💼 客服机器人(基于FAQ、产品说明书回答客户问题)
  • 🎓 教育培训(上传课程资料,自动回答学员问题)
  • 🔬 研究助手(整理论文、研究报告,快速查找相关资料)

官方文档

完整的使用教程请参考:https://ragflow.io/docs/dev/


本地部署教程

为什么要本地部署?

  • 💰 完全免费:无需购买云服务
  • 🔒 数据安全:所有文档保存在本地,不泄露
  • 无限制:想传多少文档就传多少

前提条件: 确保你已经安装了 Docker(查看安装教程

第一步:下载代码

# 克隆 RAGFlow 仓库
git clone https://github.com/infiniflow/ragflow.git

# 进入项目目录
cd ragflow/docker

第二步:修改配置(可选但推荐)

1. 修改默认端口

作用: 如果默认端口被占用,可以改成其他端口。

文件位置: docker-compose.yml

2. 修改 Redis 端口(如果同时运行 Dify)

作用: 避免与 Dify 的 Redis 端口冲突。

文件位置: docker-compose.yml

3. 调整内存限制(默认 8GB)

作用: 根据你的电脑配置调整内存使用。

说明:

  • 配置较低的电脑:可以降低到 4GB
  • 配置较高的电脑:可以保持 8GB 或更高

文件位置: docker/.env

4. 配置线程数(优化性能)

作用: 根据 CPU 核心数调整,提高处理速度。

建议:

  • 4 核 CPU:设置为 2-4
  • 8 核 CPU:设置为 4-8
  • 16 核以上:设置为 8-16

文件位置: docker/entrypoint.sh

第三步:启动 RAGFlow

启动命令:

# 确保在 ragflow/docker 目录下
docker compose -p ragflow up -d

说明:

  • -p ragflow:项目名称
  • -d:后台运行

访问地址: 启动成功后,在浏览器打开 http://localhosthttp://localhost:你的端口号

首次访问:

  • 默认账号:admin
  • 默认密码:admin
  • 登录后请及时修改密码

常用管理命令

查看运行状态
docker compose -p ragflow ps

作用: 查看所有容器是否正常运行。

重启服务
docker compose -p ragflow restart

使用场景: 修改配置后需要重启生效。

停止服务
docker compose -p ragflow down

注意: 这个命令会停止并删除容器,但数据会保留。


配置反向代理(进阶,使用域名访问)

什么是反向代理?
让 RAGFlow 可以通过域名(如 rag.yourdomain.com)访问,而不是 IP 地址。

适用场景: 如果你有自己的域名,想让 RAGFlow 更专业、更好记。

Nginx 配置示例:

# 禁用用户注册(可选,防止陌生人注册)
location /v1/user/register {
    deny all;
    return 403;
}

# 反向代理配置
location ^~ / {
    proxy_pass http://127.0.0.1:8012;
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Real-Port $remote_port;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Port $server_port;
    proxy_set_header REMOTE-HOST $remote_addr;

    proxy_connect_timeout 60s;
    proxy_send_timeout 600s;
    proxy_read_timeout 600s;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
}

注意:8012 改成你实际使用的端口。


数据备份与迁移

重要提示: RAGFlow 的所有数据(知识库、文档、配置等)都保存在 Docker volumes 中。

备份方法:

查看 Docker volumes 位置:

备份命令:

# 停止服务
docker compose -p ragflow down

# 备份数据卷
docker run --rm -v ragflow_es_data:/data -v $(pwd):/backup alpine tar czf /backup/ragflow-backup.tar.gz -C /data .

# 重启服务
docker compose -p ragflow up -d

恢复数据:

# 停止服务
docker compose -p ragflow down

# 恢复数据卷
docker run --rm -v ragflow_es_data:/data -v $(pwd):/backup alpine sh -c "cd /data && tar xzf /backup/ragflow-backup.tar.gz"

# 重启服务
docker compose -p ragflow up -d

开启 MCP 集成(v0.18.0+)

什么是 MCP?

MCP (Model Context Protocol) 让 AI 工具(如 Claude Desktop、Windsurf)可以直接调用 RAGFlow 的知识库。

使用场景:

  • 在 Claude Desktop 中直接查询你的知识库
  • 在 AI 编程助手中获取企业文档
  • 让 AI 基于你的私有知识回答问题

第一步:获取 API 密钥

  1. 登录 RAGFlow 后台
  2. 进入设置页面
  3. 找到并复制 API Key

第二步:配置 Docker Compose

详细教程: https://ragflow.io/docs/dev/launch_mcp_server#launch-from-docker

操作步骤:

  1. 打开文件:docker/docker-compose.yml
  2. 找到 MCP 相关配置(被注释的部分)
  3. 取消注释并填写你的 API 密钥

配置示例:

# example to setup MCP server
command:
  - --enable-mcpserver
  - --mcp-host=0.0.0.0
  - --mcp-port=9382
  - --mcp-base-url=http://127.0.0.1:39004
  - --mcp-script-path=/ragflow/mcp/server/server.py
  - --mcp-mode=self-host
  - --mcp-host-api-key=ragflow-你的API密钥  # 替换成你的API密钥
container_name: ragflow-server
ports:
  - ${SVR_HTTP_PORT}:9380
  - 8012:80
  - 4432:443
  - 5678:5678
  - 5679:5679
  - 39004:9382  # MCP 端口映射(宿主机端口:容器端口)

配置说明:

  • --mcp-host-api-key:填写你的 API 密钥
  • 39004:9382:端口映射,左边是外部访问端口,右边是容器内端口
  • 修改配置后需要重启:docker compose -p ragflow restart

总结

通过这篇教程,你应该已经掌握了:

  1. RAG 和 RAGFlow 的概念:检索增强生成,打造私有知识库
  2. 本地部署方法:使用 Docker 快速部署
  3. 性能优化配置:内存限制、线程数、端口设置
  4. 数据管理:备份和恢复数据的完整方法
  5. MCP 集成:让 AI 工具直接访问你的知识库

下一步建议:

  • 登录后台,创建你的第一个知识库
  • 上传一些文档,测试智能问答效果
  • 查看 官方文档 学习高级功能
  • 尝试与 AI 工具(Claude、Windsurf)集成

使用提示:

  • 📁 文档格式:支持 PDF、Word、Excel、Markdown、TXT 等
  • 🔍 搜索技巧:提问越具体,答案越准确
  • 💡 文档质量:上传的文档内容越清晰,AI 回答越好
  • 🔄 定期更新:及时上传新文档,保持知识库最新

祝你使用愉快!🎉

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐