Update index.html
Browse files- index.html +312 -71
index.html
CHANGED
|
@@ -376,6 +376,44 @@
|
|
| 376 |
font-size: 0.85em;
|
| 377 |
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
|
| 378 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 379 |
</style>
|
| 380 |
</head>
|
| 381 |
<body>
|
|
@@ -385,6 +423,7 @@
|
|
| 385 |
<div class="tabs">
|
| 386 |
<button class="tab active" onclick="switchTab('rag')">RAG</button>
|
| 387 |
<button class="tab" onclick="switchTab('chunking')">Chunking</button>
|
|
|
|
| 388 |
</div>
|
| 389 |
|
| 390 |
<!-- RAG TYPES TAB -->
|
|
@@ -484,6 +523,205 @@
|
|
| 484 |
</div>
|
| 485 |
</div>
|
| 486 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 487 |
</div>
|
| 488 |
|
| 489 |
<script>
|
|
@@ -522,15 +760,15 @@
|
|
| 522 |
paperUrl: "https://arxiv.org/abs/2407.21059"
|
| 523 |
},
|
| 524 |
{
|
| 525 |
-
type: "
|
| 526 |
year: 2024,
|
| 527 |
-
category: "
|
| 528 |
-
indexing: "Preprocessing →
|
| 529 |
-
inference: "User Query →
|
| 530 |
-
benefits: "
|
| 531 |
-
challenges: "
|
| 532 |
-
references: "
|
| 533 |
-
paperUrl: "https://
|
| 534 |
},
|
| 535 |
{
|
| 536 |
type: "MultiModal RAG",
|
|
@@ -543,6 +781,17 @@
|
|
| 543 |
references: "Gao, Y., et al. (2024). Retrieval-Augmented Multimodal Language Modeling. CVPR 2024.",
|
| 544 |
paperUrl: "https://arxiv.org/abs/2211.12561"
|
| 545 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 546 |
{
|
| 547 |
type: "Recursive RAG",
|
| 548 |
year: 2024,
|
|
@@ -555,15 +804,15 @@
|
|
| 555 |
paperUrl: "https://arxiv.org/abs/2405.10627"
|
| 556 |
},
|
| 557 |
{
|
| 558 |
-
type: "
|
| 559 |
year: 2024,
|
| 560 |
-
category: "Modular",
|
| 561 |
-
indexing: "Preprocessing →
|
| 562 |
-
inference: "User Query →
|
| 563 |
-
benefits: "
|
| 564 |
-
challenges: "
|
| 565 |
-
references: "
|
| 566 |
-
paperUrl: "https://arxiv.org/abs/
|
| 567 |
},
|
| 568 |
{
|
| 569 |
type: "Corrective RAG",
|
|
@@ -576,17 +825,6 @@
|
|
| 576 |
references: "Yan, S.-Q., et al. (2024). Corrective Retrieval Augmented Generation. arXiv:2401.15884",
|
| 577 |
paperUrl: "https://arxiv.org/abs/2401.15884"
|
| 578 |
},
|
| 579 |
-
{
|
| 580 |
-
type: "Multi-Hop RAG",
|
| 581 |
-
year: 2024,
|
| 582 |
-
category: "Structural & Modular",
|
| 583 |
-
indexing: "Preprocessing → Chunking/Entity Extraction → Embedding → Structured Storage (Vector DB + Optional KG)",
|
| 584 |
-
inference: "User Query → Query Decomposition → Hop 1 Retrieval → Iterative Reasoning → Hop 2 Retrieval → Final Evidence Aggregation → LLM Generate",
|
| 585 |
-
benefits: "Solves questions requiring reasoning across multiple independent documents or retrieval steps.",
|
| 586 |
-
challenges: "Prone to error propagation (if one hop fails); Significantly higher latency; Requires generation of accurate intermediate queries.",
|
| 587 |
-
references: "Tang, B., & Yang, Y. (2024). MultiHop-RAG: Benchmarking Retrieval-Augmented Generation for Multi-Hop Queries. COLM 2024.",
|
| 588 |
-
paperUrl: "https://arxiv.org/abs/2401.15391"
|
| 589 |
-
},
|
| 590 |
{
|
| 591 |
type: "Agentic RAG",
|
| 592 |
year: 2024,
|
|
@@ -634,15 +872,6 @@
|
|
| 634 |
];
|
| 635 |
|
| 636 |
const chunkingData = [
|
| 637 |
-
{
|
| 638 |
-
type: "Fixed-size Chunking",
|
| 639 |
-
year: 2001,
|
| 640 |
-
category: "Size-based",
|
| 641 |
-
workflow: "Input Document → Split by Fixed Token/Word Count (200-500 tokens) → Create Chunks → Output Chunks",
|
| 642 |
-
description: "Splits text into chunks based on a fixed number of tokens/words (e.g., 200-500 tokens). Simple but may break semantic boundaries.",
|
| 643 |
-
references: "Collobert, R., et al. (2011). Natural language processing (almost) from scratch. Journal of Machine Learning Research 12:2493-2537.",
|
| 644 |
-
paperUrl: "https://www.jmlr.org/papers/volume12/collobert11a/collobert11a.pdf"
|
| 645 |
-
},
|
| 646 |
{
|
| 647 |
type: "Sliding Window Chunking",
|
| 648 |
year: 1998,
|
|
@@ -651,24 +880,24 @@
|
|
| 651 |
description: "Uses a fixed chunk size plus overlap (e.g., chunk size 300, overlap 100). Maintains context continuity across chunks.",
|
| 652 |
references: "Carbonell, J. & Goldstein, J. (1998). The use of MMR, diversity-based reranking for reordering documents. SIGIR 1998.",
|
| 653 |
paperUrl: "https://dl.acm.org/doi/10.1145/290941.291025"
|
| 654 |
-
},
|
| 655 |
{
|
| 656 |
-
type: "
|
| 657 |
-
year:
|
| 658 |
-
category: "
|
| 659 |
-
workflow: "Input Document →
|
| 660 |
-
description: "
|
| 661 |
-
references: "
|
| 662 |
-
paperUrl: "https://
|
| 663 |
},
|
| 664 |
{
|
| 665 |
-
type: "
|
| 666 |
-
year:
|
| 667 |
-
category: "
|
| 668 |
-
workflow: "Input Document →
|
| 669 |
-
description: "
|
| 670 |
-
references: "
|
| 671 |
-
paperUrl: "https://
|
| 672 |
},
|
| 673 |
{
|
| 674 |
type: "Paragraph-based Chunking",
|
|
@@ -688,6 +917,24 @@
|
|
| 688 |
references: "Latif, S., et al. (2025). The Chunking Paradigm: Recursive Semantic for RAG. ICNLSP 2025.",
|
| 689 |
paperUrl: "https://aclanthology.org/2025.icnlsp-1.16/"
|
| 690 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 691 |
{
|
| 692 |
type: "Hybrid Chunking",
|
| 693 |
year: 2024,
|
|
@@ -697,15 +944,6 @@
|
|
| 697 |
references: "Kamradt, G. (2024). 5 levels of text splitting.",
|
| 698 |
paperUrl: ""
|
| 699 |
},
|
| 700 |
-
{
|
| 701 |
-
type: "Discourse-aware Chunking",
|
| 702 |
-
year: 2005,
|
| 703 |
-
category: "Semantic-based",
|
| 704 |
-
workflow: "Input Document → Identify Discourse Markers (however, in contrast, therefore) → Detect Conceptual Shifts → Split at Discourse Boundaries → Output Discourse Chunks",
|
| 705 |
-
description: "Uses discourse markers (e.g., 'however', 'in contrast', 'therefore') to detect conceptual shifts and chunk accordingly.",
|
| 706 |
-
references: "Sporleder, C. & Lapata, M. (2005). Discourse Chunking and its Application to Sentence Compression. HLT 2005.",
|
| 707 |
-
paperUrl: "https://aclanthology.org/H05-1033/"
|
| 708 |
-
},
|
| 709 |
{
|
| 710 |
type: "Embedding-similarity-based Chunking",
|
| 711 |
year: 2024,
|
|
@@ -715,15 +953,6 @@
|
|
| 715 |
references: "Kamradt, G. (2024). 5 levels of text splitting.",
|
| 716 |
paperUrl: ""
|
| 717 |
},
|
| 718 |
-
{
|
| 719 |
-
type: "Metadata-based Chunking",
|
| 720 |
-
year: 2025,
|
| 721 |
-
category: "Structure-based",
|
| 722 |
-
workflow: "Input Document → Extract Metadata (headers, bullets, sections) → Split Using Metadata Structure → Create Metadata-aware Chunks → Output Chunks",
|
| 723 |
-
description: "Splits text using document metadata (e.g., headers, bullets). Preserves document structure and hierarchy.",
|
| 724 |
-
references: "Zhao, J., et al. (2025). MoC: Mixtures of Text Chunking Learners for Retrieval-Augmented Generation. ACL 2025.",
|
| 725 |
-
paperUrl: "https://aclanthology.org/2025.acl-long.1/"
|
| 726 |
-
},
|
| 727 |
{
|
| 728 |
type: "Page-based Chunking",
|
| 729 |
year: 2024,
|
|
@@ -741,6 +970,15 @@
|
|
| 741 |
description: "Tailored to content type (e.g., legal documents by sections, medical records by encounters, code by functions).",
|
| 742 |
references: "Allamraju, A., et al. (2024). Breaking It Down: Domain-Aware Semantic Segmentation for Retrieval Augmented Generation. arXiv:2512.00367",
|
| 743 |
paperUrl: "https://arxiv.org/abs/2512.00367"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 744 |
}
|
| 745 |
];
|
| 746 |
|
|
@@ -769,11 +1007,14 @@
|
|
| 769 |
if (tabName === 'rag') {
|
| 770 |
tabs[0].classList.add('active');
|
| 771 |
document.getElementById('rag-content').classList.add('active');
|
| 772 |
-
} else {
|
| 773 |
tabs[1].classList.add('active');
|
| 774 |
document.getElementById('chunking-content').classList.add('active');
|
| 775 |
initChunkingVisualizations();
|
| 776 |
-
}
|
|
|
|
|
|
|
|
|
|
| 777 |
}
|
| 778 |
|
| 779 |
function getCategoryBadgeClass(category) {
|
|
|
|
| 376 |
font-size: 0.85em;
|
| 377 |
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
|
| 378 |
}
|
| 379 |
+
.rag-table {
|
| 380 |
+
width: 100%;
|
| 381 |
+
border-collapse: collapse;
|
| 382 |
+
margin-bottom: 2rem;
|
| 383 |
+
font-size: 0.95rem;
|
| 384 |
+
}
|
| 385 |
+
|
| 386 |
+
.rag-table th,
|
| 387 |
+
.rag-table td {
|
| 388 |
+
border: 1px solid #ddd;
|
| 389 |
+
padding: 8px;
|
| 390 |
+
vertical-align: top;
|
| 391 |
+
color: #666;
|
| 392 |
+
font-size: 0.9em;
|
| 393 |
+
font-style: italic;
|
| 394 |
+
margin-bottom: 10px;
|
| 395 |
+
line-height: 1.5;
|
| 396 |
+
}
|
| 397 |
+
|
| 398 |
+
.rag-table th {
|
| 399 |
+
background-color: #5b6ee1;
|
| 400 |
+
color: #fff;
|
| 401 |
+
text-align: left;
|
| 402 |
+
}
|
| 403 |
+
|
| 404 |
+
.rag-table tr:nth-child(even) {
|
| 405 |
+
background-color: #f5f6fa;
|
| 406 |
+
}
|
| 407 |
+
|
| 408 |
+
.rag-table a {
|
| 409 |
+
color: #1a4cff;
|
| 410 |
+
text-decoration: none;
|
| 411 |
+
font-weight: 500;
|
| 412 |
+
}
|
| 413 |
+
|
| 414 |
+
.rag-table a:hover {
|
| 415 |
+
text-decoration: underline;
|
| 416 |
+
}
|
| 417 |
</style>
|
| 418 |
</head>
|
| 419 |
<body>
|
|
|
|
| 423 |
<div class="tabs">
|
| 424 |
<button class="tab active" onclick="switchTab('rag')">RAG</button>
|
| 425 |
<button class="tab" onclick="switchTab('chunking')">Chunking</button>
|
| 426 |
+
<button class="tab" onclick="switchTab('indexing-db')">Indexing & Vector DB</button>
|
| 427 |
</div>
|
| 428 |
|
| 429 |
<!-- RAG TYPES TAB -->
|
|
|
|
| 523 |
</div>
|
| 524 |
</div>
|
| 525 |
</div>
|
| 526 |
+
|
| 527 |
+
<!-- INDEXING TAB -->
|
| 528 |
+
<div id="indexing-db" class="tab-content">
|
| 529 |
+
<div class="grid">
|
| 530 |
+
<div class="card">
|
| 531 |
+
<h4>🧮 Indexing Techniques (Algorithmic Level)</h4>
|
| 532 |
+
<p>Algorithmic methods for organizing and searching vectors efficiently. These are the core algorithms that determine how vectors are structured and retrieved (e.g., Flat Index, ANN, IVF, HNSW, PQ/OPQ).</p>
|
| 533 |
+
</div>
|
| 534 |
+
<div class="card">
|
| 535 |
+
<h4>💾 Vector Databases (System Level)</h4>
|
| 536 |
+
<p>Complete systems/engines that implement indexing techniques along with additional features like persistence, metadata support, distributed architecture, and APIs. They are the production-grade platforms (e.g., FAISS, Milvus, Pinecone, Weaviate).</p>
|
| 537 |
+
</div>
|
| 538 |
+
</div>
|
| 539 |
+
<!-- ---------- INDEXING TECHNIQUES TABLE ---------- -->
|
| 540 |
+
<div class="card">
|
| 541 |
+
<table class="rag-table">
|
| 542 |
+
<thead>
|
| 543 |
+
<tr>
|
| 544 |
+
<th>Indexing Technique</th>
|
| 545 |
+
<th>Description</th>
|
| 546 |
+
<th>Workflow</th>
|
| 547 |
+
<th>Pros</th>
|
| 548 |
+
<th>Cons</th>
|
| 549 |
+
<th>Peer-Reviewed Reference</th>
|
| 550 |
+
</tr>
|
| 551 |
+
</thead>
|
| 552 |
+
<tbody>
|
| 553 |
+
<tr>
|
| 554 |
+
<td>Flat Index (Brute-Force)</td>
|
| 555 |
+
<td>Exact similarity search over all vectors using distance metrics.</td>
|
| 556 |
+
<td>
|
| 557 |
+
Embed documents → store vectors → compare query with all vectors → return top-k
|
| 558 |
+
</td>
|
| 559 |
+
<td>Exact results<br>Simple implementation</td>
|
| 560 |
+
<td>Not scalable<br>High latency & memory cost</td>
|
| 561 |
+
<td class="timeline-reference">
|
| 562 |
+
<a href="https://proceedings.neurips.cc/paper_files/paper/2020/file/6b493230205f780e1bc26945df7481e5-Paper.pdf" target="_blank">
|
| 563 |
+
Lewis, P., Perez, E., Piktus, A., Petroni, F., Karpukhin, V., Goyal, N., Küttler, H., Lewis, M., Yih, W., Rocktäschel, T., Riedel, S., & Kiela, D. (2020). Retrieval‑augmented generation for knowledge‑intensive NLP tasks. In H. Larochelle, M. Ranzato, R. Hadsell, M. F. Balcan, & H. T. Lin (Eds.), Advances in Neural Information Processing Systems, 33, 9459–9474. Curran Associates, Inc.
|
| 564 |
+
</a>
|
| 565 |
+
</td>
|
| 566 |
+
</tr>
|
| 567 |
+
|
| 568 |
+
<tr>
|
| 569 |
+
<td>ANN (Approximate Nearest Neighbor)</td>
|
| 570 |
+
<td>Fast similarity search with controlled approximation.</td>
|
| 571 |
+
<td>
|
| 572 |
+
Embed documents → build ANN structure → retrieve approximate neighbors
|
| 573 |
+
</td>
|
| 574 |
+
<td>Fast retrieval<br>Scales to millions/billions</td>
|
| 575 |
+
<td>Approximate (not exact)</td>
|
| 576 |
+
<td class="timeline-reference">
|
| 577 |
+
<a href="https://simg.baai.ac.cn/paperfile/25a43194-c74c-4cd3-b60f-0a1f27f8b8af.pdf" target="_blank">
|
| 578 |
+
Gao, Y., Xiong, Y., Gao, X., Jia, K., Pan, J., Bi, Y., Dai, Y., Sun, J., Wang, M., & Wang, H. (2024). Retrieval‑Augmented Generation for Large Language Models: A Survey (arXiv:2312.10997). arXiv Preprint. https://doi.org/10.48550/arXiv.2312.10997
|
| 579 |
+
</a>
|
| 580 |
+
</td>
|
| 581 |
+
</tr>
|
| 582 |
+
|
| 583 |
+
<tr>
|
| 584 |
+
<td>IVF (Inverted File Index)</td>
|
| 585 |
+
<td>Partitions vector space into clusters; searches only relevant partitions.</td>
|
| 586 |
+
<td>
|
| 587 |
+
K-means clustering → assign vectors → query nearest clusters → search inside
|
| 588 |
+
</td>
|
| 589 |
+
<td>Good speed-accuracy trade-off<br>Scalable</td>
|
| 590 |
+
<td>Requires tuning<br>Cluster-quality sensitive</td>
|
| 591 |
+
<td class="timeline-reference">
|
| 592 |
+
<a href="https://arxiv.org/pdf/1702.08734" target="_blank">
|
| 593 |
+
Johnson, J., Douze, M., & Jégou, H. (2019). Billion‑scale similarity search with GPUs. IEEE Transactions on Big Data, 7(3), 535–547. https://doi.org/10.1109/TBDATA.2019.2921572
|
| 594 |
+
</a>
|
| 595 |
+
</td>
|
| 596 |
+
</tr>
|
| 597 |
+
|
| 598 |
+
<tr>
|
| 599 |
+
<td>HNSW</td>
|
| 600 |
+
<td>Graph-based ANN using hierarchical proximity graphs.</td>
|
| 601 |
+
<td>
|
| 602 |
+
Build layered graph → incremental insertion → top-down graph traversal
|
| 603 |
+
</td>
|
| 604 |
+
<td>Very fast<br>High recall<br>Dynamic updates</td>
|
| 605 |
+
<td>High memory usage<br>Complex construction</td>
|
| 606 |
+
<td class="timeline-reference">
|
| 607 |
+
<a href="https://arxiv.org/abs/1603.09320" target="_blank">
|
| 608 |
+
Malkov, Y. A., & Yashunin, D. A. (2020). Efficient and robust approximate nearest neighbor search using hierarchical navigable small world graphs. IEEE Transactions on Pattern Analysis and Machine Intelligence, 42(4), 824–836. https://doi.org/10.1109/TPAMI.2018.2889473
|
| 609 |
+
</a>
|
| 610 |
+
</td>
|
| 611 |
+
</tr>
|
| 612 |
+
|
| 613 |
+
<tr>
|
| 614 |
+
<td>PQ / OPQ</td>
|
| 615 |
+
<td>Compresses vectors into short codes for memory-efficient ANN.</td>
|
| 616 |
+
<td>
|
| 617 |
+
Subspace split → quantization → store codes → approximate distance
|
| 618 |
+
</td>
|
| 619 |
+
<td>Memory efficient<br>Enables billion-scale RAG</td>
|
| 620 |
+
<td>Lossy compression<br>Lower recall if misconfigured</td>
|
| 621 |
+
<td class="timeline-reference">
|
| 622 |
+
<a href="https://www.irisa.fr/texmex/people/jegou/papers/jegou_searching_with_quantization.pdf" target="_blank">
|
| 623 |
+
Jégou, H., Douze, M., & Schmid, C. (2011). Product quantization for nearest neighbor search. IEEE Transactions on Pattern Analysis and Machine Intelligence, 33(1), 117–128. https://doi.org/10.1109/TPAMI.2010.57
|
| 624 |
+
</a>
|
| 625 |
+
</td>
|
| 626 |
+
</tr>
|
| 627 |
+
</tbody>
|
| 628 |
+
</table>
|
| 629 |
+
</div>
|
| 630 |
+
<!-- ---------- VECTOR DATABASES TABLE ---------- -->
|
| 631 |
+
<div class="card">
|
| 632 |
+
<table class="rag-table">
|
| 633 |
+
<thead>
|
| 634 |
+
<tr>
|
| 635 |
+
<th>Vector DB</th>
|
| 636 |
+
<th>Description</th>
|
| 637 |
+
<th>Underlying Index</th>
|
| 638 |
+
<th>Pros</th>
|
| 639 |
+
<th>Cons</th>
|
| 640 |
+
<th>Peer-Reviewed Reference</th>
|
| 641 |
+
</tr>
|
| 642 |
+
</thead>
|
| 643 |
+
<tbody>
|
| 644 |
+
<tr>
|
| 645 |
+
<td>FAISS</td>
|
| 646 |
+
<td>Research-oriented vector similarity library widely used in RAG.</td>
|
| 647 |
+
<td>Flat, IVF, HNSW, PQ, OPQ</td>
|
| 648 |
+
<td>Highly optimized<br>Flexible ANN<br>Academic standard</td>
|
| 649 |
+
<td>Not a full DBMS<br>Limited metadata</td>
|
| 650 |
+
<td class="timeline-reference">
|
| 651 |
+
<a href="https://simg.baai.ac.cn/paperfile/25a43194-c74c-4cd3-b60f-0a1f27f8b8af.pdf" target="_blank">
|
| 652 |
+
Gao, Y., Xiong, Y., Gao, X., Jia, K., Pan, J., Bi, Y., Dai, Y., Sun, J., Wang, M., & Wang, H. (2024). Retrieval‑Augmented Generation for Large Language Models: A Survey (arXiv:2312.10997). arXiv Preprint. https://doi.org/10.48550/arXiv.2312.10997
|
| 653 |
+
</a>
|
| 654 |
+
</td>
|
| 655 |
+
</tr>
|
| 656 |
+
|
| 657 |
+
<tr>
|
| 658 |
+
<td>Milvus</td>
|
| 659 |
+
<td>Distributed open-source vector database for large-scale RAG.</td>
|
| 660 |
+
<td>HNSW, IVF-PQ</td>
|
| 661 |
+
<td>Scalable<br>Distributed<br>Open-source</td>
|
| 662 |
+
<td>Deployment complexity<br>Operational overhead</td>
|
| 663 |
+
<td class="timeline-reference">
|
| 664 |
+
<a href="https://ijaibdcms.org/index.php/ijaibdcms/article/view/257?utm_source=chatgpt.com" target="_blank">
|
| 665 |
+
Rusum, G. P., & Anasuri, S. (2025). Vector databases in modern applications: Real‑time search, recommendations, and retrieval‑augmented generation (RAG). International Journal of AI, BigData, Computational and Management Studies, 5(4), Article 113. https://doi.org/10.63282/3050‑9416.IJAIBDCMS‑V5I4P113
|
| 666 |
+
</a>
|
| 667 |
+
</td>
|
| 668 |
+
</tr>
|
| 669 |
+
|
| 670 |
+
<tr>
|
| 671 |
+
<td>Pinecone</td>
|
| 672 |
+
<td>Fully managed vector database for production RAG systems.</td>
|
| 673 |
+
<td>Proprietary ANN (HNSW-like)</td>
|
| 674 |
+
<td>Fully managed<br>High availability<br>Scalable</td>
|
| 675 |
+
<td>Closed-source<br>Opaque indexing</td>
|
| 676 |
+
<td class="timeline-reference">
|
| 677 |
+
<a href="https://simg.baai.ac.cn/paperfile/25a43194-c74c-4cd3-b60f-0a1f27f8b8af.pdf" target="_blank">
|
| 678 |
+
Gao, Y., Xiong, Y., Gao, X., Jia, K., Pan, J., Bi, Y., Dai, Y., Sun, J., Wang, M., & Wang, H. (2024). Retrieval‑Augmented Generation for Large Language Models: A Survey (arXiv:2312.10997). arXiv Preprint. https://doi.org/10.48550/arXiv.2312.10997
|
| 679 |
+
</a>
|
| 680 |
+
</td>
|
| 681 |
+
</tr>
|
| 682 |
+
|
| 683 |
+
<tr>
|
| 684 |
+
<td>Weaviate</td>
|
| 685 |
+
<td>Open-source vector DB with schema & metadata-aware retrieval.</td>
|
| 686 |
+
<td>HNSW</td>
|
| 687 |
+
<td>Simple API<br>Schema support</td>
|
| 688 |
+
<td>High memory usage<br>Limited ANN tuning</td>
|
| 689 |
+
<td class="timeline-reference">
|
| 690 |
+
<a href="https://ijaibdcms.org/index.php/ijaibdcms/article/view/257?utm_source=chatgpt.com" target="_blank">
|
| 691 |
+
Rusum, G. P., & Anasuri, S. (2025). Vector databases in modern applications: Real‑time search, recommendations, and retrieval‑augmented generation (RAG). International Journal of AI, BigData, Computational and Management Studies, 5(4), Article 113. https://doi.org/10.63282/3050‑9416.IJAIBDCMS‑V5I4P113
|
| 692 |
+
</a>
|
| 693 |
+
</td>
|
| 694 |
+
</tr>
|
| 695 |
+
|
| 696 |
+
<tr>
|
| 697 |
+
<td>Elasticsearch (Vector)</td>
|
| 698 |
+
<td>Hybrid sparse-dense retrieval using BM25 + vectors.</td>
|
| 699 |
+
<td>HNSW + BM25</td>
|
| 700 |
+
<td>Hybrid retrieval<br>Mature ecosystem</td>
|
| 701 |
+
<td>Higher latency<br>Slower pure vector search</td>
|
| 702 |
+
<td class="timeline-reference">
|
| 703 |
+
<a href="https://simg.baai.ac.cn/paperfile/25a43194-c74c-4cd3-b60f-0a1f27f8b8af.pdf" target="_blank">
|
| 704 |
+
Gao, Y., Xiong, Y., Gao, X., Jia, K., Pan, J., Bi, Y., Dai, Y., Sun, J., Wang, M., & Wang, H. (2024). Retrieval‑Augmented Generation for Large Language Models: A Survey (arXiv:2312.10997). arXiv Preprint. https://doi.org/10.48550/arXiv.2312.10997
|
| 705 |
+
</a>
|
| 706 |
+
</td>
|
| 707 |
+
</tr>
|
| 708 |
+
|
| 709 |
+
<tr>
|
| 710 |
+
<td>Chroma</td>
|
| 711 |
+
<td>Lightweight developer-focused vector store for prototyping.</td>
|
| 712 |
+
<td>HNSW (ANN backends)</td>
|
| 713 |
+
<td>Easy integration<br>Fast prototyping</td>
|
| 714 |
+
<td>Limited scalability<br>Not enterprise-grade</td>
|
| 715 |
+
<td>
|
| 716 |
+
<a href="https://simg.baai.ac.cn/paperfile/25a43194-c74c-4cd3-b60f-0a1f27f8b8af.pdf" target="_blank">
|
| 717 |
+
Gao, Y., Xiong, Y., Gao, X., Jia, K., Pan, J., Bi, Y., Dai, Y., Sun, J., Wang, M., & Wang, H. (2024). Retrieval‑Augmented Generation for Large Language Models: A Survey (arXiv:2312.10997). arXiv Preprint. https://doi.org/10.48550/arXiv.2312.10997
|
| 718 |
+
</a>
|
| 719 |
+
</td>
|
| 720 |
+
</tr>
|
| 721 |
+
</tbody>
|
| 722 |
+
</table>
|
| 723 |
+
</div>
|
| 724 |
+
</div>
|
| 725 |
</div>
|
| 726 |
|
| 727 |
<script>
|
|
|
|
| 760 |
paperUrl: "https://arxiv.org/abs/2407.21059"
|
| 761 |
},
|
| 762 |
{
|
| 763 |
+
type: "Cache RAG",
|
| 764 |
year: 2024,
|
| 765 |
+
category: "Modular",
|
| 766 |
+
indexing: "Preprocessing → Standard Chunking → Embedding → Vector DB Storage",
|
| 767 |
+
inference: "User Query → Cache Lookup → If Hit: Return Cached Answer → If Miss: Standard Retrieval → LLM Generate → Cache Store",
|
| 768 |
+
benefits: "Dramatically improves latency and reduces LLM cost for repeated or highly similar queries.",
|
| 769 |
+
challenges: "Complex cache invalidation logic; Requires robust query similarity and hashing functions.",
|
| 770 |
+
references: "Jin, C., et al. (2024). RAGCache: Efficient Knowledge Caching for Retrieval-Augmented Generation. ACM TOCS.",
|
| 771 |
+
paperUrl: "https://arxiv.org/abs/2404.12457"
|
| 772 |
},
|
| 773 |
{
|
| 774 |
type: "MultiModal RAG",
|
|
|
|
| 781 |
references: "Gao, Y., et al. (2024). Retrieval-Augmented Multimodal Language Modeling. CVPR 2024.",
|
| 782 |
paperUrl: "https://arxiv.org/abs/2211.12561"
|
| 783 |
},
|
| 784 |
+
{
|
| 785 |
+
type: "Graph RAG",
|
| 786 |
+
year: 2024,
|
| 787 |
+
category: "Structural & Modular",
|
| 788 |
+
indexing: "Preprocessing → Entity/Relation Extraction → Store in Knowledge Graph (KG) & Vector DB",
|
| 789 |
+
inference: "User Query → Embedding/KG Query → Simultaneous Retrieval (Vector + KG Path) → Concatenation → LLM Generate",
|
| 790 |
+
benefits: "Resolves complex, multi-hop queries by leveraging factual relationships; Improves interpretability and fact consistency.",
|
| 791 |
+
challenges: "High indexing complexity (KG construction); Expensive maintenance for rapidly changing data; Retrieval latency can be high.",
|
| 792 |
+
references: "Barry, M., et al. (2025). GraphRAG: Leveraging Graph-Based Efficiency to Minimize Hallucinations in LLM-Driven RAG. GenAIK Workshop.",
|
| 793 |
+
paperUrl: "https://aclanthology.org/2025.genaik-1.6/"
|
| 794 |
+
},
|
| 795 |
{
|
| 796 |
type: "Recursive RAG",
|
| 797 |
year: 2024,
|
|
|
|
| 804 |
paperUrl: "https://arxiv.org/abs/2405.10627"
|
| 805 |
},
|
| 806 |
{
|
| 807 |
+
type: "Multi-Hop RAG",
|
| 808 |
year: 2024,
|
| 809 |
+
category: "Structural & Modular",
|
| 810 |
+
indexing: "Preprocessing → Chunking/Entity Extraction → Embedding → Structured Storage (Vector DB + Optional KG)",
|
| 811 |
+
inference: "User Query → Query Decomposition → Hop 1 Retrieval → Iterative Reasoning → Hop 2 Retrieval → Final Evidence Aggregation → LLM Generate",
|
| 812 |
+
benefits: "Solves questions requiring reasoning across multiple independent documents or retrieval steps.",
|
| 813 |
+
challenges: "Prone to error propagation (if one hop fails); Significantly higher latency; Requires generation of accurate intermediate queries.",
|
| 814 |
+
references: "Tang, B., & Yang, Y. (2024). MultiHop-RAG: Benchmarking Retrieval-Augmented Generation for Multi-Hop Queries. COLM 2024.",
|
| 815 |
+
paperUrl: "https://arxiv.org/abs/2401.15391"
|
| 816 |
},
|
| 817 |
{
|
| 818 |
type: "Corrective RAG",
|
|
|
|
| 825 |
references: "Yan, S.-Q., et al. (2024). Corrective Retrieval Augmented Generation. arXiv:2401.15884",
|
| 826 |
paperUrl: "https://arxiv.org/abs/2401.15884"
|
| 827 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 828 |
{
|
| 829 |
type: "Agentic RAG",
|
| 830 |
year: 2024,
|
|
|
|
| 872 |
];
|
| 873 |
|
| 874 |
const chunkingData = [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 875 |
{
|
| 876 |
type: "Sliding Window Chunking",
|
| 877 |
year: 1998,
|
|
|
|
| 880 |
description: "Uses a fixed chunk size plus overlap (e.g., chunk size 300, overlap 100). Maintains context continuity across chunks.",
|
| 881 |
references: "Carbonell, J. & Goldstein, J. (1998). The use of MMR, diversity-based reranking for reordering documents. SIGIR 1998.",
|
| 882 |
paperUrl: "https://dl.acm.org/doi/10.1145/290941.291025"
|
| 883 |
+
},
|
| 884 |
{
|
| 885 |
+
type: "Fixed-size Chunking",
|
| 886 |
+
year: 2001,
|
| 887 |
+
category: "Size-based",
|
| 888 |
+
workflow: "Input Document → Split by Fixed Token/Word Count (200-500 tokens) → Create Chunks → Output Chunks",
|
| 889 |
+
description: "Splits text into chunks based on a fixed number of tokens/words (e.g., 200-500 tokens). Simple but may break semantic boundaries.",
|
| 890 |
+
references: "Collobert, R., et al. (2011). Natural language processing (almost) from scratch. Journal of Machine Learning Research 12:2493-2537.",
|
| 891 |
+
paperUrl: "https://www.jmlr.org/papers/volume12/collobert11a/collobert11a.pdf"
|
| 892 |
},
|
| 893 |
{
|
| 894 |
+
type: "Discourse-aware Chunking",
|
| 895 |
+
year: 2005,
|
| 896 |
+
category: "Semantic-based",
|
| 897 |
+
workflow: "Input Document → Identify Discourse Markers (however, in contrast, therefore) → Detect Conceptual Shifts → Split at Discourse Boundaries → Output Discourse Chunks",
|
| 898 |
+
description: "Uses discourse markers (e.g., 'however', 'in contrast', 'therefore') to detect conceptual shifts and chunk accordingly.",
|
| 899 |
+
references: "Sporleder, C. & Lapata, M. (2005). Discourse Chunking and its Application to Sentence Compression. HLT 2005.",
|
| 900 |
+
paperUrl: "https://aclanthology.org/H05-1033/"
|
| 901 |
},
|
| 902 |
{
|
| 903 |
type: "Paragraph-based Chunking",
|
|
|
|
| 917 |
references: "Latif, S., et al. (2025). The Chunking Paradigm: Recursive Semantic for RAG. ICNLSP 2025.",
|
| 918 |
paperUrl: "https://aclanthology.org/2025.icnlsp-1.16/"
|
| 919 |
},
|
| 920 |
+
{
|
| 921 |
+
type: "Semantic Chunking",
|
| 922 |
+
year: 2024,
|
| 923 |
+
category: "Semantic-based",
|
| 924 |
+
workflow: "Input Document → Analyze Topic Shifts/Semantic Boundaries → Split at Semantic Breaks → Create Semantically Coherent Chunks → Output Chunks",
|
| 925 |
+
description: "Chunks based on topic shifts or semantic boundaries rather than size. Preserves meaning and context.",
|
| 926 |
+
references: "LangChain (2024). Semantic chunker. Accessed 2024-09-14.",
|
| 927 |
+
paperUrl: "https://python.langchain.com/docs/how_to/semantic-chunker/"
|
| 928 |
+
},
|
| 929 |
+
{
|
| 930 |
+
type: "Sentence-based Chunking",
|
| 931 |
+
year: 2024,
|
| 932 |
+
category: "Structure-based",
|
| 933 |
+
workflow: "Input Document → Split by Sentences → Group Sentences (Optional) → Create Sentence Chunks → Output Chunks",
|
| 934 |
+
description: "Splits text by sentences. Maintains grammatical integrity and natural language boundaries.",
|
| 935 |
+
references: "Dong, K., et al. (2024). Multi-view content-aware indexing for long document retrieval. arXiv:2404.15103",
|
| 936 |
+
paperUrl: "https://arxiv.org/abs/2404.15103"
|
| 937 |
+
},
|
| 938 |
{
|
| 939 |
type: "Hybrid Chunking",
|
| 940 |
year: 2024,
|
|
|
|
| 944 |
references: "Kamradt, G. (2024). 5 levels of text splitting.",
|
| 945 |
paperUrl: ""
|
| 946 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 947 |
{
|
| 948 |
type: "Embedding-similarity-based Chunking",
|
| 949 |
year: 2024,
|
|
|
|
| 953 |
references: "Kamradt, G. (2024). 5 levels of text splitting.",
|
| 954 |
paperUrl: ""
|
| 955 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 956 |
{
|
| 957 |
type: "Page-based Chunking",
|
| 958 |
year: 2024,
|
|
|
|
| 970 |
description: "Tailored to content type (e.g., legal documents by sections, medical records by encounters, code by functions).",
|
| 971 |
references: "Allamraju, A., et al. (2024). Breaking It Down: Domain-Aware Semantic Segmentation for Retrieval Augmented Generation. arXiv:2512.00367",
|
| 972 |
paperUrl: "https://arxiv.org/abs/2512.00367"
|
| 973 |
+
},
|
| 974 |
+
{
|
| 975 |
+
type: "Metadata-based Chunking",
|
| 976 |
+
year: 2025,
|
| 977 |
+
category: "Structure-based",
|
| 978 |
+
workflow: "Input Document → Extract Metadata (headers, bullets, sections) → Split Using Metadata Structure → Create Metadata-aware Chunks → Output Chunks",
|
| 979 |
+
description: "Splits text using document metadata (e.g., headers, bullets). Preserves document structure and hierarchy.",
|
| 980 |
+
references: "Zhao, J., et al. (2025). MoC: Mixtures of Text Chunking Learners for Retrieval-Augmented Generation. ACL 2025.",
|
| 981 |
+
paperUrl: "https://aclanthology.org/2025.acl-long.1/"
|
| 982 |
}
|
| 983 |
];
|
| 984 |
|
|
|
|
| 1007 |
if (tabName === 'rag') {
|
| 1008 |
tabs[0].classList.add('active');
|
| 1009 |
document.getElementById('rag-content').classList.add('active');
|
| 1010 |
+
} else if (tabName === 'chunking') {
|
| 1011 |
tabs[1].classList.add('active');
|
| 1012 |
document.getElementById('chunking-content').classList.add('active');
|
| 1013 |
initChunkingVisualizations();
|
| 1014 |
+
} else if (tabName === 'indexing-db') {
|
| 1015 |
+
tabs[2].classList.add('active');
|
| 1016 |
+
document.getElementById('indexing-db').classList.add('active');
|
| 1017 |
+
}
|
| 1018 |
}
|
| 1019 |
|
| 1020 |
function getCategoryBadgeClass(category) {
|