Ragflow
RAGFlow is a leading open-source Retrieval-Augmented Generation (RAG) engine that fuses cutting-edge RAG with Agent capabilities to create a superior context layer for LLMs
Last verified:
What is Ragflow?
RAGFlow is an open-source RAG (Retrieval-Augmented Generation) engine based on deep document understanding. When integrated with LLMs, it provides truthful question-answering capabilities backed by well-founded citations from various complex formatted data. The platform combines RAG with Agent capabilities to create powerful AI workflows for business applications.
Key features include fine-grained document parsing with support for images and tables, 12+ built-in chunking templates for different file layouts (General, Q&A, Resume, Manual, Table, Paper, Book, Laws, Presentation, Picture, One, Tag), and a no-code workflow editor for building agents. RAGFlow supports hybrid search combining vector search, BM25, and custom scoring with advanced re-ranking for superior retrieval accuracy. The platform offers ingestion pipelines for customized data cleansing workflows, traceable answers with reduced hallucinations, and multiple recall of both full-text search and vector search.
RAGFlow is designed for developers, AI engineers, enterprises, and small teams building AI chat assistants and agents. It supports multiple file formats including PDF, DOCX, XLSX, PPT, CSV, JSON, HTML, MD, and various image formats. The platform is suitable for stock analysis, legal precedent analysis, maintenance guidance, and other complex business scenarios requiring accurate retrieval from structured and unstructured data.
The platform supports both cloud deployment (cloud.ragflow.io) and self-hosted open-source deployment via Docker. It integrates with various LLM providers including Ollama for local inference, supports HTTP API and Python SDK for third-party integration, and offers team collaboration features with permission controls in the Enterprise edition.
Ragflow pricing
Pricing model: Freemium
Free tier: 5 Apps, 1 team member, 0.1 GB dataset storage, 500 credits/month at $0/month. Starter plan: 50 Apps, 5 team members, 5 GB dataset storage, 5,000 credits/month at $29/month (discounted from $59/month). Pro plan (most popular): Unlimited Apps, 20 team members, 50 GB dataset storage, 20,000 credits/month at $129/month (discounted from $259/month). Enterprise plan: BYOC deployment, on-premises deployment, dedicated support, custom SLA with custom pricing. Open-source self-hosted version available via Docker with no monthly fees but requires your own infrastructure.
Ragflow pros
- Open-source with self-hosted deployment option via Docker
- Deep document understanding with layout analysis and OCR
- 12 built-in chunking templates for different file types
- Fine-grained document parsing with image and table support
- Traceable answers with well-founded citations reducing hallucinations
- No-code workflow editor for building agents visually
- Hybrid search combining vector search, BM25, and custom scoring
- Advanced re-ranking for improved answer accuracy
- Ingestion pipelines for customized data cleansing workflows
- Support for multiple file formats: PDF, DOCX, XLSX, PPT, CSV, JSON, HTML, images
- Agent templates for common business scenarios like Deep Research
- Integration with Ollama for local LLM inference
- HTTP API and Python SDK for third-party application integration
- Interfere with file parsing results manually for fine-tuning
- Stream output enabled by default in chat assistant and agent
- Multiple recall of full-text search and vector search
- Support for multi-turn dialogues with context optimization
- Built-in file system allowing linking files to multiple datasets
- Keyword weighting to improve chunk ranking in search results
- Retrieval testing feature to verify configurations before deployment
Ragflow cons
- Requires more computational resources than other projects due to built-in models
- Document parsing takes longer than LangChain due to layout analysis and OCR
- Search feature is rudimentary supporting only dataset search by name
- Cannot change embedding model once dataset has chunks
- No support for sharing dialogue through URL
- Cannot disable stream output via UI (only via API)
- PDF parsing can stall due to insufficient RAM
- Requires Java installed for Tika server functionality
- Depends on Huggingface for OCR models which may cause access issues
- Elasticsearch required as document engine with vm.max_map_count >= 262144
Frequently asked questions about Ragflow
What sets RAGFlow apart from other RAG products?
RAGFlow introduces two unique features: fine-grained document parsing that involves images and tables with flexibility for manual intervention, and traceable answers with reduced hallucinations where you can view the citations and references supporting responses. This addresses the 'garbage in garbage out' status quo in NLP.
Why does it take longer for RAGFlow to parse a document than LangChain?
RAGFlow puts painstaking effort into document pre-processing tasks like layout analysis, table structure recognition, and OCR using vision models, which contributes to the additional time required compared to other solutions.
Which embedding models can be deployed locally?
Starting from v0.22.0, RAGFlow ships only the slim edition and no longer appends the -slim suffix to the image tag. Multiple embedding models can be deployed locally, with some optimized for specific languages.
Do you support multiple rounds of dialogues?
Yes, RAGFlow supports enhancing user queries based on existing context of an ongoing conversation. Enable this by going to Chat page, editing the assistant, clicking the Prompt engine tab, and switching on Multi-turn optimization.
What is the difference between AI search and chat?
AI search is single-turn using predefined retrieval strategy (hybrid search of weighted keyword and vector similarity) with default chat model, showing retrieved chunks below responses. AI chat is multi-turn where you define retrieval strategy, choose chat model, and configure advanced RAG strategies like knowledge graphs, auto-keyword, and auto-question, without displaying retrieved chunks.
How do I integrate RAGFlow with Ollama for local LLM inference?
Set OLLAMA_HOST=0.0.0.0 and run ollama serve, then pull a model like llama3. In RAGFlow, go to Settings > Model providers > Ollama, set Base URL to http://host.docker.internal:11434 (Docker) or http://localhost:11434 (bare-metal), enter the model name, and save. Then select the Ollama model under Chat model in your assistant configuration.
Why does RAGFlow require more resources than other projects?
RAGFlow has a number of built-in models for document structure parsing, which account for the additional computational resources required compared to other RAG projects.
How to change the file size limit?
For locally deployed RAGFlow, the default limit is 1GB per upload with 32 files batch limit. To update, uncomment MAX_CONTENT_LENGTH=1073741824 in docker/.env, adjust the value, and update client_max_body_size in nginx/nginx.conf accordingly. Using HTTP API or Python SDK removes the 32-file batch limit automatically.
Do you offer an API for integration with third-party applications?
Yes, RAGFlow HTTP API Reference and RAGFlow Python API Reference are available. You can get an API key through the Acquire a RAGFlow API key guide for integration with third-party applications.
How to switch the document engine to Infinity?
Stop all containers with docker compose -f docker/docker-compose.yml down -v, set DOC_ENGINE=infinity in docker/.env, then restart with docker compose -f docker-compose.yml up -d. Note that -v will delete all Docker container volumes and clear existing data.