A hierarchical, reasoning-native document intelligence engine.
Replace your vector database with LLM-powered tree navigation. No embeddings. No vector search. Just reasoning.
Why Vectorless?
Traditional RAG systems have a fundamental problem: they lose document structure.
When you chunk a document into vectors, you lose:
- The hierarchical relationship between sections
- The context of where information lives
- The ability to navigate based on reasoning
Vectorless takes a different approach:
It preserves your document's tree structure and uses an LLM to navigate it — just like a human would skim a table of contents, then drill into relevant sections.
Result: More accurate retrieval with zero infrastructure complexity.
How It Works
Vectorless preserves your document's hierarchical structure and uses an LLM to navigate it step by step:
- Index — Parse documents into a tree structure (chapters, sections, subsections)
- Navigate — LLM walks the tree, asking "which branch contains the answer?"
- Retrieve — Return the relevant section with its context
This mimics how humans navigate documentation: skim the TOC, drill into relevant sections.
Comparison
| Aspect | Vectorless | Traditional RAG |
|---|---|---|
| Infrastructure | Zero | Vector DB + Embedding Model |
| Setup Time | Minutes | Hours to Days |
| Reasoning | Native navigation | Similarity search only |
| Document Structure | Preserved | Lost in chunking |
| Incremental Updates | Supported | Full re-index required |
| Debugging | Traceable navigation path | Black box similarity scores |
| Best For | Structured documents | Unstructured text |
Installation
Add to your Cargo.toml:
[]
= "0.1"
Quick Start
Create a configuration file vectorless.toml in your project root:
Basic usage:
use ;
async
Examples
Document Q&A
use ;
async
Multi-Document Workspace
use ;
async
Custom Configuration
use ;
use Config;
use LlmPool;
async
Architecture
src/
├── core/ # Core types: DocumentTree, TreeNode, NodeId
├── client/ # High-level API: Vectorless, VectorlessBuilder
├── document/ # Document parsing: Markdown, PDF, TOC detection
├── indexer/ # Index building: Tree construction, thinning
├── retriever/ # Retrieval strategies: LLM navigate, beam search
├── llm/ # LLM client: Retry, fallback, concurrency
├── storage/ # Persistence: Workspace, LRU cache
├── config/ # Configuration management
└── token/ # Token estimation (tiktoken)
Key Components
- DocumentTree — Hierarchical structure preserving document organization
- TreeBuilder — Converts raw nodes to optimized tree with thinning
- LlmNavigator — LLM-powered tree traversal for retrieval
- Workspace — Persistent storage with lazy loading and LRU caching
- ConcurrencyController — Rate limiting and request throttling
Configuration
# vectorless.toml
[]
= "gpt-4o-mini"
= "https://api.openai.com/v1"
= 200
[]
= "gpt-4o"
= "llm_navigate"
= 3
[]
= 10
= 500
[]
= true
= ["gpt-4o-mini", "glm-4-flash"]
= "retry_then_fallback"
Roadmap
- Tree-based document indexing
- LLM-powered navigation
- Workspace persistence with LRU cache
- Markdown parser with TOC detection
- Rate limiting and concurrency control
- Fallback and retry logic
- DOCX parser
- Enhanced PDF with TOC extraction
- Beam search retriever
- Sled storage backend for scale
- Python bindings
Contributing
Contributions are welcome!
If you find this project useful, please consider giving it a star on GitHub — it helps others discover it and supports ongoing development.
License
Licensed under the Apache License, Version 2.0. See LICENSE for details.