ApeRAG
ApeRAG is a production-ready RAG (Retrieval-Augmented Generation) platform that combines Graph RAG, vector search, and full-text search. Build sophisticated AI applications with hybrid retrieval, multimodal document processing, and enterprise-grade management features.
ApeRAG is the best choice for building your own Knowledge Graph and for Context Engineering.
阅读中文文档
- Quick Start
- Key Features
- Kubernetes Deployment (Recommended for Production)
- Development
- Build Docker Image
- Acknowledgments
- License
Quick Start
Before installing ApeRAG, make sure your machine meets the following minimum system requirements:
- CPU >= 2 Core
- RAM >= 4 GiB
- Docker & Docker Compose
The easiest way to start ApeRAG is through Docker Compose. Before running the following commands, make sure that Docker and Docker Compose are installed on your machine:
git clone https://github.com/apecloud/ApeRAG.git
cd ApeRAG
cp envs/env.template .env
cp frontend/deploy/env.local.template frontend/.env
docker compose up -d
After running, you can access ApeRAG in your browser at:
- Web Interface: http://localhost:3000/web/
- API Documentation: http://localhost:8000/docs
MCP (Model Context Protocol) Support
ApeRAG supports MCP (Model Context Protocol) integration, allowing AI assistants to interact with your knowledge base directly. After starting the services, configure your MCP client with:
{
"mcpServers": {
"aperag-mcp": {
"url": "http://localhost:8000/mcp",
"headers": {
"Authorization": "Bearer your-api-key-here"
}
}
}
}
Important: Replace http://localhost:8000
with your actual ApeRAG API URL and your-api-key-here
with a valid API key from your ApeRAG settings.
The MCP server provides:
- Collection browsing: List and explore your knowledge collections
- Hybrid search: Search using vector, full-text, and graph methods
- Intelligent querying: Ask natural language questions about your documents
Enhanced Document Parsing
For enhanced document parsing capabilities, ApeRAG supports an advanced document parsing service powered by MinerU, which provides superior parsing for complex documents, tables, and formulas.
Enhanced Document Parsing Commands# Enable advanced document parsing service
DOCRAY_HOST=http://aperag-docray:8639 docker compose --profile docray up -d
# Enable advanced parsing with GPU acceleration
DOCRAY_HOST=http://aperag-docray-gpu:8639 docker compose --profile docray-gpu up -d
Or use the Makefile shortcuts (requires GNU Make):
# Enable advanced document parsing service
make compose-up WITH_DOCRAY=1
# Enable advanced parsing with GPU acceleration (recommended)
make compose-up WITH_DOCRAY=1 WITH_GPU=1
Development & Contributing
For developers interested in source code development, advanced configurations, or contributing to ApeRAG, please refer to our Development Guide for detailed setup instructions.
Key Features
1. Hybrid Retrieval Engine:Combines Graph RAG, vector search, and full-text search for comprehensive document understanding and retrieval.
2. Graph RAG with LightRAG:Enhanced version of LightRAG for advanced graph-based knowledge extraction, enabling deep relational and contextual queries.
3. MinerU Integration:Advanced document parsing service powered by MinerU technology, providing superior parsing for complex documents, tables, formulas, and scientific content with optional GPU acceleration.
4. Production-Grade Deployment:Full Kubernetes support with Helm charts and KubeBlocks integration for simplified deployment of production-grade databases (PostgreSQL, Redis, Qdrant, Elasticsearch, Neo4j).
5. Multimodal Document Processing:Supports various document formats (PDF, DOCX, etc.) with intelligent content extraction and structure recognition.
6. Enterprise Management:Built-in audit logging, LLM model management, graph visualization, and comprehensive document management interface.
7. MCP Integration:Full support for Model Context Protocol (MCP), enabling seamless integration with AI assistants and tools for direct knowledge base access and intelligent querying.
8. Developer Friendly:FastAPI backend, React frontend, async task processing with Celery, extensive testing, and comprehensive development guides for easy contribution and customization.
Kubernetes Deployment (Recommended for Production)
Enterprise-grade deployment with high availability and scalability
Deploy ApeRAG to Kubernetes using our provided Helm chart. This approach offers high availability, scalability, and production-grade management capabilities.
Prerequisites
- Kubernetes cluster (v1.20+)
kubectl
configured and connected to your cluster- Helm v3+ installed
Clone the Repository
First, clone the ApeRAG repository to get the deployment files:
git clone https://github.com/apecloud/ApeRAG.git
cd ApeRAG
Step 1: Deploy Database Services
ApeRAG requires PostgreSQL, Redis, Qdrant, and Elasticsearch. You have two options:
Option A: Use existing databases - If you already have these databases running in your cluster, edit deploy/aperag/values.yaml
to configure your database connection details, then skip to Step 2.
Option B: Deploy databases with KubeBlocks - Use our automated database deployment (database connections are pre-configured):
# Navigate to database deployment scripts
cd deploy/databases/
# (Optional) Review configuration - defaults work for most cases
# edit 00-config.sh
# Install KubeBlocks and deploy databases
bash ./01-prepare.sh # Installs KubeBlocks
bash ./02-install-database.sh # Deploys PostgreSQL, Redis, Qdrant, Elasticsearch
# Monitor database deployment
kubectl get pods -n default
# Return to project root for Step 2
cd ../../
Wait for all database pods to be in Running
status before proceeding.
Step 2: Deploy ApeRAG Application
# If you deployed databases with KubeBlocks in Step 1, database connections are pre-configured
# If you're using existing databases, edit deploy/aperag/values.yaml with your connection details
# Deploy ApeRAG
helm install aperag ./deploy/aperag --namespace default --create-namespace
# Monitor ApeRAG deployment
kubectl get pods -n default -l app.kubernetes.io/instance=aperag
Configuration Options
Resource Requirements: By default, includes doc-ray
service (requires 4+ CPU cores, 8GB+ RAM). To disable: set docray.enabled: false
in values.yaml
.
Advanced Settings: Review values.yaml
for additional configuration options including images, resources, and Ingress settings.
Access Your Deployment
Once deployed, access ApeRAG using port forwarding:
# Forward ports for quick access
kubectl port-forward svc/aperag-frontend 3000:3000 -n default
kubectl port-forward svc/aperag-api 8000:8000 -n default
# Access in browser
# Web Interface: http://localhost:3000
# API Documentation: http://localhost:8000/docs
For production environments, configure Ingress in values.yaml
for external access.
Troubleshooting
Database Issues: See deploy/databases/README.md
for KubeBlocks management, credentials, and uninstall procedures.
Pod Status: Check pod logs for any deployment issues:
kubectl logs -f deployment/aperag-api -n default
kubectl logs -f deployment/aperag-frontend -n default
Acknowledgments
ApeRAG integrates and builds upon several excellent open-source projects:
LightRAG
The graph-based knowledge retrieval capabilities in ApeRAG are powered by a deeply modified version of LightRAG:
- Paper: "LightRAG: Simple and Fast Retrieval-Augmented Generation" (arXiv:2410.05779)
- Authors: Zirui Guo, Lianghao Xia, Yanhua Yu, Tu Ao, Chao Huang
- License: MIT License
We have extensively modified LightRAG to support production-grade concurrent processing, distributed task queues (Celery/Prefect), and stateless operations. See our LightRAG modifications changelog for details.
License
ApeRAG is licensed under the Apache License 2.0. See the LICENSE file for details.