Skip to main content

Overview

Mini RAG provides a modular, Pythonic API for building RAG (Retrieval-Augmented Generation) applications. This reference documentation covers all classes, methods, and configuration options.

AgenticRAG

Main RAG orchestrator class

Configuration

Configuration dataclasses

Vector Store

Milvus vector storage

Rerankers

Reranking strategies

Installation

uv add mini-rag

Basic Usage

import os
from mini import (
    AgenticRAG,
    LLMConfig,
    RetrievalConfig,
    EmbeddingModel,
    VectorStore
)

# Initialize components
embedding_model = EmbeddingModel()
vector_store = VectorStore(
    uri=os.getenv("MILVUS_URI"),
    token=os.getenv("MILVUS_TOKEN"),
    collection_name="my_docs",
    dimension=1536
)

# Create RAG instance
rag = AgenticRAG(
    vector_store=vector_store,
    embedding_model=embedding_model,
    llm_config=LLMConfig(model="gpt-4o-mini"),
    retrieval_config=RetrievalConfig(
        top_k=10,
        rerank_top_k=3,
        use_query_rewriting=True,
        use_reranking=True
    )
)

# Index documents
rag.index_document("document.pdf")

# Query
response = rag.query("What is this about?")
print(response.answer)

Core Concepts

Configuration-Based API

Mini RAG uses a clean, configuration-based API with four main configuration classes:
  • LLMConfig: Language model settings
  • RetrievalConfig: Retrieval behavior
  • RerankerConfig: Reranking strategy
  • ObservabilityConfig: Monitoring and tracing

Modular Components

Use individual components or the complete pipeline:
  • DocumentLoader: Multi-format document loading
  • Chunker: Smart text chunking with Chonkie
  • EmbeddingModel: OpenAI-compatible embeddings
  • VectorStore: Milvus vector storage
  • AgenticRAG: Complete RAG orchestrator

Import Reference

# Main classes
from mini import AgenticRAG, EmbeddingModel, VectorStore

# Configuration
from mini import (
    LLMConfig,
    RetrievalConfig,
    RerankerConfig,
    ObservabilityConfig
)

# Individual components
from mini.loader import DocumentLoader
from mini.chunker import Chunker
from mini.reranker import (
    CohereReranker,
    SentenceTransformerReranker,
    LLMReranker,
    create_reranker
)

Type Hints

Mini RAG is fully typed with Pydantic for validation and IDE support:
from typing import Optional, List, Dict, Any
from mini import AgenticRAG, RAGResponse

def process_query(rag: AgenticRAG, question: str) -> RAGResponse:
    """Type-safe query processing."""
    response: RAGResponse = rag.query(question)
    return response

Error Handling

All methods raise standard Python exceptions:
from mini import AgenticRAG

try:
    rag = AgenticRAG(vector_store=store, embedding_model=model)
    response = rag.query("question")
except FileNotFoundError:
    print("Document not found")
except ValueError:
    print("Invalid configuration")
except Exception as e:
    print(f"Unexpected error: {e}")

Next Steps

Core Classes

Explore the main classes

Configuration

Learn about configuration options

Examples

See practical examples