Capability · Framework — rag

LanceDB

LanceDB stores vectors and metadata in the Lance columnar format directly on disk or object storage. There is no server to run: you open a database path and get ANN search, filtering, versioning, and time-travel. It shines for edge, notebook, and serverless RAG deployments.

Framework facts

Category
rag
Language
Rust / Python / TypeScript
License
Apache-2.0
Repository
https://github.com/lancedb/lancedb

Install

pip install lancedb
# or
npm install @lancedb/lancedb

Quickstart

import lancedb

db = lancedb.connect('./data/lance')
tbl = db.create_table('docs', data=[{'vector': [0.1]*1536, 'text': 'hi'}])
hits = tbl.search([0.1]*1536).limit(3).to_list()

Alternatives

  • Chroma — another embedded Python DB
  • SQLite + sqlite-vss — lighter weight
  • DuckDB + vss extension
  • Milvus Lite — embedded flavour of Milvus

Frequently asked questions

When is LanceDB better than Qdrant or Milvus?

When you want zero ops, local-first development, or S3-backed storage without running a server. For high-QPS multi-tenant production, a dedicated service is usually better.

Does LanceDB support full-text search?

Yes. Tantivy-backed BM25 search lives alongside vector ANN, so you can do hybrid retrieval in a single query.

Sources

  1. LanceDB — GitHub — accessed 2026-04-20
  2. LanceDB — docs — accessed 2026-04-20