Metadata-Version: 2.4
Name: ragit
Version: 0.0.1
Summary: Automatic RAG Pattern Optimization Engine
Author: RODMENA LIMITED
Maintainer-email: RODMENA LIMITED <info@rodmena.com>
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/rodmena-limited/ragit
Project-URL: Repository, https://github.com/rodmena-limited/ragit
Project-URL: Issues, https://github.com/rodmena-limited/ragit/issues
Keywords: AI,RAG,LLM,GenAI,Optimization,Ollama
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: POSIX :: Linux
Requires-Python: <3.14,>=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.31.0
Requires-Dist: numpy>=1.26.0
Requires-Dist: pandas>=2.2.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: scikit-learn>=1.5.0
Requires-Dist: tqdm>=4.66.0
Provides-Extra: dev
Requires-Dist: ragit[test]; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: pylint; extra == "dev"
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Requires-Dist: pytest-mock; extra == "test"
Dynamic: license-file

# ragit

Automatic RAG (Retrieval-Augmented Generation) hyperparameter optimization engine.

## What it does

ragit finds the best configuration for your RAG pipeline by testing different combinations of:
- Chunk sizes and overlaps
- Number of retrieved chunks
- Embedding models
- LLM models

You provide documents and benchmark questions, ragit evaluates different configurations and returns the best one.

## Install

```bash
pip install ragit
```

## Usage

```python
from ragit import RagitExperiment, Document, BenchmarkQuestion

documents = [
    Document(id="doc1", content="Your document text here..."),
]

benchmark = [
    BenchmarkQuestion(
        question="A question about your documents?",
        ground_truth="The expected answer."
    ),
]

experiment = RagitExperiment(documents, benchmark)
results = experiment.run()

print(results[0])  # Best configuration
```

## License

Apache-2.0 - RODMENA LIMITED
