RAGFlow Context Engine

Turn complex data into retrievable, cited LLM context and agent workflows.

Stars
★ 94k
Last updated
1d ago
License
Apache-2.0
Primary language
Go

At a glance

How it runs
Self-hosted serviceWeb app
Works with
Universal · cross-platformOpenAI API (Partial support)
Cost
Free tier plus a paid hosted plan
Setup effort
Medium · a few setup steps
You'll need
Docker >= 24.0.0Docker Compose >= v2.26.1Python >= 3.13Shell / CLINetwork accessLocal filesystemMCP Server
Typical use
A knowledge-management team needs a cited question-answering system over internal documents in mixed formats.
Not a fit if
  • ARM64 users who won't build their own Docker image
  • Teams wanting fully offline use with no LLM API key
  • Operators unwilling to run Docker, Elasticsearch, MinIO, Redis and MySQL

What does this agent do, and when should you use it?

RAGFlow is an open-source RAG engine that combines retrieval-augmented generation with agent capabilities to form an LLM context layer. It uses DeepDoc-based knowledge extraction for unstructured material and offers template-driven, explainable chunking. The system accepts Word, Slides, Excel, TXT, images, scans, structured data, web pages, and more, then supports retrieval with fused reranking and traceable citations. It can be used through a web interface or self-hosted with Docker Compose; Elasticsearch is the default store for full text and vectors, with an Infinity option. Source development runs a Python backend and web frontend alongside MinIO, Elasticsearch, Redis, and MySQL services.

RAGFlow ingests knowledge from Word, Slides, Excel, TXT, images, scanned copies, structured data, web pages, and other documented sources. DeepDoc performs knowledge extraction from complex unstructured documents. The system chunks content with selectable templates and visualizes chunking so people can intervene. Its retrieval flow uses multiple recall methods and fused reranking to produce answers with key references and traceable citations. The Agent area includes pre-built templates; the README also records an orchestrable ingestion pipeline, MCP support, memory, and a Python/JavaScript code executor component. In self-hosted deployments, docker-compose.yml starts the service, Elasticsearch stores full text and vectors by default, and DOC_ENGINE=infinity selects Infinity instead.

  1. A knowledge-management team needs a cited question-answering system over internal documents in mixed formats.
  2. An engineering team wants to self-host a RAG service in Docker while choosing its LLM and embedding-model configuration.
  3. A support or research operation needs reviewers to inspect chunking and the references behind generated answers.
  4. A document-heavy organization needs knowledge extraction from scans, images, and complicated unstructured layouts through DeepDoc.
  5. An agent-workflow developer wants to work over RAG datasets with documented MCP, memory, or code-executor capabilities.

How do you install or deploy this agent?

Self-hosting requires at least a 4-core CPU, 16 GB RAM, 50 GB disk, Docker >= 24.0.0, Docker Compose >= v2.26.1, and gVisor if the code-executor sandbox is needed. Ensure vm.max_map_count >= 262144, then run: git clone https://github.com/infiniflow/ragflow.git && cd ragflow/docker && git checkout v0.26.4 && docker compose -f docker-compose.yml up -d. When docker logs -f docker-ragflow-cpu-1 shows the service listening on 0.0.0.0, open http://IP_OF_YOUR_MACHINE. In docker/service_conf.yaml.template, select a user_default_llm factory and set its corresponding API_KEY.

How do you use this agent?

After the service has initialized, sign in at http://IP_OF_YOUR_MACHINE. Import source material into a knowledge base, choose an appropriate chunking template, and use the chunking visualization for human review or intervention. Configure the API_KEY for the chosen LLM factory, then use the RAGFlow interface to retrieve answers with references. To use Infinity instead of the default Elasticsearch document engine, stop containers, set DOC_ENGINE=infinity in docker/.env, then start with docker compose -f docker/docker-compose.yml up -d.

What are this agent's strengths and limitations?

Pros
  • DeepDoc-based extraction targets complicated formats and unstructured documents rather than plain text alone.
  • Chunking visualization, key references, and traceable citations provide a reviewable grounding path for answers.
  • Multiple recall methods and fused reranking are combined with configurable LLM and embedding models.
  • Docker Compose self-hosting is documented, with a documented switch from Elasticsearch to Infinity.
Limitations
  • The documented minimum self-hosting footprint is 4 CPU cores, 16 GB RAM, and 50 GB disk.
  • Pre-built Docker images are x86-only; ARM64 users must build their own image, and Infinity on Linux/arm64 is not officially supported.
  • Operators must manage Docker, vm.max_map_count, LLM API keys, and dependent Elasticsearch, MinIO, Redis, and MySQL services.
  • The code-executor sandbox requires gVisor, and the README does not document an alternative for that feature.

How does this agent compare with similar options?

Elasticsearch is the default engine for full text and vectors; setting DOC_ENGINE to infinity switches the document engine to Infinity. The documented switch uses docker compose down -v, which deletes container volumes and existing data.

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
RAGFlow Context Engine This agent 49 · Major gaps Self-hosted serviceFreemium ★ 94k 1d ago Go —
ktx — Context layer for data agents 64 · Some gaps CLIFree + model costs ★ 1.6k 4mo ago TypeScript Codex · Claude Code
DecisionBox 44 · Major gaps Self-hosted serviceFree + model costs ★ 122 1d ago Go OpenAI API · Claude API
WrenAI GenBI 53 · Major gaps CLIFreemium ★ 18k 4d ago Python Codex · Claude Code

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
49/ 100 5-point scale 2.5 / 5
This review covers the source as of Aug 09, 2026. The project has shipped 7 stable release(s) since, which have not been re-reviewed. The score and verdict describe the reviewed version only. Recent releases ↓
Trust 10/29
Reliability 8/14
Adaptability 9/18
Convention 12/18
Effectiveness 7/13
Verifiability 3/8
Why each dimension lost points
Trust10 / 29 · 1.7/5

Evidence shows: The project provides SECURITY.md, but it discloses an unfixed pickle deserialization vulnerability (restricted_loads), which directly violates least privilege because the function allows importing numpy module and executing arbitrary commands. For user confirmation, there is no evidence that user confirmation is required before sensitive operations. For data flow transparency, README describes data ingestion and RAG workflow, but does not clearly explain how data is processed or transmitted. For sensitive data handling, configuration files contain API keys and passwords, but no secure storage mechanism is described. For dependency security, pyproject.toml lists many dependencies and includes CVE-fixing constraints, but the disclosed vulnerability indicates insufficient dependency security. For external effects, the project supports integration with external services (e.g., LLM, cloud storage), but permission controls for these interactions are not described. For rollback, README mentions switching document engines, but no explicit rollback mechanism is provided. For source attribution, the project has clear authors and license, but the publisher is unverified.

Reliability8 / 14 · 2.9/5

Evidence shows: The project has detailed README and configuration docs, self-consistency is good. For dependency availability, pyproject.toml lists many dependencies but no lock file, which may affect reproducibility. For failure messages, README provides some troubleshooting tips but not comprehensive.

Adaptability9 / 18 · 2.5/5

Evidence shows: The project targets enterprises and developers, offers multiple deployment methods (Docker, source), audience and scenarios are clear. For capability boundaries, README lists features but no explicit limitations. For trigger precision, no clear trigger conditions are provided. For environment fit, supports multiple OS and architectures, but ARM64 support is limited.

Convention12 / 18 · 3.3/5

Evidence shows: Information architecture is clear, README has TOC. Install notes are detailed. Naming stability is clear with version numbers. Examples and FAQ are provided in README, but FAQ links to external docs. Known limitations are partially listed (ARM64 not supported). License is Apache-2.0, complete. Versioning changelog is present in README but not detailed. Maintenance responsibility is clear with active community and contribution guidelines.

Effectiveness7 / 13 · 2.7/5

Evidence shows: Output usability is good with API and web interface. Marginal value is high with RAG and Agent features. Cost benefit is not analyzed; requires significant resources.

Verifiability3 / 8 · 1.9/5

Evidence shows: Claim traceability is weak; feature claims lack implementation details. Cross-source corroboration is absent. Fact-inference separation is not clear; README claims are assertive.

Risks and how to mitigate them
  • Not found in source: confirmation before actingTurn on (or add) a confirmation step before it acts, and try it in a sandbox or test environment before real data.
  • SECURITY.md discloses an unfixed pickle deserialization vulnerability that could lead to remote code execution; avoid using in production or fix promptly.
  • Publisher identity is unverified; assess supply chain risks carefully.
  • Many dependencies without a lock file may lead to non-reproducible builds.
Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision 99110c2df0d4 New commits since this review; the score may not cover them
See the full review method →

Recent releases

Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.

  1. v1.0.0-rc3
    Release notes excerpt
    1.0.0-rc3 is the third and final release candidate before the official v1.0.0 release. It fixes several issues found in rc2 and introduces new features and enhancements. Key updates: 1. Introduced the decision model for evidence sufficiency judgment within the agentic tool loop, and the Categorize component for agents. 2. Added support for multiple versions of ingestion pipeline DSL. 3. Chat history now stores and displays prompts, token usage, and execution time. 4. Compatible with existing v1.0.0-rc2 schema, allowing a direct upgrade. What's Changed …
    View on GitHub ↗
  2. v0.27.3
    Release notes excerpt
    What's Changed * Port agentic RAG to GO by @qinling0210 in https://github.com/infiniflow/ragflow/pull/19500 * Revert "fix(ingestion): allow re-parsing a document whose parse was canceled at progress 0" by @wangq8 in https://github.com/infiniflow/ragflow/pull/19503 * fix(agent/tool): translate MCP tool inputSchema.properties in Info() by @mkaaad in https://github.com/infiniflow/ragflow/pull/19244 * Fix: remove deprecated functions by @Lynn-Inf in https://github.com/infiniflow/ragflow/pull/19449 …
    View on GitHub ↗
  3. v1.0.0-rc2
    Release notes excerpt
    1.0.0-rc2 is the second release candidate for v1.0.0. This release fixes several issues in rc1 and introduces new features and expanded support. Highlights 1. Introduced Agentic mode for chat, replacing the Low, Medium, High, and Ultra thinking levels. 2. Preserved compatibility with existing v1.0.0-rc1 data, allowing direct upgrades. 3. Added support for Team/Me sharing. 4. Added support for model providers DemonRoute and Opper, web search tools Firecrawl and Search1API, and the MinerU 4 model. 5. Added retrieval support for Czech and Slovak. …
    View on GitHub ↗

FAQ

What infrastructure is required to run it?
The README specifies at least 4 CPU cores, 16 GB RAM, 50 GB disk, Docker >= 24.0.0, and Docker Compose >= v2.26.1.
Am I locked to one model provider?
The README describes configurable LLMs and embedding models. You select a user_default_llm factory in service_conf.yaml.template and provide the matching API_KEY.
Can I deploy the supplied image on ARM64?
No. The supplied Docker images are built for x86; ARM64 deployments require building a compatible image.
What is required for code execution?
The code-executor sandbox feature requires gVisor.
Will switching to Infinity preserve my existing data?
The documented migration uses docker compose down -v, and the README warns that this deletes volumes and existing data.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents