# Chapter 03: Knowledge Base System - Vector Search and Semantic Retrieval The General Bots Knowledge Base (gbkb) system implements a state-of-the-art semantic search infrastructure that enables intelligent document retrieval through vector embeddings and neural information retrieval. This chapter provides comprehensive technical documentation on the architecture, implementation, and optimization of the knowledge base subsystem. ## Executive Summary The knowledge base system transforms unstructured documents into queryable semantic representations, enabling natural language understanding and context-aware information retrieval. Unlike traditional keyword-based search systems, the gbkb implementation leverages dense vector representations to capture semantic meaning, supporting cross-lingual retrieval, conceptual similarity matching, and intelligent context augmentation for language model responses. ## System Architecture Overview ### Core Components and Data Flow The knowledge base architecture implements a multi-stage pipeline for document processing and retrieval: Knowledge Base Architecture Pipeline ### Technical Specifications Technical Specifications ## Document Processing Pipeline ### Phase 1: Document Ingestion and Extraction The system implements format-specific extractors for comprehensive document support. The PDF processing component provides advanced extraction capabilities with layout preservation, including: - **Text Layer Extraction**: Direct extraction of embedded text from PDF documents - **OCR Processing**: Optical character recognition for scanned documents - **Table Detection**: Identification and extraction of tabular data - **Image Extraction**: Retrieval of embedded images and figures - **Metadata Preservation**: Author, creation date, and document properties - **Structure Detection**: Identification of sections, headings, and document hierarchy #### Supported File Formats and Parsers | Format | Parser Library | Features | Max Size | Processing Time | |--------|---------------|----------|----------|----------------| | PDF | Apache PDFBox + Tesseract | Text, OCR, Tables, Images | 500MB | ~10s/MB | | DOCX | Apache POI + python-docx | Formatted text, Styles, Comments | 100MB | ~5s/MB | | XLSX | Apache POI + openpyxl | Sheets, Formulas, Charts | 100MB | ~8s/MB | | PPTX | Apache POI + python-pptx | Slides, Notes, Shapes | 200MB | ~7s/MB | | HTML | BeautifulSoup + lxml | DOM parsing, CSS extraction | 50MB | ~3s/MB | | Markdown | CommonMark + mistune | GFM support, Tables, Code | 10MB | ~1s/MB | | Plain Text | Native UTF-8 decoder | Encoding detection | 100MB | <1s/MB | | RTF | python-rtf | Formatted text, Images | 50MB | ~4s/MB | | CSV/TSV | pandas + csv module | Tabular data, Headers | 1GB | ~2s/MB | | JSON | ujson + jsonschema | Nested structures, Validation | 100MB | ~1s/MB | | XML | lxml + xmlschema | XPath, XSLT, Validation | 100MB | ~3s/MB | ### Storage Mathematics: The Hidden Reality of Vector Databases **Important Note**: Unlike traditional databases where 1TB of documents remains roughly 1TB in storage, vector databases require significantly more space due to embedding generation, indexing, and metadata. This section reveals the true mathematics behind LLM storage requirements that big tech companies rarely discuss openly. #### The Storage Multiplication Factor Context Window Optimization Vector Database Storage Requirements: The Real Mathematics Original Documents 1 TB Total PDF: 400 GB DOCX: 250 GB XLSX: 150 GB TXT: 100 GB HTML: 50 GB Other: 50 GB Processing Vector DB Storage ~3.5 TB Required Raw Text Extracted ~800 GB (cleaned) Deduplication reduces 20% Vector Embeddings ~1.2 TB (384-dim floats) 4 bytes × 384 × ~800M chunks = 1,228 GB HNSW Index ~600 GB Graph structure + links Metadata + Positions ~400 GB Doc refs, chunks, offsets Cache + Auxiliary ~500 GB Query cache, temp indices Storage Multiplication Factor Original Documents: 1.0 TB Vector DB Total: 3.5 TB Multiplication Factor: 3.5× With redundancy/backup: Production Total: 7.0 TB (2× replica) Reality: You need 3.5-7× your document storage #### Storage Calculation Formula The actual storage requirement for a vector database can be calculated using: **Total Storage = D × (1 + E + I + M + C)** Where: - **D** = Original document size - **E** = Embedding storage factor (typically 1.2-1.5×) - **I** = Index overhead factor (typically 0.6-0.8×) - **M** = Metadata factor (typically 0.4-0.5×) - **C** = Cache/auxiliary factor (typically 0.3-0.5×) #### Real-World Storage Examples for Self-Hosted Infrastructure | Your Document Storage | Vector DB Required | With Redundancy (2×) | Recommended Local Storage | |----------------------|-------------------|---------------------|--------------------------| | 100 GB | 350 GB | 700 GB | 1 TB NVMe SSD | | 500 GB | 1.75 TB | 3.5 TB | 4 TB NVMe SSD | | 1 TB | 3.5 TB | 7 TB | 8 TB NVMe SSD | | 5 TB | 17.5 TB | 35 TB | 40 TB SSD Array | | 10 TB | 35 TB | 70 TB | 80 TB SSD Array | | 50 TB | 175 TB | 350 TB | 400 TB Storage Server | **Note**: Self-hosting your vector database gives you complete control over your data, eliminates recurring cloud costs, and ensures data sovereignty. Initial hardware investment pays for itself typically within 6-12 months compared to cloud alternatives. #### Detailed Storage Breakdown by Component Storage Multiplication Factor Storage Components per 1TB of Documents 0 GB 250 GB 500 GB 750 GB 1000 GB Original 1000 GB Extracted 800 GB Embeddings 1200 GB Index 600 GB Metadata 400 GB Cache 500 GB 3.5 TB Total #### Why This Matters: Planning Your Infrastructure **Critical Insights:** 1. **The 3.5× Rule**: For every 1TB of documents, plan for at least 3.5TB of vector database storage 2. **Memory Requirements**: Vector operations require significant RAM (typically 10-15% of index size must fit in memory) 3. **Backup Strategy**: Production systems need 2-3× redundancy, effectively making it 7-10.5× original size 4. **Growth Planning**: Vector databases don't compress well - plan storage linearly with document growth **Self-Hosted Infrastructure Example (1TB Document Collection):** | Component | Requirement | Recommended Hardware | One-Time Investment | |-----------|-------------|---------------------|-------------------| | Document Storage | 1 TB | 2 TB NVMe SSD | Quality drive for source docs | | Vector Database | 3.5 TB | 4 TB NVMe SSD | High-performance for vectors | | RAM Requirements | 256 GB | 256 GB DDR4/DDR5 | For index operations | | Backup Storage | 3.5 TB | 4 TB SATA SSD | Local backup drive | | Network | 10 Gbps | 10GbE NIC | Fast local network | | **Total Storage** | **8 TB** | **10 TB usable** | **Future-proof capacity** | **Advantages of Self-Hosting:** - **No recurring costs** after initial hardware investment - **Complete data privacy** - your data never leaves your infrastructure - **Full control** over performance tuning and optimization - **No vendor lock-in** or surprise price increases - **Faster local access** without internet latency - **Compliance-ready** for regulations requiring on-premise data The actual infrastructure needs are 7-10× larger than the original document size when accounting for all components and redundancy, but owning your hardware means predictable costs and total control. ### Phase 2: Text Preprocessing and Cleaning The preprocessing pipeline ensures consistent, high-quality text for embedding through multiple stages: 1. **Encoding Normalization** - Unicode normalization (NFD/NFC) - Encoding error correction - Character set standardization 2. **Whitespace and Formatting** - Whitespace normalization - Control character removal - Line break standardization 3. **Content Cleaning** - Boilerplate removal - Header/footer cleaning - Watermark detection and removal 4. **Language-Specific Processing** - Language detection - Language-specific rules application - Script normalization 5. **Semantic Preservation** - Named entity preservation - Acronym handling - Numeric value preservation ### Phase 3: Intelligent Chunking Strategy The chunking engine implements context-aware segmentation with semantic boundary detection: **Boundary Detection Types:** - **Paragraph Boundaries**: Natural text breaks with highest priority - **Sentence Boundaries**: Linguistic sentence detection - **Section Headers**: Document structure preservation - **List Items**: Maintaining list coherence - **Code Blocks**: Preserving code integrity ### Phase 4: Embedding Generation The system generates dense vector representations using transformer models with optimized batching: **Key Features:** - **Batch Processing**: Efficient processing of multiple chunks - **Mean Pooling**: Token embedding aggregation - **Normalization**: L2 normalization for cosine similarity - **Memory Management**: Optimized GPU/CPU utilization - **Dynamic Batching**: Adaptive batch sizes based on available memory #### Embedding Model Comparison | Model | Dimensions | Size | Speed | Quality | Memory | |-------|------------|------|-------|---------|--------| | all-MiniLM-L6-v2 | 384 | 80MB | 14,200 sent/sec | 0.631 | 290MB | | all-mpnet-base-v2 | 768 | 420MB | 2,800 sent/sec | 0.634 | 1.2GB | | multi-qa-MiniLM-L6 | 384 | 80MB | 14,200 sent/sec | 0.618 | 290MB | | paraphrase-multilingual | 768 | 1.1GB | 2,300 sent/sec | 0.628 | 2.1GB | | e5-base-v2 | 768 | 440MB | 2,700 sent/sec | 0.642 | 1.3GB | | bge-base-en | 768 | 440MB | 2,600 sent/sec | 0.644 | 1.3GB | ### Phase 5: Vector Index Construction The system builds high-performance vector indices using HNSW (Hierarchical Navigable Small World) algorithm: **HNSW Configuration:** - **M Parameter**: 16 bi-directional links per node - **ef_construction**: 200 for build-time accuracy - **ef_search**: 100 for query-time accuracy - **Metric**: Cosine similarity for semantic matching - **Threading**: Multi-threaded construction support #### Index Performance Characteristics | Documents | Index Size | Build Time | Query Latency | Recall@10 | |-----------|------------|------------|---------------|-----------| | 10K | 15MB | 30s | 5ms | 0.99 | | 100K | 150MB | 5min | 15ms | 0.98 | | 1M | 1.5GB | 50min | 35ms | 0.97 | | 10M | 15GB | 8hr | 75ms | 0.95 | ## Retrieval System Architecture ### Semantic Search Implementation The retrieval engine implements multi-stage retrieval with re-ranking: **Retrieval Pipeline:** 1. **Query Processing**: Expansion and understanding 2. **Vector Search**: HNSW approximate nearest neighbor 3. **Hybrid Search**: Combining dense and sparse retrieval 4. **Re-ranking**: Cross-encoder scoring 5. **Result Enhancement**: Metadata enrichment ### Query Processing and Expansion Sophisticated query understanding includes: - **Language Detection**: Multi-lingual query support - **Intent Recognition**: Understanding search intent - **Query Expansion**: Synonyms and related terms - **Entity Extraction**: Named entity recognition - **Spell Correction**: Typo and error correction ### Hybrid Search and Fusion Combining dense and sparse retrieval methods: **Dense Retrieval:** - Vector similarity search - Semantic matching - Concept-based retrieval **Sparse Retrieval:** - BM25 scoring - Keyword matching - Exact phrase search **Fusion Strategies:** - Reciprocal Rank Fusion (RRF) - Linear combination - Learning-to-rank models ### Re-ranking with Cross-Encoders Advanced re-ranking for improved precision: - **Cross-attention scoring**: Query-document interaction - **Contextual relevance**: Fine-grained matching - **Diversity optimization**: Result set diversification ## Context Management and Compaction ### Context Window Optimization Storage Breakdown by Component LLM Context Compression Strategies Original Context: 10,000 tokens Compression Level 4 Compressed Context: 4,096 tokens (fits LLM window) Compression Techniques (Level 4) Semantic Deduplication • Remove redundant info • Merge similar chunks • Keep unique facts Reduction: 30-40% Relevance Scoring • Score by query match • Keep top-k relevant • Drop low scores Reduction: 40-50% Hierarchical Summary • Extract key points • Create abstracts • Preserve details Reduction: 50-60% Token Optimization • Remove stopwords • Compress phrases • Use abbreviations Reduction: 20-30% ABCD → AB EFGH → EF Compression Level 4 achieves 60-75% reduction while maintaining 95%+ information retention **Compression Strategies with prompt-compact=4:** 1. **Semantic Deduplication**: Removes redundant information across chunks 2. **Relevance Scoring**: Prioritizes chunks by query relevance (threshold: 0.95) 3. **Hierarchical Summarization**: Creates multi-level abstracts 4. **Token Optimization**: Reduces token count while preserving meaning ### Dynamic Context Strategies | Strategy | Use Case | Context Efficiency | Quality | |----------|----------|-------------------|---------| | Top-K Selection | General queries | High | Good | | Diversity Sampling | Broad topics | Medium | Better | | Hierarchical | Long documents | Very High | Best | | Temporal | Time-sensitive | Medium | Good | | Entity-centric | Fact-finding | High | Excellent | ## Performance Optimization ### Caching Architecture Multi-level caching for improved performance: **Cache Levels:** 1. **Query Cache**: Recent query results 2. **Embedding Cache**: Frequently accessed vectors 3. **Document Cache**: Popular documents 4. **Index Cache**: Hot index segments **Cache Configuration:** | Cache Type | Size | TTL | Hit Rate | Latency Reduction | |------------|------|-----|----------|-------------------| | Query | 10K entries | 1hr | 35% | 95% | | Embedding | 100K vectors | 24hr | 60% | 80% | | Document | 1K docs | 6hr | 45% | 70% | | Index | 10GB | Static | 80% | 60% | ### Index Optimization Techniques **Index Sharding:** - Description: Distribute index across multiple shards - When to use: Large-scale deployments (>10M documents) - Configuration: - shard_count: 8-32 shards - shard_strategy: hash-based or range-based - replication_factor: 2-3 for availability **Quantization:** - Description: Reduce vector precision for space/speed - When to use: Memory-constrained environments - Configuration: - type: Product Quantization (PQ) - subvectors: 48-96 - bits: 8 per subvector - training_samples: 100K vectors **Hierarchical Index:** - Description: Multi-level index structure - When to use: Ultra-large collections (>100M) - Configuration: - levels: 2-3 hierarchy levels - fanout: 100-1000 per level - rerank_top_k: 100-500 candidates **GPU Acceleration:** - Description: CUDA-accelerated operations - When to use: High-throughput requirements - Configuration: - device: CUDA-capable GPU - batch_size: 256-1024 - precision: FP16 for speed, FP32 for accuracy ## Integration with LLM Systems ### Retrieval-Augmented Generation (RAG) The knowledge base seamlessly integrates with language models: **RAG Pipeline:** 1. **Query Understanding**: LLM-based query analysis 2. **Document Retrieval**: Semantic search execution 3. **Context Assembly**: Relevant passage selection 4. **Prompt Construction**: Context injection 5. **Response Generation**: LLM completion 6. **Citation Tracking**: Source attribution **RAG Configuration (from config.csv):** | Parameter | Value | Purpose | |-----------|-------|---------| | prompt-compact | 4 | Context compaction level | | llm-ctx-size | 4096 | LLM context window size | | llm-n-predict | 1024 | Maximum tokens to generate | | embedding-model | bge-small-en-v1.5 | Model for semantic embeddings | | llm-cache | false | Response caching disabled | | llm-cache-semantic | true | Semantic cache matching enabled | | llm-cache-threshold | 0.95 | Semantic similarity threshold for cache | **Note**: The actual system uses prompt compaction level 4 for efficient context management, with a 4096 token context window and generates up to 1024 tokens per response. ## Monitoring and Analytics ### Knowledge Base Metrics Real-time monitoring dashboard tracks: **Collection Statistics:** - Total documents indexed - Total chunks generated - Total embeddings created - Index size (MB/GB) - Storage utilization **Performance Metrics:** - Indexing rate (docs/sec) - Query latency (p50, p95, p99) - Embedding generation latency - Cache hit rates - Throughput (queries/sec) **Quality Metrics:** - Mean relevance scores - Recall@K measurements - Precision metrics - User feedback scores - Query success rates ### Health Monitoring | Metric | Threshold | Alert Level | Action | |--------|-----------|-------------|--------| | Query Latency p99 | >100ms | Warning | Scale replicas | | Cache Hit Rate | <30% | Info | Warm cache | | Index Fragmentation | >40% | Warning | Rebuild index | | Memory Usage | >85% | Critical | Add resources | | Error Rate | >1% | Critical | Investigate logs | ## Best Practices and Guidelines ### Document Preparation 1. Ensure documents are properly formatted 2. Remove unnecessary headers/footers before ingestion 3. Validate encoding and character sets 4. Structure documents with clear sections ### Index Maintenance 1. Regular index optimization (weekly) 2. Periodic full reindexing (monthly) 3. Monitor fragmentation levels 4. Implement gradual rollout for updates ### Query Optimization 1. Use specific, contextual queries 2. Leverage query expansion for broad searches 3. Implement query caching for common patterns 4. Monitor and analyze query logs ### System Scaling 1. Horizontal scaling with index sharding 2. Read replicas for high availability 3. Load balancing across instances 4. Implement circuit breakers for resilience ## Conclusion The General Bots Knowledge Base system provides a robust, scalable foundation for semantic search and retrieval. Through careful architectural decisions, optimization strategies, and comprehensive monitoring, the system delivers high-performance information retrieval while maintaining quality and reliability. The integration with modern LLM systems enables powerful retrieval-augmented generation capabilities, enhancing the overall intelligence and responsiveness of the bot platform. ---
General Bots