Skip to content
tanvinciblePublic

About

An embedded vector index for local semantic search.

Topics

Resources

Code of conduct

Contributing

Stars

5 stars

Watchers

0 watching

Forks

Latest commit

 

History

123 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Chassis

Chassis is an embedded vector index for local semantic search, written in Rust.

Your index is one file, and Chassis runs inside your process: no server to run, nothing to connect to. Store embeddings under your own ids, search them, and keep the rest of your data where it already lives.

pip install chassisdb   # Python 3.11+: import chassisdb
cargo add chassisdb     # Rust: use chassisdb

The C library and its header come with each release.

from chassisdb import VectorIndex

# embeddings: your model's vectors, one row per note; note_ids: the notes' ids
index = VectorIndex("notes.chassis", dimensions=768)
index.add_batch(embeddings, ids=note_ids)
index.flush()

for hit in index.search(query, k=5):
    print(hit.id, hit.distance)

An index opens in about a millisecond: only its headers are read until a search needs more. At the same recall, it searches a million 128-dimension vectors faster than hnswlib on every server CPU measured, x86 and ARM.

Capabilities

  • One file, used in-process, with no server
  • Approximate nearest-neighbor search (HNSW) by Euclidean or cosine distance
  • Filtered search, over the ids your application allows
  • Your own ids, and deletes
  • Batch builds on every core
  • Half-precision vectors, for half the file and half the memory
  • Durable flush(): after a crash, everything up to the last one is kept
  • One writer and any number of readers, in other processes too
  • Errors that say what was wrong and what to do instead
  • Rust, C and Python APIs

It is not a database server or a distributed system, and it stores vectors and ids, not metadata.

Use cases

Chassis fits an app that embeds its own data and searches it on the same machine: a desktop or command-line app, a local RAG or agent memory, a cache one process writes while others search it. Other tools fit other shapes:

  • sqlite-vec, when the data is in SQLite already and the search should be part of SQL queries.
  • LanceDB, when you want one store for vectors and their columns, with filters in the query and versions of the data.
  • A server such as pgvector or Qdrant, when many machines write to one index, or other services query it over the network.

Learn more

Status

Early, and moving fast. The latest release is v0.8.0. See CHANGELOG.md.

License

Chassis is dual licensed under:

  • Apache License 2.0
  • MIT License

You may use either license at your option.

Contributing

Contributions and design discussion are welcome. See CONTRIBUTING.md.

About

An embedded vector index for local semantic search.

Topics

Resources

Code of conduct

Contributing

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages