The ChromaHandshake
class provides seamless integration between Chonkie’s chunking system and ChromaDB, a popular vector database.
Embed and store your Chonkie chunks in ChromaDB without ever leaving the Chonkie SDK.
Installation
Before using the Chroma handshake, make sure to install the required dependencies:
pip install chonkie[chroma]
Basic Usage
Initialization
from chonkie import ChromaHandshake
# Initialize with default settings (in-memory ChromaDB)
handshake = ChromaHandshake()
# Or specify a persistent storage path
handshake = ChromaHandshake(path="./chroma_db")
# Or use an existing Chroma client
import chromadb
client = chromadb.Client()
handshake = ChromaHandshake(client=client, collection_name="my_collection")
Writing Chunks to ChromaDB
from chonkie import ChromaHandshake, SemanticChunker
handshake = ChromaHandshake() # Initializes a new Chroma client
chunker = SemanticChunker()
chunks = chunker("Chonkie is the best chonker ever!")
handshake.write(chunks)
Parameters
client
Optional[chromadb.Client]
default:"None"
Chroma client instance. If not provided, a new client will be created.
collection_name
Union[str, Literal['random']]
default:"random"
Name of the collection to use. If “random”, a random name will be generated.
embedding_model
Union[str, BaseEmbeddings]
default:"minishlab/potion-retrieval-32M"
path
Optional[str]
default:"None"
If provided, creates a persistent Chroma client at the specified path.