CAVR is a learned routing framework that dynamically selects among four retrieval paths—parametric (LLM knowledge), text-only, visual-only (ColPali), and hybrid—for cost-efficient multimodal document retrieval.
1# Clone repository
2git clone https://github.com/AhsanRashidX/Cost-Aware-Visual-Router
3cd cost-aware-visual-router
4
5# Create virtual environment
6python -m venv venv
7source venv/bin/activate # On Windows: venv\Scripts\activate
8
9# Install dependencies
10pip install -r requirements.txt
11
12
13
14
15
16
17Quick Start
18python
19from colpali_router_demo import CompleteVisualRouter
20
21# Initialize router
22router = CompleteVisualRouter()
23
24# Route a query
25query = "What does a neural network diagram look like?"
26result = router.route_and_retrieve(query)
27print(f"Path: {result['path_name']}")
28print(f"Confidence: {result['confidence']:.3f}")
29
30
31-----------------------------------------------
32
33Training a New Router
34
35# 1. Prepare balanced dataset
36python scripts/create_balanced_dataset_v2.py
37
38# 2. Train the router
39python scripts/train_balanced_router_v2.py
40
41# 3. Evaluate
42python scripts/evaluate_balanced_router.py
43
44# 4. Generate paper figures
45python scripts/generate_paper_tables.py
46
47---------------------------------------
48
49Datasets
50
51We use the following benchmarks:
52
53DocVQA - Document Visual Question Answering
54
55InfoVQA - Infographics VQA
56
57
58Results
59Metric Value
60Overall Accuracy 86.2%
61Visual Accuracy 88.2%
62Hybrid Accuracy 94.2%
63Avg Cost/Query $0.00019
64
65
66
67@article{rashid2026cost,
68 title={Cost-Aware Visual Router (CAVR): Dynamic Query Routing for Cost-Efficient Multimodal RAG},
69 author={Rashid, Muhammad Ahsan and Shabbir, Sohail},
70 journal={arXiv preprint},
71 year={2026}
72}
73