正在打开工具详情…
正在打开工具详情…
开源 RAG 引擎,强在复杂格式文档的解析与可追溯引用,答案能追到具体分块。适合要给企业文档做问答的人;代价是 Docker 起步就要 4 核 16G,且镜像暂不支持 macOS。
要给企业或团队的文档(合同、手册、财报、工单)做可引用问答的人,尤其是格式复杂、扫描件多、需要人工核对分块的场景。
只想给几十个 Markdown 文件做个简单问答的人——这一整套服务与资源开销不划算;以及 macOS 用户,Docker 镜像目前没有官方支持。
RAGFlow 是 infiniflow 的开源 RAG 引擎,和「向量库 + 自己拼一套检索链」的差别在文档解析这一层:它用 DeepDoc 做深度文档理解,直接从 Word、PPT、Excel、PDF、扫描件、网页里抽结构化内容,分块有可选模板、结果能在界面上可视化并人工干预,答案附可追溯引用。1.0 之后又加了「知识编译」——把文档或数据集编译成 Wiki、Graph、树、PageIndex、思维导图、时间线等结构化产物,以及带 Low / Medium / High / Ultra 四档思考强度的 Agentic Retrieval。
代价要算清楚:它是重型服务而不是一个库。Docker 部署的推荐起步配置是 4 核、16 GB 内存、50 GB 可用磁盘,还要 Docker ≥ 24.0.0 与 Compose ≥ v2.26.1;开源版 1.0 的 DeepDoc 走 CPU 推理(布局分析、OCR、表格识别),大批量解析会很慢。另外 README 自己写明 Docker 镜像目前不支持 macOS。
第一次启动最容易卡在三处:用 Elasticsearch 时宿主机的 vm.max_map_count 要 ≥ 262144(用 Infinity 通常不必);RAGFlow 容器本身没有定义 Compose healthcheck,得自己 curl 健康检查端点或看 docker logs;起来之后必须先到模型供应商页填 LLM、embedding 和 rerank 的模型名、服务地址与 API key,否则建了知识库也问不出东西。
上手步骤之外的具体做法:常见场景怎么配、命令怎么写、报错怎么处理。
按第一次部署会卡在哪讲:资源与版本前提、Elasticsearch 那个内核参数、容器没有 healthcheck 时怎么判断就绪、以及起来之后必须补的模型配置。
README 给的推荐起步配置是 4 核 CPU、16 GB 内存、50 GB 可用磁盘,实际需求随文档引擎、数据量、解析任务和并发上升,再加本地模型还要另算。软件版本也有硬要求:
bashgit clone https://github.com/infiniflow/ragflow.git
cd ragflow/docker
git checkout v1.0.0-rc1
docker compose -f docker-compose.yml up -d用 Elasticsearch 作为文档引擎时,宿主机要先调内核参数,否则容器起不来:
bashsysctl vm.max_map_count # 先看当前值
sudo sysctl -w vm.max_map_count=262144 # 低于 262144 才需要这个改动重启即失效,要长期生效就把 vm.max_map_count=262144 写进 /etc/sysctl.conf。用 Infinity 的话这一步通常不需要。
坑在这里:RAGFlow 容器本身没有定义 Compose healthcheck。依赖服务全部 healthy、RAGFlow 容器还在 running,不代表能用了:
bashcurl -f http://localhost/api/v1/system/healthz拿到 HTTP 200 再打开浏览器。改过 SVR_WEB_HTTP_PORT 就把端口一起换掉。起不来就看日志:
bashdocker logs --tail 50 ragflow-cpu登录 UI 之后必须先到模型供应商页添加 LLM、embedding 和 rerank,填模型名、服务地址和 API key。这一步不做,知识库建好了也没法问答——这是新手以为「装坏了」的第一大原因。
README 的 Docker 配置页明确标注 macOS 目前不在支持列表。别在这上面耗时间,用 Linux 服务器或虚拟机。
从源码跑是为了开发和调试,而不是为了用:需要 go.mod 里指定的 Go 版本(当前 Go 1.27)、Clang 20、LLD 20、CMake ≥ 4.0 与 PCRE2 开发文件,还要先跑 uv run tools/scripts/download_dev_deps.py 拉 pdfium、onnxruntime 与 DeepDoc 权重,再用 ./build.sh --all,最后分四个终端启动 admin、ingestor、syncer、api 四个服务。