Lancelot: Ruby Bindings for Lance with Hybrid Search
Lancelot provides Ruby-native bindings to Lance, a modern columnar data format designed for ML workloads. Think Apache Parquet meets vector database - perfect for storing and searching embeddings, text, and structured data all in one place.
What’s new in v0.3.1:
Hybrid search with Reciprocal Rank Fusion (RRF) - combine semantic vector search with keyword text search in a single query for better results.
Key features:
- Vector search (ANN) with index support
- Full-text search with BM25 scoring
- Hybrid search combining both modalities
- Ruby-idiomatic API with Enumerable support
- Efficient columnar storage with memory-mapped I/O
Perfect for RAG applications, semantic search, recommendation systems, and ML feature stores - without PostgreSQL extensions or external vector databases.
Links:
This is an early release - feedback welcome! If you’re working with embeddings or need efficient multimodal search in Ruby, give it a try.
Post a comment