🎯 Complete transformation from 5.9GB bloated system to 70MB optimized solution ✨ Key Features: - Hybrid embedding system (Ollama + ML fallback + hash backup) - Intelligent chunking with language-aware parsing - Semantic + BM25 hybrid search with rich context - Zero-config portable design with graceful degradation - Beautiful TUI for beginners + powerful CLI for experts - Comprehensive documentation with 8+ Mermaid diagrams - Professional animated demo (183KB optimized GIF) 🏗️ Architecture Highlights: - LanceDB vector storage with streaming indexing - Smart file tracking (size/mtime) to avoid expensive rehashing - Progressive chunking: Markdown headers → Python functions → fixed-size - Quality filtering: 200+ chars, 20+ words, 30% alphanumeric content - Concurrent batch processing with error recovery 📦 Package Contents: - Core engine: claude_rag/ (11 modules, 2,847 lines) - Entry points: rag-mini (unified), rag-tui (beginner interface) - Documentation: README + 6 guides with visual diagrams - Assets: 3D icon, optimized demo GIF, recording tools - Tests: 8 comprehensive integration and validation tests - Examples: Usage patterns, config templates, dependency analysis 🎥 Demo System: - Scripted demonstration showing 12 files → 58 chunks indexing - Semantic search with multi-line result previews - Complete workflow from TUI startup to CLI mastery - Professional recording pipeline with asciinema + GIF conversion 🛡️ Security & Quality: - Complete .gitignore with personal data protection - Dependency optimization (removed python-dotenv) - Code quality validation and educational test suite - Agent-reviewed architecture and documentation Ready for production use - copy folder, run ./rag-mini, start searching\!
35 lines
1.7 KiB
XML
35 lines
1.7 KiB
XML
<svg width="128" height="128" viewBox="0 0 128 128" xmlns="http://www.w3.org/2000/svg">
|
|
<!-- Background circle -->
|
|
<circle cx="64" cy="64" r="60" fill="#e3f2fd" stroke="#1976d2" stroke-width="4"/>
|
|
|
|
<!-- Search magnifying glass -->
|
|
<circle cx="48" cy="48" r="18" fill="none" stroke="#1976d2" stroke-width="4"/>
|
|
<line x1="62" y1="62" x2="76" y2="76" stroke="#1976d2" stroke-width="4" stroke-linecap="round"/>
|
|
|
|
<!-- Code brackets -->
|
|
<path d="M20 35 L10 45 L20 55" fill="none" stroke="#4caf50" stroke-width="3" stroke-linecap="round"/>
|
|
<path d="M108 35 L118 45 L108 55" fill="none" stroke="#4caf50" stroke-width="3" stroke-linecap="round"/>
|
|
|
|
<!-- Neural network dots -->
|
|
<circle cx="85" cy="25" r="3" fill="#ff9800"/>
|
|
<circle cx="100" cy="35" r="3" fill="#ff9800"/>
|
|
<circle cx="90" cy="45" r="3" fill="#ff9800"/>
|
|
<circle cx="105" cy="55" r="3" fill="#ff9800"/>
|
|
|
|
<!-- Connection lines -->
|
|
<line x1="85" y1="25" x2="100" y2="35" stroke="#ff9800" stroke-width="2" opacity="0.7"/>
|
|
<line x1="100" y1="35" x2="90" y2="45" stroke="#ff9800" stroke-width="2" opacity="0.7"/>
|
|
<line x1="90" y1="45" x2="105" y2="55" stroke="#ff9800" stroke-width="2" opacity="0.7"/>
|
|
|
|
<!-- Text elements -->
|
|
<rect x="15" y="75" width="25" height="3" fill="#666" rx="1"/>
|
|
<rect x="15" y="82" width="35" height="3" fill="#666" rx="1"/>
|
|
<rect x="15" y="89" width="20" height="3" fill="#666" rx="1"/>
|
|
|
|
<rect x="60" y="85" width="30" height="3" fill="#2196f3" rx="1"/>
|
|
<rect x="60" y="92" width="25" height="3" fill="#2196f3" rx="1"/>
|
|
<rect x="60" y="99" width="35" height="3" fill="#2196f3" rx="1"/>
|
|
|
|
<!-- "RAG" text -->
|
|
<text x="64" y="118" text-anchor="middle" font-family="Arial, sans-serif" font-size="14" font-weight="bold" fill="#1976d2">RAG</text>
|
|
</svg> |