Skip to main content

In-memory vector store with cosine similarity search

Project description

philiprehberger-embedding-store

In-memory vector store with cosine similarity search.

Install

pip install philiprehberger-embedding-store

Usage

from philiprehberger_embedding_store import VectorStore

store = VectorStore(dimensions=1536)

# Add vectors with metadata
store.add("doc1", embedding=[0.1, 0.2, ...], metadata={"title": "First doc"})
store.add("doc2", embedding=[0.3, 0.1, ...], metadata={"title": "Second doc"})

# Search by similarity
results = store.search(query_embedding=[0.15, 0.18, ...], top_k=5)
for result in results:
    print(f"{result.id}: score={result.score:.3f}, {result.metadata}")

# Filter by metadata
results = store.search(query, top_k=10, filter=lambda m: m["category"] == "tech")

# Minimum score threshold
results = store.search(query, min_score=0.7)

# Persistence
store.save("vectors.json")
loaded = VectorStore.load("vectors.json")

# Batch operations
store.add_many([("id1", emb1, meta1), ("id2", emb2, meta2)])

API

Method Description
add(id, embedding, metadata?) Add a vector
add_many(items) Batch add
search(query, top_k?, metric?, filter?, min_score?) Similarity search
get(id) Get entry by ID
delete(id) Delete entry
update_metadata(id, metadata) Update metadata
save(path) Save to JSON
VectorStore.load(path) Load from JSON
clear() Remove all entries
ids() List all IDs
len(store) Number of entries
id in store Check if ID exists
store.size Number of entries (property)

Distance Metrics

  • "cosine" (default) — cosine similarity
  • "dot" — dot product

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

philiprehberger_embedding_store-0.2.0.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file philiprehberger_embedding_store-0.2.0.tar.gz.

File metadata

File hashes

Hashes for philiprehberger_embedding_store-0.2.0.tar.gz
Algorithm Hash digest
SHA256 9bce5da1bd8c26c75f46c925957e82d40f1554ac3f410d0da7de71d941a7bb22
MD5 78852f20cf01e653422b34d1156a1888
BLAKE2b-256 3bee3d0f4c374a1706ed294c7722c62bf4fe01997bd518c804be2ebb26558d97

See more details on using hashes here.

File details

Details for the file philiprehberger_embedding_store-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for philiprehberger_embedding_store-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 af6af8342df83d14d1f3a6069d900a3dd7caf7f2c1dc01391c0ee7114ecb3d27
MD5 f9c372ef2a6b4cd0556170cd4233ca16
BLAKE2b-256 9260e9b6f5a4302c9aa520afeee2839c3dbc0f3b21ca439b2302fe3f94fc4811

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page