Skip to content

chroma

hms-import chroma (--path DIR | --host HOST [--port N --ssl]) [--collection NAME ...]

Reads every collection (or the named ones) through the real chromadb client, paged with get(limit, offset): ids, documents, metadata, stored embeddings and URIs.

Chroma HMS
id hms_source_id; document id is <collection>::<id> (namespace prefix, see --id-prefix-namespace)
collection namespace (hms_namespace)
document text
embedding vector (carried by default)
metadata metadata, verbatim; a URI is kept as chroma_uri
timestamps Chroma stores none; --created-at-key / --updated-at-key copy a metadata key into hms_created_at / hms_updated_at (the key also stays in metadata)

Credentials: server token from $CHROMA_API_KEY (sent as X-Chroma-Token), never logged. --chroma-tenant / --chroma-database select the Chroma tenant and database.

Resume: not seekable (Chroma offsets follow insertion order but are not a keyset); the pipeline re-reads the committed prefix and checks its hash.

Verification: real local PersistentClient instance (round trip, namespaces, timestamps, resume). The HTTP server path uses the same client calls but was not run against a live Chroma server.