Chroma

Embedded open-source vector database using HNSW with squared L2 distance on a single node.

Provider
default
Category
Data
Properties · 6 set by this component
propertytypevaluesrequiredkind defaultthis component
deployment · component propertyenumsingle-node | distributed | cloudnosingle-nodeinherited
dimensionsinteger—no—inherited
distanceMetricenumcosine | euclidean | dot-productno—▸ euclidean
efConstruction · component propertyinteger—no100inherited
hybridSearchboolean—nofalse▸ true
indexTypeenumflat | hnsw | ivf | disk-ann | lshno—▸ hnsw
managedboolean—nofalse▸ false
maxNeighbors · component propertyinteger—no16inherited
metadataFilteringboolean—nofalse▸ true
namespacesboolean—nofalseinherited
quantizationenumnone | scalar | product | binarynonone▸ none
replicasinteger—no—inherited
space · component propertyenuml2 | cosine | ipnol2inherited
Rules that apply · 0

Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.

No rule reads this kind yet. That is a gap, not a guarantee.
Use it in a design
nodes:
  - { id: "chroma", component: "chroma" }
Other Vector database products · 23
Source
# yaml-language-server: $schema=../../schema/component.schema.json
# Chroma: Apache-2.0 embedded vector database. "Configuring Chroma collections": the default space is
# squared L2, single-node uses an HNSW index with ef_construction 100 and max_neighbors 16 while the
# distributed and Cloud deployments use SPANN. "Introduction": metadata filtering and full-text search.
schemaVersion: "1"
type: "component"
id: "chroma"
kind: "vector-database"
provider: "default"
docs: "https://docs.trychroma.com/docs/collections/configure"
defaults:
  indexType: "hnsw"
  distanceMetric: "euclidean"
  quantization: "none"
  metadataFiltering: true
  hybridSearch: true
  managed: false
properties:
  deployment:
    type: "enum"
    values: ["single-node", "distributed", "cloud"]
    default: "single-node"
  space:
    type: "enum"
    values: ["l2", "cosine", "ip"]
    default: "l2"
  efConstruction:
    type: "integer"
    default: 100
  maxNeighbors:
    type: "integer"
    default: 16

The same page as markdown, for an agent: /catalogue/components/chroma.md