Skip to content

feat: add LanceDB benchmark support (IVF_FLAT, IVF_PQ, IVF_HNSW_SQ)#633

Open
fightBoxing wants to merge 1 commit into
erikbern:mainfrom
fightBoxing:feature/add-lancedb-benchmark
Open

feat: add LanceDB benchmark support (IVF_FLAT, IVF_PQ, IVF_HNSW_SQ)#633
fightBoxing wants to merge 1 commit into
erikbern:mainfrom
fightBoxing:feature/add-lancedb-benchmark

Conversation

@fightBoxing

Copy link
Copy Markdown

Summary

Add LanceDB vector database benchmark support with three index types.

Changes

  • ann_benchmarks/algorithms/lancedb/module.py: LanceDB algorithm wrapper implementing the BaseANN interface with IVF_FLAT, IVF_PQ, and IVF_HNSW_SQ index types
  • ann_benchmarks/algorithms/lancedb/config.yml: Parameter grids for euclidean and angular distance metrics
  • ann_benchmarks/algorithms/lancedb/Dockerfile: Docker image based on ann-benchmarks base
  • .github/workflows/benchmarks.yml: Add lancedb to CI matrix
  • README.md: Add LanceDB to Evaluated list and Results section
  • results/random-xs-20-*.png: Benchmark result plots for both euclidean and angular datasets

Test Results

Verified on random-xs-20 datasets (2-core OpenCloudOS 8.10 machine):

Dataset HDF5 results Status
random-xs-20-euclidean 507 ✅ All 3 index types passed
random-xs-20-angular 507 ✅ All 3 index types passed

LanceDB is an embedded vector database that requires no separate server process, making integration simpler than other vector DBs (Qdrant, Milvus, etc.)

- Add LanceDB algorithm wrapper (module.py) with three index types
- Add config.yml with parameter grids for euclidean/angular metrics
- Add Dockerfile based on ann-benchmarks base image
- Add lancedb to CI workflow (benchmarks.yml)
- Add LanceDB to README Evaluated list and Results section
- Include benchmark result plots for random-xs-20 datasets
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant