Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: sqliteai/sqlite-vector
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: sqliteai/sqlite-vector
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: ivf
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 1 commit
  • 5 files changed
  • 2 contributors

Commits on Feb 22, 2026

  1. feat(ivf): add IVF index with memory-capped preload

    Implement IVF (Inverted File) indexing for approximate nearest neighbor
    search. Vectors are partitioned into clusters via k-means, and queries
    probe only the nearest clusters for a configurable speed/recall tradeoff.
    
    Key additions:
    - vector_ivf_build: k-means clustering with nlist/nprobe/max_memory opts
    - vector_ivf_preload: loads clusters into memory within a budget (default
      100MB), non-preloaded clusters fall back to disk at query time
    - vector_ivf_scan: hybrid top-k and streaming search across preloaded
      (memory) and non-preloaded (disk) clusters
    - vector_ivf_cleanup: frees memory and drops shadow table
    - Supports F32, F16, BF16, I8, U8 vector types
    - Metadata (nlist, nprobe, max_memory) persisted via sqlite_serialize
    
    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
    marcobambini and claude committed Feb 22, 2026
    Configuration menu
    Copy the full SHA
    96c7606 View commit details
    Browse the repository at this point in the history
Loading