diff --git a/README.md b/README.md index 70a923e..b6e6d2b 100755 --- a/README.md +++ b/README.md @@ -70,10 +70,11 @@ uv sync from leann.api import LeannBuilder, LeannSearcher # 1. Build index (no embeddings stored!) -builder = LeannBuilder(backend_name="diskann") +builder = LeannBuilder(backend_name="hnsw") builder.add_text("Python is a powerful programming language") builder.add_text("Machine learning transforms industries") builder.add_text("Neural networks process complex data") +builder.add_text("Leann is a great storage saving engine for RAG on your macbook") builder.build_index("knowledge.leann") # 2. Search with real-time embeddings @@ -320,24 +321,18 @@ python examples/compare_faiss_vs_leann.py | Metric | Faiss HNSW | LEANN HNSW | **Improvement** | |--------|------------|-------------|-----------------| -| **Peak Memory** | 887.0 MB | 618.2 MB | **1.4x less** (268.8 MB saved) | | **Storage Size** | 5.5 MB | 0.5 MB | **11.4x smaller** (5.0 MB saved) | #### 📈 Key Takeaways -- **🧠 Memory Efficiency**: LEANN uses **30% less memory** during index building and querying + - **💾 Storage Optimization**: LEANN requires **91% less storage** for the same dataset -- **🔄 On-demand Computing**: Storage savings come from computing embeddings at query time instead of pre-storing them -- **⚖️ Fair Comparison**: Both systems tested on identical hardware with the same 2,573 document dataset + +- **⚖️ Fair Comparison**: Both systems tested on identical hardware with the same 2,573 document dataset and the same embedding model and chunk method > **Note**: Results may vary based on dataset size, hardware configuration, and query patterns. The comparison excludes text storage to focus purely on index structures. -### Run the comparison - -```bash -python examples/compare_faiss_vs_leann.py -``` *Benchmark results obtained on Apple Silicon with consistent environmental conditions* @@ -376,13 +371,13 @@ The script will print the recall and search time for each query, followed by the ### Storage Usage Comparison -| System | DPR(2.1M docs) | RPJ-wiki(60M docs) | Chat history() | +| System | DPR(2.1M docs) | RPJ-wiki(60M docs) | Chat history(5K messages) | | --------------------- | ---------------- | ---------------- | ---------------- | -| Traditional Vector DB | 3.8 GB | 201 GB | TBD | -| **LEANN** | **324 MB** | **6 GB** | **TBD** | -| **Reduction** | **91% smaller** | **97% smaller** | **TBD** | +| Traditional Vector DB | 3.8 GB | 201 GB | **22.8 MB** | +| **LEANN** | **324 MB** | **6 GB** | **0.78 MB** | +| **Reduction** | **91% smaller** | **97% smaller** | **97% smaller** | -### Memory Usage Comparison + *Benchmarks run on Apple M3 Pro 36 GB* @@ -406,14 +401,6 @@ The script will print the recall and search time for each query, followed by the LEANN Architecture

- -### Key Components - -1. **🧠 Embedding Engine**: Real-time transformer inference with caching -2. **📊 Graph Index**: Memory-efficient navigation structures -3. **🔄 Search Coordinator**: Orchestrates embedding + graph search -4. **⚡ Backend Adapters**: Pluggable algorithm implementations - ## 🔬 Paper If you find Leann useful, please cite: