A chromadb embeddings plugin for OVOS
Project description
ChromaEmbeddingsDB Plugin
Overview
The ChromaEmbeddingsDB
plugin integrates with the ChromaDB database to provide a robust solution for managing and querying embeddings. This plugin extends the abstract EmbeddingsDB
class, allowing you to store, retrieve, and query embeddings efficiently using ChromaDB’s capabilities.
This plugin is meant to be used by other specialized plugins such as:
- https://github.com/TigreGotico/ovos-face-embeddings-plugin
- https://github.com/TigreGotico/ovos-voice-embeddings-plugin
- https://github.com/TigreGotico/ovos-gguf-embeddings-plugin
Features
- Add Embeddings: Store embeddings with associated keys.
- Retrieve Embeddings: Fetch embeddings by their keys.
- Delete Embeddings: Remove embeddings by their keys.
- Query Embeddings: Find the closest embeddings to a given query, with support for cosine distance.
Example
Here is a full example demonstrating the basic usage of ChromaEmbeddingsDB
.
import numpy as np
from chroma_embeddings_db import ChromaEmbeddingsDB
# Initialize the database
db = ChromaEmbeddingsDB(path="path_to_chromadb_storage")
# Add embeddings
embedding1 = np.array([0.1, 0.2, 0.3])
embedding2 = np.array([0.4, 0.5, 0.6])
db.add_embeddings("user1", embedding1)
db.add_embeddings("user2", embedding2)
# Retrieve and print embeddings
print(db.get_embedding("user1"))
print(db.get_embedding("user2"))
# Query embeddings
query_embedding = np.array([0.2, 0.3, 0.4])
results = db.query(query_embedding, top_k=2)
print(results)
# Delete an embedding
db.delete_embedding("user1")
Ensure that the path provided to the
ChromaEmbeddingsDB
constructor is accessible and writable.
Acknowledgements
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ovos-chromadb-embeddings-plugin-0.0.0.tar.gz
.
File metadata
- Download URL: ovos-chromadb-embeddings-plugin-0.0.0.tar.gz
- Upload date:
- Size: 4.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1fbc58a17071e9d62751751189b3310932ccf3c271fc1773ccf098aeba837cb9 |
|
MD5 | 2a0b97c7d855ffce226aa5ea27490a36 |
|
BLAKE2b-256 | 451e0fdaa673c39a5c8835ba4b74bf1a7dae53b7ccae9bff3bcff4584256aff4 |
File details
Details for the file ovos_chromadb_embeddings_plugin-0.0.0-py3-none-any.whl
.
File metadata
- Download URL: ovos_chromadb_embeddings_plugin-0.0.0-py3-none-any.whl
- Upload date:
- Size: 4.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 210ed1ec21674db02de954390ad0fe6c1512e88abfd6fbb9e248e3cb92ca32b4 |
|
MD5 | 88daaec54320b1a139e957fd56a219b1 |
|
BLAKE2b-256 | 3a5bc2836b0962f174ed98a757c54844a3d81b69e8f7993b5dba2ea670af1f1f |