mrkeyoor.com_
Sun 01 Nov 19:54 UTC
AI Toolsevaluationupdated 30 Sept 2026

ragflow review

RAGFlow is a self-hosted application for turning documents and other data into searchable knowledge bases, cited answers, and agent workflows. It handles parsing, chunking, retrieval, model connections, and a web interface, which saves teams from assembling those parts as separate services.

+348stars / 7d
Verdict

Our RAGFlow run installed 34 packages in 58 seconds and built in 11 seconds, but the test command exited after 10 seconds because a Zhipu AI key was missing. Use it when document parsing, inspected chunks, citations, and agentic retrieval justify operating a full data service. For a new production deployment, test v1.0.0-rc1 on copied data first and keep it away from untrusted tenants until the permission gaps are resolved.

We ran it

Lab card: what happened when we ran ragflowScreenshot of ragflow (ragflow.io)
Install✓ · 58s34 packages · 37 MB
Build✓ · 11s
Tests✗ · 10sran, no count parsed
Known vulns0(pip-audit)
Repo5167 files~1,228,814 lines of source · 56.7 MB · 3 CI workflows · Dockerfile · tests dir

Answers from our run

Does ragflow build from source?

Dependencies installed in 58 seconds (34 packages), and the build succeeded in 11 seconds. We cloned commit 0a715d1 into a clean Debian container with 3 CPUs and no project-specific setup.

Do ragflow's tests pass?

No. The project's own test command exited unsuccessfully after 10 seconds, and its output did not expose an individual test count.

Does ragflow have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use ragflow?

Small servers: the README recommends 4 CPU cores, 16 GB of RAM, and 50 GB of free disk before local models or optional components.

What are the alternatives to ragflow?

Dify, Haystack, Langflow. Our RAGFlow run installed 34 packages in 58 seconds and built in 11 seconds, but the test command exited after 10 seconds because a Zhipu AI key was missing.

Setup2/5Package setup passed, but the full stack needs sizable infrastructure
Docs5/5The README covers Docker, source builds, readiness, and migration
Community5/5Pushed September 30 with 1,172 issues and 388 PRs open
Maturity3/5Broad product, but v1.0 remains an RC with known permission gaps

Discussed on

  1. hnRAGFlow is an open-source RAG engine based on OCR and document parsing230 points
  2. hnDeepSeek-V2 integrated, RAGFlow v0.5.0 is released7 points
  3. hnRAGFlow 0.9 is released to support GraphRAG end-to-end3 points

Who it’s for

Teams building document search or question answering across PDFs, office files, images, web pages, and structured sources.
Developers who want visible chunking, citations, reranking, and agent workflows in one application.
Self-hosters able to operate Docker, a document engine, storage, queues, and external or local models.
Organizations willing to test the v1.0 Go rewrite against their own documents before moving production data.

Who it’s NOT for

Small servers: the README recommends 4 CPU cores, 16 GB of RAM, and 50 GB of free disk before local models or optional components.
Teams whose CI must pass without provider secrets: our test command exited because ZHIPU_AI_API_KEY was not set.
Operators who require a reversible in-place upgrade: the v1.0.0-rc1 migration from v0.27.2 is documented as irreversible.
Multi-tenant deployments that need mature permission boundaries today: the release says Team/Me permissions are not supported, and open issue 20404 reports two Go API endpoints missing tenant access checks.
Developers seeking a small retrieval library rather than an application with MySQL, object storage, cache, messaging, and a document engine.

Setup reality

Our sandbox installed 34 packages in 58 seconds and used 37 MB on disk. The build passed in 11 seconds. The test command failed with exit 4 after 10 seconds because its configuration called pytest.exit when ZHIPU_AI_API_KEY was absent. Pip-audit found 0 known vulnerabilities.

That package-level run did not start the full service. The README recommends 4 CPU cores, 16 GB RAM, 50 GB of free disk, Docker 24.0.0 or newer, and Compose 2.26.1 or newer. After startup, you still add an LLM, embedding model, and reranker with their addresses and API keys.

The v1.0.0-rc1 Docker path runs MySQL migrations plus the Go API, Admin, Ingestor, and Syncer. Elasticsearch needs vm.max_map_count set to at least 262144, while the source path adds Go 1.27, Clang 20, LLD 20, CMake 4.0 or newer, CGO libraries, model assets, and several dependency services.

RAGFlow bundles parsing, retrieval, and four Go services

RAGFlow parses an uploaded document and carries it through to an answer with citations. It handles office files, images, scanned copies, web pages, and structured data. You can inspect its chunks, choose chunking templates, combine retrieval methods with reranking, and connect language, embedding, and reranker models. That breadth is the reason to try it. It is also why adopting it feels closer to operating a data product than adding a Python package.

The v1.0.0-rc1 line moves the main services into Go. API, Admin, Ingestor, and Syncer now come from one Go service, while DeepDoc runs inside that process for layout work, OCR, and table recognition. Kvrocks stores cache and checkpoints, and NATS JetStream carries queued work. MySQL, object storage, and either Elasticsearch or Infinity still sit around it. RAGFlow removes assembly work from the product team by handing it to the operator as one opinionated stack.

Chunk inspection and cited answers are built in

The interface lets a developer see how a source was split and trace an answer back to its references. That is more useful than a chat box that hides retrieval mistakes. A bad answer can often be followed to a bad chunk, missing source, unsuitable embedding model, or reranking choice. Template-based chunking also gives teams a place to encode the structure of recurring documents instead of treating every upload as plain text.

RAGFlow now goes beyond one retrieval pass. Its agentic modes can break a question into smaller searches, collect more context, and check evidence before answering. Knowledge Compilation can produce artifacts such as wikis, graphs, page indexes, and timelines from a document or dataset. Those features widen the jobs it can handle, but they also increase the number of models and processing rules you must evaluate. A polished artifact is still downstream of parsing and retrieval quality.

What happened when we ran it

Our fresh Debian sandbox installed commit 0a715d1 in 58 seconds. It added 34 packages and occupied 37 MB, then completed the build in 11 seconds. The checkout itself held 5,167 files, about 1,228,814 lines of source, and used 56.7 MB. Pip-audit reported 0 known vulnerabilities. These figures describe the package and build path we ran, not a live RAG workload or the much larger Docker deployment.

The test command failed with exit 4 after 10 seconds, before the suite could proceed. test/testcases/configs.py checked for ZHIPU_AI_API_KEY while pytest loaded its shared configuration, then called pytest.exit because the variable was absent. The log shows that missing environment variable and nothing more. It does not establish whether the tests would pass with a valid key, and we will not turn it into a claim about network access or test quality.

The repository has 3 CI workflow files, a Dockerfile, and a tests directory. That is useful project structure, but it does not change the result on a no-secret machine: the default command we ran could not reach test execution. A team using a different model provider should decide whether Zhipu-backed cases belong in its release gate, then supply the credential securely or select a documented narrower test target.

The 4-core starting point understates the operating checklist

The README recommends 4 CPU cores, 16 GB RAM, and 50 GB of free disk, before local models and optional services add their own needs. Docker must be at least 24.0.0 and Compose at least 2.26.1. Elasticsearch users also set vm.max_map_count to 262144. RAGFlow has no Compose healthcheck of its own, so the documented readiness check is an HTTP request to /api/v1/system/healthz after checking the containers.

Source development is considerably sharper. The current instructions name Go 1.27, Clang 20, LLD 20, CMake 4.0 or newer, PCRE2 headers, native CGO libraries, model resources, and tokenizer assets. Local dependencies include MySQL, MinIO, NATS, Kvrocks, ClickHouse, and a document engine. The services must be migrated and started in order, with Admin before Ingestor, Syncer, and API. Use the prebuilt Compose route unless you need to modify the backend.

The v1.0 release candidate needs a production hold point

Release v1.0.0-rc1 landed on September 29, 2026, one day before this review. Its data upgrade accepts deployments already on v0.27.2 and cannot be rolled back after migration. The release also drops deprecated API aliases, limits DeepDoc to CPU, removes local sandbox support, and says the Team/Me permission model is not yet supported. Copy production data, verify the restore, and rehearse the move before allowing the container entrypoint to migrate anything valuable.

There is another reason for restraint around shared deployments. Open issue 20404 reports that two Go endpoints can read document data without checking dataset access, while issue 20396 reports a provider-instance response returning an unmasked API key. These are issue reports, not findings from our sandbox, but both were open on September 30. Keep the service behind trusted access and review the fixes before treating the release candidate as a multi-tenant boundary.

The September 30 push came with 1,560 open items

GitHub search showed 1,172 open issues plus 388 open pull requests on September 30, 2026. That is a large queue, yet same-day issue updates and the September 29 release show that maintainers are working in it. With 91,555 stars, the project has attention far beyond a small experimental repository. Stars do not reduce the work of validating an irreversible migration or provider-specific tests.

RAGFlow earns a trial when the alternative is building document ingestion, chunk inspection, retrieval, citations, and workflow tools yourself. Start with a representative set of ugly PDFs and spreadsheets, not a clean demo file. If the chunks and references hold up, the stack may save months of product work. If your need is only a retrieval pipeline in code, choose Haystack and avoid inheriting a 50 GB starting recommendation and an RC migration at the same time.

Alternatives

ProjectWhat it isPick it when
Dify gh↗A visual platform for building and operating LLM applications, workflows, and knowledge bases.pick this instead when application orchestration and a polished workflow builder matter more than RAGFlow's document parsing controls.
Haystack gh↗A Python framework for composing retrieval, generation, and agent pipelines in code.pick this instead when you want library-level control and will supply the user interface and operating stack yourself.
Langflow gh↗A visual Python framework for wiring model, retrieval, and agent components into flows.pick this instead when visual experimentation across many component types matters more than deep document ingestion.

What people are saying

  1. [github-trending] infiniflow/ragflow

Sources

  1. RAGFlow repository
  2. RAGFlow README and deployment requirements
  3. RAGFlow v1.0.0-rc1 release notes
  4. Open tenant authorization issue 20404
  5. Open provider API key issue 20396

More ai tools reviews

skills · anarlog · pr-agent · agent-sprite-forge · KiroCrew · Orkas · the whole board →