Skip to main content

AgenticRAG

PyPI version License: MIT Python 3.8+

AgenticRAG is a modular library for building customizable Retrieval-Augmented Generation systems. It provides a complete stack for ingesting, storing, retrieving, and acting on diverse data types through a unified interface.

agenticrag


Key Features

  • Modular Architecture: Easily customize any component while maintaining system compatibility
  • Multi-format Data Support: Handle text, tables, and databases through specialized stores
  • Flexible Data Ingestion: Import data from PDFs, CSVs, web pages, and external databases
  • Intelligent Retrieval: Use semantic search, SQL queries, or table operations as needed
  • Task-oriented Design: Perform question answering, chart generation, or custom operations
  • Easy Extensibility: Create custom components with minimal boilerplate

Installation

For Users

Install the stable release from PyPI:

pip install agenticrag

For Contributors

Clone the repository and install development dependencies:

git clone https://github.com/yourusername/agenticrag.git
cd agenticrag
pip install -r requirements.txt

Quick Start

from agenticrag import RAGAgent

# Initialize agent with default components
agent = RAGAgent(persistent_dir="./agenticrag_data")

# Load some data
agent.load_pdf("path/to/document.pdf", name="company_handbook")
agent.load_csv("path/to/data.csv", name="sales_data")

# Ask questions using the data
response = agent.invoke("What were our top selling products last quarter?")
print(response)

Architecture Overview

AgenticRAG Architecture

The AgenticRAG system follows a modular, layered architecture where each component has specific responsibilities:

  1. Data Storage Layer: Stores maintain structured representations of various data types
  2. Data Ingestion Layer: Loaders and Connectors handle importing data into stores
  3. Data Retrieval Layer: Retrievers access relevant information based on queries
  4. Task Execution Layer: Tasks perform operations using retrieved context
  5. Orchestration Layer: RAGAgent coordinates all components to fulfill user requests

Documentation

For detailed documentation, check out:


Project Structure

├── agenticrag/                # Main package
│   ├── connectors/            # Database and API connectors
│   ├── loaders/               # Data ingestion components
│   ├── retrievers/            # Context retrieval components
│   ├── stores/                # Data storage components
│   ├── tasks/                 # Task execution components
│   ├── types/                 # Data models and type definitions
│   ├── utils/                 # Utility functions and helpers
│   └── rag_agent.py           # Main agent implementation
├── docs/                      # Documentation
├── examples/                  # Example notebooks
├── tests/                     # Unit and integration tests
├── ui/                        # Streamlit demo app
├── LICENSE                    # MIT License
├── pyproject.toml             # Package configuration
├── README.md                  # This file
└── requirements.txt           # Development dependencies

Example Use Cases

Question Answering from Documents

from agenticrag import RAGAgent

agent = RAGAgent()
agent.load_pdf("research_paper.pdf", name="research")
agent.invoke("Summarize the key findings of the research paper")

Data Analysis with Visualizations

from agenticrag import RAGAgent
from agenticrag.retrievers import TableRetriever
from agenticrag.tasks import ChartGenerationTask

agent = RAGAgent(
    retrievers=[TableRetriever()],
    tasks=[ChartGenerationTask()]
)
agent.load_csv("Iris.csv")
agent.invoke("Create a scatter plot showing petel length and width of Iris")

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Release files for agenticrag 0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agenticrag 0.2
File Size Uploaded
agenticrag-0.2.tar.gz 4.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for agenticrag 0.2
File Interpreter ABI Platform
agenticrag-0.2-py3-none-any.whl Python 3 none any Details

Total release size: 9.2 kB

Release files / agenticrag-0.2.tar.gz

Download URL agenticrag-0.2.tar.gz
Size 4.4 kB
Tags Source
SHA-256 checksum
How to use checksums
e0faa1de0c4fb55bf858736286a3437478d8a395408310706eb5d1aafe717d0e
BLAKE2b-256 checksum
How to use checksums
1eef53ee380a8be9deac448ce3a95758d213fe216267aba971b3c323896db047
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.16

Release files / agenticrag-0.2-py3-none-any.whl

Download URL agenticrag-0.2-py3-none-any.whl
Size 4.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
88e09651aadb6940412ed16f84f0f5cf7d7300316c242ee9de3dad5e3484c1b0
BLAKE2b-256 checksum
How to use checksums
6db3478ce0fd0a44dee68679c83445c74a5d551d8cb213f84eb43e33b73ad5b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.16

Release history Release notifications | RSS feed

This release

0.2 This release

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page