Skip to content

Commit 5b30211

Browse files
authored
Merge pull request #10 from akashmadisetty/main
Fixed mkdocs build issue
2 parents 2cca7e7 + b9853f3 commit 5b30211

File tree

2 files changed

+115
-378
lines changed

2 files changed

+115
-378
lines changed

docs/index.md

Lines changed: 98 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
Vision Augmented Retrieval and Generation
33

44

5-
| ![VARAG](./docs/assets/llama.png)| VARAG (Vision-Augmented Retrieval and Generation) is a vision-first RAG engine that emphasizes vision-based retrieval techniques. It enhances traditional Retrieval-Augmented Generation (RAG) systems by integrating both visual and textual data through Vision-Language models. |
5+
| ![VARAG](assets/llama.png)| VARAG (Vision-Augmented Retrieval and Generation) is a vision-first RAG engine that emphasizes vision-based retrieval techniques. It enhances traditional Retrieval-Augmented Generation (RAG) systems by integrating both visual and textual data through Vision-Language models. |
66
|:--:|:--|
77

88
[![GitHub Stars](https://img.shields.io/github/stars/adithya-s-k/VARAG?style=social)](https://github.com/adithya-s-k/VARAG/stargazers)
@@ -11,6 +11,41 @@ Vision Augmented Retrieval and Generation
1111
[![GitHub Pull Requests](https://img.shields.io/github/issues-pr/adithya-s-k/VARAG)](https://github.com/adithya-s-k/VARAG/pulls)
1212
[![License](https://img.shields.io/github/license/adithya-s-k/VARAG)](https://github.com/adithya-s-k/VARAG/blob/main/LICENSE)
1313

14+
## 🌟 Key Features
15+
16+
VARAG offers a comprehensive set of features designed for vision-augmented document retrieval and generation:
17+
18+
### 🔍 **Multiple Retrieval Strategies**
19+
- **Simple RAG**: Text extraction with OCR using Docling
20+
- **Vision RAG**: Cross-modal retrieval with JinaCLIP embeddings
21+
- **ColPali RAG**: Direct document page embeddings with late interaction
22+
- **Hybrid ColPali RAG**: Combined image embeddings and ColPali re-ranking
23+
24+
### 🤖 **Multi-Provider LLM/VLM Support**
25+
- **OpenAI Integration**: Support for GPT-4o, GPT-4o-mini and other vision models
26+
- **LiteLLM Provider**: Unified interface for 100+ LLM providers including:
27+
- Anthropic Claude
28+
- Google Gemini
29+
- Groq
30+
- And many more through LiteLLM
31+
32+
### 📊 **Advanced Interpretability**
33+
- **ColPali Similarity Maps**: Visual heatmaps showing attention patterns
34+
- **Token-level Analysis**: Understand model focus on document regions
35+
- **Comparative Analysis**: Compare different ColPali model performances
36+
- **Interactive Visualizations**: Explore retrieval results with similarity overlays
37+
38+
### 🔧 **Flexible Architecture**
39+
- **Modular Design**: Mix and match components easily
40+
- **LanceDB Integration**: High-performance vector storage
41+
- **Custom Chunking**: Configurable text splitting strategies
42+
- **Environment Management**: Support for multiple Python environments
43+
44+
### 🎯 **Interactive Demo**
45+
- **Gradio Interface**: Web-based demo for testing different RAG approaches
46+
- **Real-time Comparison**: Side-by-side evaluation of retrieval techniques
47+
- **Progress Tracking**: Monitor ingestion and retrieval progress
48+
- **API Key Management**: Secure handling of different provider credentials
1449

1550

1651
### Supported Retrieval Techniques
@@ -31,6 +66,26 @@ Hybrid ColPali RAG further enhances retrieval performance by combining the stren
3166

3267
</details>
3368

69+
## 🏗️ Architecture Overview
70+
71+
VARAG follows a modular architecture that separates concerns and enables easy experimentation:
72+
73+
```
74+
VARAG/
75+
├── varag/
76+
│ ├── rag/ # Core RAG implementations
77+
│ ├── llms/ # Language model providers
78+
│ ├── vlms/ # Vision-language model providers
79+
│ ├── models/ # Model utilities and configurations
80+
│ ├── chunking/ # Text chunking strategies
81+
│ └── utils.py # Utility functions and similarity mapping
82+
├── examples/ # Usage examples and demos
83+
│ ├── base_implementation/ # Base embedding implementations
84+
│ └── inference_colpali/ # ColPali interpretation tools
85+
├── docs/ # Documentation and notebooks
86+
└── demo.py # Interactive Gradio demo
87+
```
88+
3489
---
3590

3691

@@ -71,6 +126,17 @@ To install OCR dependencies:
71126
```bash
72127
pip install -e .["ocr"]
73128
```
129+
### 4. Set Up API Keys
130+
131+
Create a `.env` file in the project root:
132+
133+
```bash
134+
# For OpenAI
135+
OPENAI_API_KEY="your-openai-api-key"
136+
137+
# For Google Gemini (via LiteLLM)
138+
GEMINI_API_KEY="your-gemini-api-key"
139+
```
74140

75141
---
76142

@@ -119,15 +185,42 @@ The abstraction is designed to simplify the process of experimenting with differ
119185
This paradigm is inspired by the [Byaldi](https://github.com/AnswerDotAI/byaldi) repo by Answer.ai.
120186

121187
---
188+
### ColPali Similarity Analysis
189+
190+
```python
191+
from varag.utils import create_similarity_mapper, analyze_multiple_images
192+
193+
# Create similarity mapper
194+
similarity_mapper = create_similarity_mapper(colpali_model, colpali_processor)
195+
196+
# Analyze single image
197+
result = similarity_mapper.analyze_image_with_query(
198+
image_path,
199+
"What are the key findings?"
200+
)
201+
202+
# Analyze multiple images
203+
results = analyze_multiple_images(
204+
similarity_mapper,
205+
[image1, image2, image3],
206+
"Compare the results across these documents"
207+
)
208+
```
209+
210+
### ColPali Interpretability Tools
211+
Advanced analysis tools in `examples/inference_colpali/`:
212+
- **Similarity Heatmaps**: Visual attention maps for query-document matching
213+
- **Model Comparison**: Compare different ColPali model versions
214+
- **Token-level Analysis**: Understand fine-grained model behavior
122215

123216
### Techniques and Notebooks
124217

125218
| **Technique** | **Notebook** | **Demo** |
126219
|----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|
127-
| **Simple RAG** | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/adithya-s-k/VARAG/blob/main/docs/simpleRAG.ipynb) | [simpleRAG.py](examples/textDemo.py) |
128-
| **Vision RAG** | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/adithya-s-k/VARAG/blob/main/docs/visionRAG.ipynb) | [visionDemo.py](examples/visionDemo.py) |
129-
| **Colpali RAG** | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/adithya-s-k/VARAG/blob/main/docs/colpaliRAG.ipynb) | [colpaliDemo.py](examples/colpaliDemo.py) |
130-
| **Hybrid Colpali RAG**| [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/adithya-s-k/VARAG/blob/main/docs/hybridColpaliRAG.ipynb) | [hybridColpaliDemo.py](examples/hybridColpaliDemo.py) |
220+
| **Simple RAG** | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/adithya-s-k/VARAG/blob/main/docs/simpleRAG.ipynb) | [simpleRAG.py](https://github.com/adithya-s-k/VARAG/blob/main/examples/textDemo.py) |
221+
| **Vision RAG** | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/adithya-s-k/VARAG/blob/main/docs/visionRAG.ipynb) | [visionDemo.py](https://github.com/adithya-s-k/VARAG/blob/main/examples/visionDemo.py) |
222+
| **Colpali RAG** | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/adithya-s-k/VARAG/blob/main/docs/colpaliRAG.ipynb) | [colpaliDemo.py](https://github.com/adithya-s-k/VARAG/blob/main/examples/colpaliDemo.py) |
223+
| **Hybrid Colpali RAG**| [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/adithya-s-k/VARAG/blob/main/docs/hybridColpaliRAG.ipynb) | [hybridColpaliDemo.py](https://github.com/adithya-s-k/VARAG/blob/main/examples/hybridColpaliDemo.py) |
131224

132225
---
133226

0 commit comments

Comments
 (0)