KnowledgeBridge / docs /SYSTEM_ARCHITECTURE.md
fazeel007's picture
initial commit
7c012de
# KnowledgeBridge - System Architecture & Flow
## 🎯 Overview
This document provides a comprehensive technical overview of the KnowledgeBridge system architecture, data flow, and AI processing pipeline.
## πŸ“Š Main Data Flow
```
User Query β†’ AI Enhancement β†’ Multi-Source Search β†’ URL Validation β†’ Results Display
```
## πŸ”„ Detailed Process Flow
### Stage 1: Input Processing & Enhancement
**Components:**
- Enhanced Search Interface (React/TypeScript)
- Input validation and sanitization
- Rate limiting middleware
**Technical Details:**
- React captures user input with real-time validation
- Optional AI query enhancement using Nebius DeepSeek models
- Express.js endpoint with comprehensive security middleware
- Request body size limits and input sanitization
### Stage 2: AI-Powered Query Enhancement
**Components:**
- Nebius AI client with DeepSeek-R1-0528 model
- Smart query analysis and improvement
- Intent recognition and keyword extraction
**Technical Details:**
- Nebius API call: `deepseek-ai/DeepSeek-R1-0528`
- Analyzes user intent and suggests improvements
- Provides enhanced query, keywords, and alternative suggestions
- Fallback to original query if enhancement fails
### Stage 3: Embedding Generation
**Components:**
- Nebius embedding service
- BAAI/bge-en-icl model for vector generation
- Mock embedding fallback for reliability
**Technical Details:**
- Primary model: `BAAI/bge-en-icl`
- Generates high-dimensional vector representations
- Fallback to deterministic mock embeddings for demos
- Semantic meaning captured in numerical vectors
### Stage 4: Multi-Source Search
**Components:**
- Local storage search (in-memory with sample data)
- GitHub repository search with advanced filtering
- Wikipedia API integration
- ArXiv academic paper search
**Technical Details:**
- **Local Search**: Keyword matching with relevance scoring
- **GitHub API**: Enhanced with author filtering and fallback strategies
- **Wikipedia API**: 3-second timeout with content validation
- **ArXiv API**: Format validation and paper existence verification
- **Parallel Processing**: Concurrent search across all sources
### Stage 5: URL Validation & Content Verification
**Components:**
- Smart URL validation system
- ArXiv paper ID format checking
- Content-based error detection
- Concurrent processing with rate limits
**Technical Details:**
- **ArXiv Validation**: Checks paper ID format (2024.12345, cs.AI/1234567)
- **Content Verification**: Detects error pages that return 200 status
- **Rate Limiting**: Configurable concurrency to prevent API abuse
- **Trusted Domains**: Fast-path for reliable sources (GitHub, Wikipedia)
### Stage 6: Document Analysis (Optional)
**Components:**
- Nebius AI with configurable output formatting
- DeepSeek-R1 model for comprehensive analysis
- Content cleanup and markdown processing
**Technical Details:**
- Analysis types: summary, classification, key_points, quality_score
- Configurable markdown vs plain text output
- DeepSeek R1 thinking tag cleanup for clean results
- Custom prompts optimized for each analysis type
### Stage 7: Results Processing & Display
**Components:**
- Result ranking and relevance scoring
- Citation management system
- Interactive UI with error boundaries
**Technical Details:**
- Relevance-based sorting with multiple factors
- Rich metadata display with type-safe rendering
- Error boundaries prevent UI crashes
- Real-time result updates and filtering
## πŸ—οΈ System Architecture
### Frontend Stack
```
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ React 18 + TypeScript β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Enhanced Search Interface β”‚ Knowledge Graph β”‚ AI β”‚
β”‚ - Unified search & AI β”‚ - D3.js visualization β”‚ Toolsβ”‚
β”‚ - Query enhancement β”‚ - Interactive nodes β”‚Panel β”‚
β”‚ - Configurable analysis β”‚ - Relationship mapping β”‚ β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ TanStack Query (Data Fetching & Caching) β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Radix UI + Tailwind CSS β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
```
### Backend Stack
```
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Express.js + Security Middleware β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Helmet.js β”‚ Rate Limiting β”‚ Input Validation β”‚CORSβ”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ API Routes Layer β”‚
β”‚ /api/search β”‚ /api/analyze-document β”‚ /api/health β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Service Layer β”‚
β”‚ Nebius Client β”‚ Modal Client β”‚ Storage Service β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
```
### AI & Processing Layer
```
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Nebius AI Platform β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ DeepSeek-R1-0528 β”‚ BAAI/bge-en-icl β”‚
β”‚ - Chat completions β”‚ - Embedding generation β”‚
β”‚ - Document analysis β”‚ - Semantic similarity β”‚
β”‚ - Query enhancement β”‚ - Vector search β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Modal Platform β”‚
β”‚ - Distributed processing β”‚ - Scalable compute β”‚
β”‚ - Batch operations β”‚ - Resource management β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
```
## πŸ”’ Security Architecture
### Input Protection
```
Request β†’ Rate Limiter β†’ Helmet.js β†’ Input Validator β†’ API Route
↓ ↓ ↓ ↓ ↓
100/15min CSP Headers Body Size Zod Schema Business Logic
10/min* XSS Protection 10MB Limit Type Safety Error Handling
* Sensitive endpoints
```
### Error Handling Chain
```
React Error Boundary β†’ API Error Handler β†’ Service Error Handler
↓ ↓ ↓
UI Graceful Fallback HTTP Status Codes Logging & Recovery
```
## πŸš€ Performance Characteristics
### Response Times
| Operation | Average Time | Details |
|-----------|-------------|---------|
| Local Search | <100ms | In-memory keyword matching |
| URL Validation | 1-3s per URL | Concurrent processing |
| Document Analysis | 3-5s | AI model processing time |
| Embedding Generation | 500ms-1s | Nebius API call |
| Query Enhancement | 1-2s | DeepSeek model inference |
### Scalability Features
- **Horizontal Scaling**: Modal platform for distributed processing
- **Rate Limiting**: Prevents API abuse and ensures fair usage
- **Caching**: TanStack Query for client-side data caching
- **Error Recovery**: Graceful degradation when services are unavailable
- **Load Distribution**: Concurrent processing of multiple requests
## πŸ”§ Data Flow Patterns
### Search Request Flow
```mermaid
graph TD
A[User Query] --> B[Rate Limiter]
B --> C[Input Validation]
C --> D[AI Enhancement?]
D -->|Yes| E[Nebius Query Enhancement]
D -->|No| F[Direct Search]
E --> F[Multi-Source Search]
F --> G[Local Storage]
F --> H[GitHub API]
F --> I[Wikipedia API]
F --> J[ArXiv API]
G --> K[URL Validation]
H --> K
I --> K
J --> K
K --> L[Results Ranking]
L --> M[Response Formatting]
M --> N[Client Display]
```
### Document Analysis Flow
```mermaid
graph TD
A[Document Content] --> B[Content Validation]
B --> C[Analysis Type Selection]
C --> D[Nebius DeepSeek API]
D --> E[Response Processing]
E --> F[Format Selection]
F -->|Markdown| G[Rich Formatting]
F -->|Plain Text| H[Clean Text Output]
G --> I[Client Display]
H --> I
```
## πŸ› οΈ Technology Integration Points
### External API Integration
- **Nebius AI**: Primary AI service for all language model tasks
- **Modal**: Distributed processing and compute scaling
- **GitHub API**: Repository search with authentication
- **Wikipedia API**: Authoritative content with caching
- **ArXiv API**: Academic paper search with validation
### Internal Service Communication
- **REST APIs**: Standard HTTP/JSON for client-server communication
- **Event-Driven**: React state management for UI updates
- **Error Propagation**: Structured error handling across all layers
- **Type Safety**: TypeScript contracts for all service boundaries
## πŸ“Š Quality Assurance
### Code Quality
- **TypeScript**: 100% type coverage across frontend and backend
- **Input Validation**: Zod schemas for all API endpoints
- **Error Boundaries**: React error boundaries prevent UI crashes
- **Security Middleware**: Comprehensive protection against common attacks
### Testing Strategy
- **Type Checking**: Continuous TypeScript compilation validation
- **API Testing**: Health checks and endpoint validation
- **Error Testing**: Graceful handling of service failures
- **Performance Testing**: Response time monitoring and optimization
This architecture provides a robust, scalable, and secure foundation for AI-powered knowledge discovery with comprehensive error handling and performance optimization.