简介

RAGFlow​ 是一个领先的开源检索增强生成(RAG)引擎,将尖端的RAG技术与Agent能力相结合,为大型语言模型(LLMs)创建卓越的上下文层。它提供了一个可适应任何规模企业的简化RAG工作流,通过融合上下文引擎和预构建的Agent模板,使开发者能够将复杂数据转化为高保真、生产就绪的AI系统。

🔗 ​GitHub地址​:

https://github.com/infiniflow/ragflow

🚀 ​核心价值​:

RAG引擎 · Agent能力 · 企业级 · 开源 · 多模态

项目背景​:

  • RAG需求​:检索增强生成技术需求增长

  • 企业应用​:企业级AI应用需求

  • 多模态​:多模态数据处理需求

  • 开源生态​:开源AI工具生态

  • 生产就绪​:生产环境部署需求

项目特色​:

  • 🤖 ​RAG+Agent​:RAG与Agent融合

  • 🏢 ​企业级​:企业级解决方案

  • 🌐 ​多模态​:多模态数据支持

  • 🔧 ​生产就绪​:生产环境就绪

  • 🔓 ​开源​:完全开源免费

技术亮点​:

  • 深度文档理解​:深度文档内容理解

  • 智能分块​:智能文档分块技术

  • 多源检索​:多源信息检索

  • Agent模板​:预构建Agent模板

  • 可视化​:可视化结果展示


主要功能

1. ​核心功能体系

RAGFlow提供了一套完整的RAG解决方案,涵盖文档处理、检索增强、生成优化、Agent集成、多模态支持、工作流管理、系统部署、性能优化等多个方面。

文档处理功能​:

文档解析:
- 多格式支持: Word, PDF, Excel, PPT, 图片, 网页等
- 深度理解: 深度文档内容理解
- 结构提取: 文档结构提取
- 元数据: 元数据自动提取
- 质量保证: 解析质量保证

智能分块:
- 模板分块: 基于模板的分块策略
- 语义分块: 语义感知分块
- 可解释性: 分块过程可解释
- 人工干预: 支持人工干预调整
- 优化策略: 分块优化策略

内容提取:
- 文本提取: 高质量文本提取
- 图像理解: 图像内容理解
- 表格处理: 表格数据提取
- 公式识别: 数学公式识别
- 多语言: 多语言内容支持

检索增强功能​:

向量检索:
- 向量化: 高质量向量化
- 相似度: 多相似度度量
- 混合检索: 混合检索策略
- 多模态: 多模态检索
- 性能优化: 检索性能优化

上下文构建:
- 上下文融合: 多源上下文融合
- 相关性排序: 相关性重排序
- 噪声过滤: 噪声信息过滤
- 质量评估: 上下文质量评估
- 可追溯: 结果可追溯

检索优化:
- 召回优化: 高召回率保证
- 精度提升: 检索精度提升
- 速度优化: 检索速度优化
- 扩展性: 大规模扩展性
- 自适应: 自适应检索策略

2. ​高级功能

生成优化功能​:

LLM集成:
- 多模型支持: 支持多种LLM
- 模型管理: 模型生命周期管理
- 性能优化: 推理性能优化
- 成本控制: 使用成本控制
- 质量保证: 生成质量保证

回答生成:
- 上下文感知: 上下文感知生成
- 事实基础: 基于事实生成
- 幻觉减少: 减少幻觉生成
- 格式保持: 保持回答格式
- 质量评估: 生成质量评估

优化策略:
- 提示优化: 智能提示优化
- 参数调优: 生成参数调优
- 迭代优化: 迭代优化过程
- 反馈学习: 基于反馈学习
- 持续改进: 持续改进机制

Agent能力功能​:

Agent模板:
- 预构建模板: 预构建Agent模板
- 自定义Agent: 自定义Agent开发
- 任务分解: 复杂任务分解
- 工具使用: 外部工具使用
- 协作能力: 多Agent协作

工作流管理:
- 可视化工作流: 可视化工作流设计
- 任务编排: 任务自动编排
- 状态管理: 工作流状态管理
- 错误处理: 错误处理机制
- 监控告警: 工作流监控告警

智能决策:
- 决策逻辑: 智能决策逻辑
- 路由策略: 请求路由策略
- 资源分配: 资源智能分配
- 优化调度: 任务优化调度
- 自适应: 自适应决策能力

企业级功能​:

系统管理:
- 用户管理: 多用户管理
- 权限控制: 细粒度权限控制
- 审计日志: 完整审计日志
- 安全防护: 安全防护机制
- 合规性: 企业合规性支持

监控运维:
- 性能监控: 系统性能监控
- 资源监控: 资源使用监控
- 日志分析: 日志分析处理
- 健康检查: 系统健康检查
- 自动恢复: 自动故障恢复

扩展集成:
- API集成: RESTful API集成
- 系统集成: 第三方系统集成
- 数据源: 多数据源支持
- 自定义: 自定义扩展支持
- 生态集成: 开源生态集成

安装与配置

1. ​环境准备

系统要求​:

硬件要求:
- CPU: 4核以上
- 内存: 16GB RAM以上
- 存储: 50GB可用空间
- 网络: 稳定网络连接

软件要求:
- Docker: 24.0.0+
- Docker Compose: v2.26.1+
- 操作系统: Linux, macOS, Windows
- 容器支持: 完整容器支持

可选要求:
- GPU: 加速推理和处理
- gVisor: 代码执行器沙箱
- 外部存储: 外部存储支持

依赖服务​:

必需服务:
- MySQL: 数据存储
- MinIO: 对象存储
- Redis: 缓存服务
- 向量数据库: Elasticsearch或Infinity

可选服务:
- 外部LLM: OpenAI, Anthropic等
- 嵌入模型: 外部嵌入服务
- 监控服务: 监控系统集成
- 日志服务: 集中日志管理

2. ​安装步骤

Docker安装(推荐)​​:

# 克隆项目
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/docker

# 检查系统参数
sysctl vm.max_map_count
# 如需要,设置为262144
sudo sysctl -w vm.max_map_count=262144

# 启动服务(CPU版本)
docker compose -f docker-compose.yml up -d

# 或使用GPU版本
# docker compose -f docker-compose-gpu.yml up -d

# 检查服务状态
docker logs -f ragflow-server

镜像版本选择​:

镜像版本:
- 完整版 (9GB): 包含嵌入模型
- 精简版 (2GB): 依赖外部服务
- 稳定版: 生产环境使用
-  nightly版: 开发测试使用

版本特性:
- v0.20.5: 稳定完整版
- v0.20.5-slim: 稳定精简版
- nightly: 开发完整版
- nightly-slim: 开发精简版

源码开发安装​:

# 安装开发工具
pipx install uv pre-commit

# 克隆源码
git clone https://github.com/infiniflow/ragflow.git
cd ragflow

# 安装Python依赖
uv sync --python 3.10 --all-extras
uv run download_deps.py
pre-commit install

# 启动基础服务
docker compose -f docker/docker-compose-base.yml up -d

# 配置hosts
echo "127.0.0.1 es01 infinity mysql minio redis sandbox-executor-manager" >> /etc/hosts

# 启动后端服务
source .venv/bin/activate
export PYTHONPATH=$(pwd)
bash docker/launch_backend_service.sh

# 启动前端服务
cd web
npm install
npm run dev

3. ​配置说明

基础配置​:

# .env 文件配置
SVR_HTTP_PORT=80
MYSQL_PASSWORD=your_password
MINIO_PASSWORD=your_password
DOC_ENGINE=elasticsearch  # 或infinity

服务配置​:

# service_conf.yaml.template
database:
  url: "mysql://user:pass@mysql:3306/ragflow"
storage:
  endpoint: "minio:9000"
  access_key: "minioadmin"
  secret_key: "minioadmin"
vector_store:
  type: "elasticsearch"  # 或"infinity"
  hosts: ["es01:9200"]

LLM配置​:

llm_providers:
  openai:
    api_key: "your_openai_key"
    base_url: "https://api.openai.com/v1"
  anthropic:
    api_key: "your_anthropic_key"
  local:
    model_path: "/path/to/model"

网络配置​:

network:
  http_port: 80
  https_enabled: false
  cors_origins: ["*"]
  rate_limit: 1000

使用指南

1. ​基本工作流

使用RAGFlow的基本流程包括:系统部署 → 数据准备 → 文档上传 → 知识库构建 → 查询测试 → 工作流配置 → 系统集成 → 监控优化。整个过程设计为完整的企业级工作流。

2. ​基本使用

知识库构建使用​:

1. 文档上传:
   - 支持格式: 上传多种格式文档
   - 批量上传: 支持批量文档上传
   - 自动解析: 自动解析文档内容
   - 质量检查: 上传内容质量检查
   - 元数据: 自动提取元数据

2. 知识处理:
   - 智能分块: 自动智能分块处理
   - 向量化: 文档内容向量化
   - 索引构建: 构建检索索引
   - 质量评估: 处理质量评估
   - 可视化: 处理过程可视化

3. 知识管理:
   - 知识库组织: 组织知识库结构
   - 版本管理: 知识库版本管理
   - 更新维护: 知识库更新维护
   - 权限控制: 知识库访问控制
   - 监控统计: 使用情况统计

查询使用​:

自然语言查询:
- 问题输入: 输入自然语言问题
- 智能检索: 智能检索相关信息
- 上下文构建: 构建回答上下文
- 答案生成: 生成准确答案
- 引用展示: 展示答案引用来源

高级查询:
- 多轮对话: 支持多轮对话
- 复杂查询: 处理复杂查询
- 过滤条件: 添加查询过滤条件
- 排序选项: 结果排序选项
- 分页浏览: 分页浏览结果

查询优化:
- 查询分析: 分析查询意图
- 检索优化: 优化检索策略
- 结果重排: 智能结果重排
- 质量反馈: 查询质量反馈
- 持续改进: 持续优化改进

工作流使用​:

可视化工作流:
- 工作流设计: 可视化工作流设计
- 节点配置: 配置工作流节点
- 连接设置: 设置节点连接关系
- 参数调整: 调整工作流参数
- 测试运行: 测试工作流运行

Agent工作流:
- Agent选择: 选择合适Agent
- 任务分解: 自动任务分解
- 执行监控: 监控执行过程
- 结果聚合: 聚合执行结果
- 错误处理: 处理执行错误

自动化工作流:
- 触发条件: 设置触发条件
- 定时任务: 配置定时任务
- 事件驱动: 事件驱动执行
- 集成触发: 外部系统触发
- 监控告警: 执行监控告警

3. ​高级用法

企业集成使用​:

API集成:
- RESTful API: 提供RESTful API
- SDK支持: 多种语言SDK
- 认证授权: API认证授权
- 速率限制: API速率限制
- 文档完善: 完整API文档

系统集成:
- 数据源集成: 多数据源集成
- 业务系统: 业务系统集成
- 消息队列: 消息队列集成
- 工作流引擎: 工作流引擎集成
- 监控系统: 监控系统集成

定制开发:
- 插件开发: 自定义插件开发
- 界面定制: 用户界面定制
- 功能扩展: 系统功能扩展
- 集成开发: 定制集成开发
- 二次开发: 二次开发支持

多模态应用使用​:

图像理解:
- 图像解析: 解析图像内容
- 图文结合: 图文内容结合
- 视觉问答: 视觉问答应用
- 图像检索: 基于图像检索
- 多模态生成: 多模态内容生成

文档处理:
- 复杂文档: 处理复杂格式文档
- 表格处理: 表格数据理解
- 公式识别: 数学公式识别
- 图表分析: 图表内容分析
- 多语言: 多语言文档支持

多媒体应用:
- 视频处理: 视频内容处理
- 音频处理: 音频内容处理
- 跨模态: 跨模态内容理解
- 生成应用: 多媒体生成应用
- 创新应用: 创新应用场景

生产部署使用​:

高可用部署:
- 集群部署: 支持集群部署
- 负载均衡: 负载均衡配置
- 数据备份: 数据备份策略
- 故障转移: 自动故障转移
- 性能优化: 性能优化配置

安全部署:
- 网络安全: 网络安全配置
- 数据加密: 数据传输加密
- 访问控制: 严格访问控制
- 审计日志: 安全审计日志
- 合规性: 合规性配置

监控运维:
- 性能监控: 系统性能监控
- 资源监控: 资源使用监控
- 日志管理: 集中日志管理
- 告警系统: 智能告警系统
- 自动化运维: 自动化运维

应用场景实例

案例1:企业知识管理系统

场景​:大型企业知识管理

解决方案​:使用RAGFlow构建企业知识库。

实施方法​:

  1. 文档整合​:整合企业各类文档

  2. 知识构建​:构建企业知识图谱

  3. 智能检索​:实现智能知识检索

  4. 问答系统​:构建智能问答系统

  5. 持续更新​:知识库持续更新维护

企业价值​:

  • 知识沉淀​:企业知识沉淀

  • 效率提升​:员工效率提升

  • 决策支持​:支持企业决策

  • 创新促进​:促进企业创新

  • 竞争力​:增强企业竞争力

案例2:智能客服系统

场景​:企业智能客服升级

解决方案​:使用RAGFlow增强客服系统。

实施方法​:

  1. 知识准备​:准备产品知识库

  2. 客服培训​:客服知识培训

  3. 智能回答​:智能客服回答

  4. 人工辅助​:人工客服辅助

  5. 持续优化​:系统持续优化

客服价值​:

  • 响应速度​:快速响应客户

  • 回答质量​:提高回答质量

  • 成本降低​:降低客服成本

  • 满意度​:提升客户满意度

  • 7x24服务​:全天候服务能力

案例3:学术研究助手

场景​:学术研究资料管理

解决方案​:使用RAGFlow辅助学术研究。

实施方法​:

  1. 文献收集​:收集研究文献

  2. 知识组织​:组织研究知识

  3. 智能查询​:智能文献查询

  4. 研究辅助​:研究过程辅助

  5. 成果整理​:研究成果整理

学术价值​:

  • 研究效率​:提高研究效率

  • 知识发现​:促进知识发现

  • 文献管理​:高效文献管理

  • 创新支持​:支持研究创新

  • 学术合作​:促进学术合作

案例4:法律文档分析

场景​:法律文档智能分析

解决方案​:使用RAGFlow分析法律文档。

实施方法​:

  1. 法规收集​:收集法律法规

  2. 案例整理​:整理法律案例

  3. 智能分析​:智能法律分析

  4. 查询系统​:法律查询系统

  5. 辅助决策​:法律决策辅助

法律价值​:

  • 效率提升​:法律工作效率

  • 准确性​:提高分析准确性

  • 风险控制​:更好风险控制

  • 合规性​:确保合规性

  • 专业支持​:专业法律支持

案例5:医疗知识库

场景​:医疗知识管理应用

解决方案​:使用RAGFlow构建医疗知识库。

实施方法​:

  1. 医学文献​:收集医学文献

  2. 临床指南​:整理临床指南

  3. 病例数据​:管理病例数据

  4. 诊断辅助​:诊断决策辅助

  5. 医学教育​:医学教育应用

医疗价值​:

  • 诊断支持​:诊断决策支持

  • 医疗质量​:提升医疗质量

  • 医学教育​:促进医学教育

  • 研究支持​:医学研究支持

  • 患者服务​:改善患者服务


总结

RAGFlow作为一个领先的开源RAG引擎,通过其强大的检索增强能力、Agent集成功能、多模态支持、企业级特性和生产就绪的部署能力,为AI应用开发提供了完整的解决方案。

核心优势​:

  • 🤖 ​RAG+Agent​:RAG与Agent完美融合

  • 🏢 ​企业级​:完整企业级功能

  • 🌐 ​多模态​:多模态数据支持

  • 🔧 ​生产就绪​:生产环境就绪

  • 🔓 ​开源​:完全开源免费

适用场景​:

  • 企业知识管理系统

  • 智能客服系统

  • 学术研究助手

  • 法律文档分析

  • 医疗知识库应用

立即开始使用​:

# Docker快速部署
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/docker
docker compose -f docker-compose.yml up -d

# 访问应用
# http://localhost

资源链接​:

  • 📚 ​项目地址​:GitHub仓库

  • 📖 ​文档​:详细文档

  • 🎮 ​Demo​:在线演示

  • 💬 ​社区​:社区支持

  • 🔄 ​更新​:最新更新

通过RAGFlow,您可以​:

  • 构建AI应用​:快速构建AI应用

  • 知识管理​:高效知识管理

  • 智能问答​:实现智能问答

  • 企业集成​:无缝企业集成

  • 创新开发​:支持创新开发

无论您是开发者、企业用户、研究人员还是技术爱好者,RAGFlow都能为您提供强大、可靠且高效的RAG解决方案!​

特别提示​:

  • 💻 ​环境准备​:确保环境配置

  • 🐳 ​Docker熟悉​:熟悉Docker使用

  • 📊 ​资源充足​:确保资源充足

  • 🔧 ​配置优化​:根据需求配置

  • 📚 ​文档阅读​:阅读使用文档

通过RAGFlow,体验下一代RAG技术!​

未来发展​:

  • 🚀 ​更多功能​:持续添加新功能

  • 🤖 ​更智能​:更智能的Agent

  • 🌍 ​更广泛​:更广泛的应用

  • ⚡ ​更快速​:更快的性能

  • 🔧 ​更易用​:更简单的使用

加入社区​:

参与方式:
- GitHub: 提交问题和PR
- 开发: 参与代码开发
- 测试: 参与功能测试
- 文档: 贡献文档改进
- 推广: 帮助项目推广

社区价值:
- 技术交流学习
- 问题解答支持
- 功能建议讨论
- 使用经验分享
- 合作机会发现

通过RAGFlow,共同推动RAG技术发展!​

许可证​:

开源许可证
免费用于商业用途

致谢​:

特别感谢:
- 开发团队: InfiniFlow团队
- 贡献者: 代码功能贡献
- 社区: 社区支持贡献
- 用户: 用户反馈支持
- 合作伙伴: 项目合作伙伴

通过RAGFlow,开启智能应用新篇章!​

Logo

更多推荐