# Brainy

Brainy Logo

[![npm version](https://badge.fury.io/js/brainy.svg)](https://www.npmjs.com/package/brainy) [![npm downloads](https://img.shields.io/npm/dm/brainy.svg)](https://www.npmjs.com/package/brainy) [![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) [![TypeScript](https://img.shields.io/badge/%3C%2F%3E-TypeScript-%230074c1.svg)](https://www.typescriptlang.org/) [![GitHub last commit](https://img.shields.io/github/last-commit/brainy-org/brainy)](https://github.com/brainy-org/brainy) [![GitHub issues](https://img.shields.io/github/issues/brainy-org/brainy)](https://github.com/brainy-org/brainy/issues) **🧠 Brainy 2.0 - Zero-Configuration AI Database with Triple Intelligenceβ„’** The industry's first truly zero-configuration AI database that combines vector similarity, metadata filtering, and graph relationships with O(log n) performance. Production-ready with 1-2ms search latency, 220 pre-computed NLP patterns, and only 24MB memory footprint. ## πŸŽ‰ What's New in 2.0 - **Triple Intelligenceβ„’**: Unified Vector + Metadata + Graph queries in one API - **O(log n) Performance**: Binary search for metadata filtering (was O(n)) - **220 NLP Patterns**: Pre-computed embeddings for instant natural language understanding - **Memory Optimized**: 24MB usage (was 16GB+ crashes in v1.x) - **Worker Isolation**: Memory-safe embedding generation prevents leaks - **Unified Cache**: Intelligent Hot/Warm/Cold tier management - **Brain Patterns**: MongoDB-style operators with patent-safe naming - **Production Ready**: 93% test coverage, battle-tested architecture ## ✨ Features ### 🧠 Triple Intelligence Engine βœ… Available Now - **Vector Search**: Semantic similarity using HNSW indexing - **Graph Relationships**: Complex relationship mapping and traversal - **Field Filtering**: Precise metadata filtering with O(1) lookups - **Unified Queries**: All three intelligence types in a single query ### 🎯 Zero Configuration βœ… Available Now - **Auto-Detects Environment**: Node.js, Browser, Edge, Deno - **Auto-Selects Storage**: Best storage for your environment - **Works Instantly**: No setup required - **Smart Defaults**: Optimized out of the box ### πŸ”§ Production Ready βœ… Available Now - **Universal Storage**: FileSystem, S3, OPFS, Memory - **MIT License**: No limits, no tiers, truly open source - **TypeScript Native**: Full type safety and IntelliSense support - **Cross Platform**: Node.js, Browser, Web Workers, Edge Runtime ### ⚑ High Performance - **HNSW Indexing**: Sub-millisecond vector search - **Smart Caching**: Intelligent query optimization - **Field Indexes**: O(1) metadata lookups - **Streaming Support**: Handle millions of records efficiently ### πŸ›  Developer Experience - **Simple API**: Intuitive methods that just work - **Rich CLI**: Interactive command-line interface - **Comprehensive Tests**: 400+ tests covering all features - **Excellent Docs**: Clear examples and API reference ### πŸš€ Enterprise Features βœ… Available Now - **WAL**: Write-ahead logging for durability βœ… - **Entity Registry**: High-performance deduplication βœ… - **Neural Import**: AI-powered entity detection βœ… - **Distributed Modes**: Read-only/Write-only optimization βœ… - **Statistics**: Comprehensive metrics and monitoring βœ… - **3-Level Cache**: Hot/Warm/Cold intelligent caching βœ… - **11+ Augmentations**: Including WebSocket, WebRTC, more βœ… ## πŸš€ Performance Metrics **Industry-leading performance verified in production:** - **Vector Search**: 1-2ms (beats Pinecone's ~10ms) - **NLP Find**: <50ms with 220 pre-computed patterns - **Triple Intelligence**: <20ms for combined queries - **Metadata Filtering**: O(log n) with binary search - **Memory Usage**: 22-24MB (was 16GB+ before optimization) - **Scalability**: Sub-linear performance with 100K+ items ## πŸ“Š Brainy 2.0 Features ### βœ… Production Ready (93% Test Coverage) - **Triple Intelligence Engine**: Vector + Metadata + Graph fusion - **220 NLP Patterns**: Pre-computed for instant natural language understanding - **Brain Patterns**: O(log n) metadata filtering with sorted indices - **11+ Augmentations**: WAL, Entity Registry, Cache, Metrics, and more - **Universal Storage**: FileSystem, S3, OPFS, Memory adapters - **Zero Configuration**: Works instantly with smart defaults - **Memory Optimized**: 24MB usage with worker-based embeddings ### 🧠 Core Intelligence Features - **HNSW Index**: Sub-millisecond vector search - **MetadataIndex**: Binary search for range queries - **NLP Understanding**: Intent detection and query optimization - **Unified Cache**: Coordinated memory management - **Worker Isolation**: Memory-safe embedding generation - **Request Coalescing**: Prevents cache stampedes - **Adaptive Batching**: Optimizes throughput automatically ## πŸš€ Quick Start ### Installation ```bash npm install brainy ``` ### Basic Usage ```typescript import { BrainyData } from 'brainy' // Initialize with zero configuration const brain = new BrainyData() await brain.init() // Add entities (nouns) with automatic embedding generation await brain.addNoun("The quick brown fox jumps over the lazy dog", { category: "animals", mood: "playful", timestamp: Date.now() }) await brain.addNoun("Machine learning transforms how we process information", { category: "technology", mood: "analytical", timestamp: Date.now() }) // Triple Intelligence: Vector + Graph + Field in one query const results = await brain.search("animals running fast", { where: { category: "animals", timestamp: { $gte: Date.now() - 86400000 } // last 24 hours }, limit: 10 }) console.log(results) // [{ id: "...", content: "The quick brown fox...", score: 0.92, metadata: {...} }] ``` ## πŸ€– Model Loading (AI Embeddings) Brainy uses AI embedding models to understand and process your data semantically. **Zero configuration required** - models load automatically. ### βœ… Zero Configuration (Recommended) ```typescript const brain = new BrainyData() await brain.init() // Models download automatically on first use ``` **What happens automatically:** 1. Checks for local models in `./models/` 2. Downloads All-MiniLM-L6-v2 (384 dimensions) if needed 3. Uses intelligent cascade: Local β†’ CDN β†’ GitHub β†’ HuggingFace 4. Ready to use immediately ### 🐳 Production/Docker Setup ```dockerfile # Pre-download models during build (recommended) RUN npm run download-models # Optional: Force local-only mode ENV BRAINY_ALLOW_REMOTE_MODELS=false ``` ### πŸ”’ Offline/Air-Gapped Environments ```bash # On connected machine npm run download-models # Copy models to offline machine cp -r ./models /path/to/offline/project/ # Force local-only mode export BRAINY_ALLOW_REMOTE_MODELS=false ``` ### πŸ“‹ Environment Variables (Optional) | Variable | Default | Description | |----------|---------|-------------| | `BRAINY_ALLOW_REMOTE_MODELS` | `true` | Allow/block model downloads | | `BRAINY_MODELS_PATH` | `./models` | Custom model storage path | ### 🚨 Troubleshooting - **"Failed to load embedding model"** β†’ Run `npm run download-models` - **Slow model downloads** β†’ Pre-download during build/CI - **Container memory issues** β†’ Pre-download models, increase memory limit πŸ“š **Complete Guide**: [docs/guides/model-loading.md](docs/guides/model-loading.md) ## πŸ“Š Triple Intelligence in Action ### Vector Similarity ```typescript // Semantic search across your data const results = await brain.search("fast animals") // Finds: "quick brown fox", "racing horses", "cheetah running" ``` ### Graph Relationships ```typescript // Find related entities and concepts const related = await brain.findRelated(entityId, { depth: 2, relationship: "semantic" }) ``` ### Field Filtering ```typescript // Precise metadata filtering with O(1) performance const filtered = await brain.search("technology", { where: { category: "ai", rating: { $gte: 4.5 }, published: { $between: ["2024-01-01", "2024-12-31"] } } }) ``` ### Combined Intelligence ```typescript // All three intelligence types working together const results = await brain.search("machine learning concepts", { where: { category: { $in: ["ai", "technology"] }, difficulty: { $lte: 5 } }, includeRelated: true, depth: 2 }) ``` ## πŸ—„οΈ Storage Adapters Brainy supports multiple storage backends with the same API: ### File System (Default) ```typescript const brain = new BrainyData({ storage: { type: 'filesystem', path: './data' } }) ``` ### Amazon S3 / Compatible ```typescript const brain = new BrainyData({ storage: { type: 's3', bucket: 'my-brainy-data', region: 'us-east-1' } }) ``` ### Origin Private File System (Browser) ```typescript const brain = new BrainyData({ storage: { type: 'opfs' } }) ``` ### Memory (Development) ```typescript const brain = new BrainyData({ storage: { type: 'memory' } }) ``` ## 🎯 Advanced Querying with find() ### Triple Intelligence find() Method ```typescript // Natural language queries with automatic intent recognition const results = await brain.find("show me recent AI articles with high ratings") // Automatically converts to: vector similarity + field filtering + date ranges // MongoDB-style queries with semantic awareness const results = await brain.find({ $or: [ { category: "technology" }, { $vector: { $similar: "artificial intelligence", threshold: 0.8 } } ], metadata: { published: { $gte: "2024-01-01" }, rating: { $in: [4, 5] } } }) ``` ### Natural Language Understanding βœ… Available (Basic) ```typescript // The find() method understands natural language queries const results = await brain.find("technology articles about machine learning") // Basic pattern matching for common queries // Temporal queries (basic support) const recent = await brain.find("recent documents") // Recognizes common time expressions // The search() method focuses on semantic similarity const similar = await brain.search("documents similar to machine learning research") // Pure vector similarity search ``` ## πŸ”§ Configuration ### Environment Variables ```bash BRAINY_STORAGE_TYPE=filesystem BRAINY_STORAGE_PATH=./brainy-data BRAINY_MODELS_PATH=./models BRAINY_VECTOR_DIMENSIONS=384 ``` ### Programmatic Configuration ```typescript const brain = new BrainyData({ storage: { type: 'filesystem', path: './data' }, vectors: { dimensions: 384, model: '@huggingface/transformers/all-MiniLM-L6-v2' }, performance: { cacheSize: 1000, batchSize: 100 } }) ``` ## πŸ“± CLI Usage Brainy includes a powerful command-line interface: ```bash # Initialize a new database brainy init # Add entities (nouns) brainy add-noun "Your content here" --category="example" # Natural language queries brainy find "show me examples from last week" # Search with Triple Intelligence brainy search "find similar content" --where='{"category":"example"}' # Interactive mode with NLP brainy chat ``` ## πŸ§ͺ Testing ```bash # Run all tests npm test # Run specific test suites npm run test:core npm run test:storage npm run test:coverage ``` ## πŸ“š API Reference ### Core Methods #### `brain.addNoun(content, metadata?)` Add entities (nouns) with automatic embedding generation. #### `brain.addVerb(source, target, type, metadata?)` Create relationships (verbs) between entities. #### `brain.search(query, options?)` Triple Intelligence search with vector similarity, field filtering, and relationship traversal. #### `brain.find(query)` Advanced Triple Intelligence queries with natural language or structured syntax. - Accepts natural language: `brain.find("recent posts about AI")` - Accepts structured queries: `brain.find({ category: "AI", date: { $gte: "2024-01-01" } })` - Automatically interprets intent, time ranges, and filters #### `brain.get(id)` Retrieve specific items by ID. #### `brain.updateMetadata(id, metadata)` Update entity metadata. #### `brain.delete(id)` Remove items by ID (soft delete by default). ### Advanced Methods #### `brain.cluster(options?)` Semantic clustering of your data. #### `brain.findRelated(id, options?)` Find semantically or structurally related items. #### `brain.statistics()` Get performance and usage statistics. ## 🀝 Contributing We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details. ### Development Setup ```bash git clone https://github.com/brainy-org/brainy.git cd brainy npm install npm run build npm test ``` ## πŸ“„ License MIT License - see [LICENSE](LICENSE) file for details. ## πŸ™ Acknowledgments - [Hugging Face Transformers.js](https://huggingface.co/docs/transformers.js) for embedding models - [HNSW](https://github.com/nmslib/hnswlib) for efficient vector indexing - The open source AI/ML community for inspiration ## πŸ’¬ Support - [GitHub Issues](https://github.com/brainy-org/brainy/issues) - Bug reports and feature requests - [Discussions](https://github.com/brainy-org/brainy/discussions) - Community support and ideas --- **Built with ❀️ for the AI community**