💡 RAGFlow 是什么?
RAGFlow是一款基于深度文档理解构建的开源RAG(Retrieval-Augmented Generation)引擎。RAGFlow个人可以为各种规模的企业及提供一套专业的RAG工作流程,结合针对用户群体的大语言模型(LLM)不同的复杂格式数据提供可靠的问答以及有理有据的引用。
开源地址
https://github.com/infiniflow/ragflow/https://ragflow.io/
🌟主要功能
- 基于深度文档理解,能够从各种复杂格式的非重构数据中提取真知灼见。
- 真正在无限上下文(代币)的场景接下来完成快速大海捞针测试。
最大程度降低幻觉(幻觉)
- 文本切片过程可视化,支持手动调整。
- 有理有据:答案提供了快照的关键引用并支持追根溯源。
🍔兼容多种数据源
- 支持丰富的文件类型,包括Word文档、PPT、excel表格、txt文件、图片、PDF、影印件、格式、格式化数据、网页等。
🛀全程无忧、自动化的RAG工作流程
- 全面优化的RAG工作流程可以支持从个人应用其实超大型企业的群体生态系统。
- 大语言模型LLM以及提供模型均支持配置。
- 基于多路召回、融合重排序。
- 提供易用的API,可以轻松集成到各类企业系统。
🔎系统架构
🎬快速开始
📝 前提条件
- CPU >= 4 核
- 内存 >= 12 GB
- Docker >= 24.0.0 & Docker Compose >= v2.26.1
- 如果您并没有在本机安装 Docker(Windows、Mac,或者 Linux),可以参考文档安装 Docker Engine自行安装。
🚀启动服务器
确认vm.max_map_count的大小:$ sysctl vm.max_map_count如果vm.max_map_count的值小于262144,可以进行重置:# 这里我们设为 262144:
$ sudo sysctl -w vm.max_map_count=262144你的初始化会在下次系统重启时被重置。如果希望做永久保存,还需要在/etc/sysctl.conf文件里把vm.max_map_count的值再相应更新一遍:vm.max_map_count=262144克隆仓库:$ git clone https://github.com/infiniflow/ragflow.git进入docker文件夹,利用提前编译好的Docker镜像启动服务器:$ cd ragflow/docker
$ chmod +x ./entrypoint.sh
$ docker compose -f docker-compose-CN.yml up -d核心镜像文件大约15GB,可能需要一定时间提取。请等待。服务器启动成功后再次确认服务器状态:$ docker logs -f ragflow-server出现以下界面提示说明服务器启动成功: ____ ______ __
/ __ \ ____ _ ____ _ / ____// /____ _ __
/ /_/ // __ `// __ `// /_ / // __ \| | /| / /
/ _, _// /_/ // /_/ // __/ / // /_/ /| |/ |/ /
/_/ |_| \__,_/ \__, //_/ /_/ \____/ |__/|__/
/____/
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:9380
* Running on http://x.x.x.x:9380
INFO:werkzeug:Press CTRL+C to quit在你的浏览器中输入你的服务器的IP地址并登录RAGFlow。
- 上面这个例子中,您只需输入 http://IP_OF_YOUR_MACHINE 即可:未配置过配置则消耗输入端口(默认的 HTTP 服务端口 80)。
- 在service_conf.yaml文件的user_default_llm栏配置LLM工厂,并在API_KEY栏填写和你选择的大模型相对应的API密钥。
- 好戏开始,接着奏乐接着舞!
🛠️ 源码编译、安装 Docker 镜像
$ git clone https://github.com/infiniflow/ragflow.git
$ cd ragflow/
$ docker build -t infiniflow/ragflow:v0.3.0 .
$ cd ragflow/docker
$ chmod +x ./entrypoint.sh
$ docker compose up -d