Why: - Close the open ±N follow-up from the strategy finalization memo. Changes: - Add addendum with ±0…±3 evidence and binding ±3/3 default. - Sync LLD config table with new neighbor expansion defaults. Co-authored-by: Cursor <cursoragent@cursor.com>
Documentation Index
Complete documentation for the RAG Chunking Benchmarker.
Quick Start
- New to the project? Start with HLD (system design) then LLD (module detail)
- Domain language? Read CONTEXT.md
- Want to understand strategies? Read Strategy Technical Details
- Need to use the API? Check API Reference
- Configuring the system? See Configuration Guide
- Understanding results? Read Evaluation Metrics
Documentation Files
| File | Purpose | Audience |
|---|---|---|
| HLD.md | High-level design: context, components, flows | Architects, new team members |
| LLD.md | Low-level design: schemas, algorithms, APIs | Implementers |
| architecture.md | Legacy overview (prefer HLD) | New team members |
| strategy-technical-details.md | Deep dive into each strategy | Engineers |
| api-reference.md | All endpoints documented | Developers |
| configuration.md | Settings and environment variables | DevOps |
| evaluation-metrics.md | How scoring works | Data scientists |
| data-flow.md | How data moves through the system | Engineers |
| chunking_strategies.md | High-level strategy overview | Everyone |
| final-chunking-strategy-decision.md | Final Strategy family decision (fixed_size) + charts |
Managers, operators |
| adr/ | Architectural Decision Records | Everyone |
| phases.md | Implementation phases | Project managers |
| tasks.md | Task tracking | Developers |
Architecture at a Glance
┌─────────────────────────────────────────────────────────────────┐
│ RAG Chunking Benchmarker │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Documents → Parser → Chunking → Embedding → Qdrant │
│ │
│ Questions → Query Pipeline → LLM → Answers │
│ │
│ Answers → Evaluation → Metrics → Reports │
│ │
└─────────────────────────────────────────────────────────────────┘
Key Concepts
Chunking Strategies
| Strategy | Splitting | Best For |
|---|---|---|
| fixed_size | Token count | Baseline comparison |
| recursive | Structural boundaries | Structured documents |
| semantic | Similarity thresholds | Topic shifts |
| contextual_retrieval | LLM-enriched tokens | Retrieval quality |
| semantic_parent_child | Paragraph clusters | Context needed |
Evaluation Metrics
| Metric | What It Measures |
|---|---|
| Context Relevance | Did we find the right information? |
| Answer Similarity | Did we produce the right answer? |
| Faithfulness | Is the answer trustworthy? |
| Hallucination | Did we invent information? |
API Endpoints
| Endpoint | Method | Purpose |
|---|---|---|
/documents |
GET/POST | Manage documents |
/documents/{id}/process |
POST | Run chunking strategies |
/queries |
POST | Ask questions |
/benchmarks |
POST | Run comparisons |
/benchmarks/{id}/report |
GET | View results |
/experiments |
GET | List experiments |
Configuration
All settings via .env file. See Configuration Guide for details.
Key settings:
OPENAI_API_KEY- Required for embeddings and LLMCHUNK_SIZE- Target tokens per chunk (default: 512)SEMANTIC_THRESHOLD- Similarity threshold (default: 0.5)