Skip to content

agenticxlab/AgenticXRAG

Repository files navigation

🦅 AgenticXRAG

AgenticXRAG is a production-ready, full-stack Retrieval-Augmented Generation (RAG) platform. It provides a robust architecture combining FastAPI, LlamaIndex, Qdrant, RabbitMQ, and multiple embedding services (HuggingFace, FastEmbed). The platform is orchestrated using a set of highly optimized Bash scripts and Docker multi-stage builds, with uv handling high-performance Python dependency management.


🏗️ Architecture overview

Tip

For a comprehensive, in-depth look at the entire AgenticXRAG platform, please see the Platform Overview document.

The platform is designed in distinct layers to ensure scalability and ease of deployment:

  1. Infrastructure Layer (infra/):

    • RabbitMQ: Asynchronous message broker for handling document parsing and indexing queues.
    • Qdrant: High-performance vector database for storing and querying document embeddings.
  2. Services Layer (services/):

    • FastEmbed: Service for sparse and ColBERT embeddings.
    • HF Embeddings: Service for dense HuggingFace embeddings.
  3. Core Layer (agenticxrag/):

    • AgenticXRAG API: The central FastAPI application serving as the RAG orchestrator, built on top of llama-index-core and utilizing docling for document ingestion.

📋 Prerequisites

Ensure you have the following installed on your system before proceeding:

  • Docker & Docker Compose (for containerized infrastructure and services)
  • uv (for fast Python package management)
  • Python 3.13+
  • Bash (for orchestration scripts)

🚀 Setup & Installation

1. Local Development Setup (Using uv)

Initialize the Python environment and install dependencies:

# Sync dependencies using uv
uv sync

# Activate the virtual environment
source .venv/bin/activate

2. Environment Variables

Ensure you have the required .env files in the root directory. You may need to create them based on the provided examples (e.g., .env, .env.docker).


🛠️ Platform Orchestration

The entire platform is managed via the run.sh master entry point. It orchestrates the infrastructure, services, and core application in the correct dependency order.

Usage

./run.sh [ACTION]

Available Actions:

Action Description
smart-restart (Default) Intelligent restart. Stops running containers first, starts stopped ones directly. Fastest way to apply config changes.
start Starts the full stack (Platform → Core). Skips already running containers.
stop Gracefully stops the full stack (Core → Platform). Preserves volumes and images.
restart Performs a full stop → start cycle for the entire stack.
status Shows the live status of every container in all layers.
clean ⚠️ DESTRUCTIVE. Tears down all containers, volumes, and images. All persisted data (Qdrant, RabbitMQ) will be lost.

Examples:

./run.sh                 # smart-restart (safest choice)
./run.sh start           # cold-start the entire stack
./run.sh stop            # gracefully stop everything
./run.sh status          # view container health
./run.sh clean           # ⚠️ full teardown (data loss)

🌐 Exposed Endpoints

Once the platform is running, you can access the following services locally:


📁 Project Structure

.
├── agenticxrag/          # Core FastAPI application
├── config/               # Configuration files
├── data/                 # Local data storage and ingestion folders
├── docs/                 # Documentation
├── infra/                # Infrastructure layer (RabbitMQ, Qdrant)
├── logs/                 # Centralized logs for orchestration scripts
├── services/             # Microservices (FastEmbed, HF Embeddings)
├── .env                  # Local environment variables
├── .env.docker           # Docker environment variables
├── pyproject.toml        # Project metadata and dependencies
├── uv.lock               # uv lockfile for deterministic builds
├── run.sh                # Master entry point script
├── platform.sh           # Platform orchestrator (infra + services)
└── agenticxrag.sh        # Core application orchestrator

📜 Logging

The orchestration scripts write detailed, color-coded logs to logs/agenticxrag.log and logs/platform.log. You can tail these files for debugging and monitoring platform startup and shutdown events.


📝 License

This project is licensed under the Apache License 2.0.


📖 Citation

If you use AgenticXRAG in your research or project, please consider citing it:

@software{agenticxrag2026,
  author = {Bajrang Chapola},
  title = {AgenticXRAG: A Production-Ready Full-Stack RAG Platform},
  year = {2026}
 
}

Author: Bajrang Chapola

About

AgenticXRAG: Event-Driven Retrieval-Augmented Generation Pipeline

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors