Embedding Functions

no

Original Documentation

Documentation Index#

Fetch the complete documentation index at: https://docs.trychroma.com/llms.txt Use this file to discover all available pages before exploring further.

Embedding Function Base Classes#

EmbeddingFunction#

Protocol for embedding functions.

To implement a new embedding function, you need to implement the following methods:

  • init
  • call
  • name
  • build_from_config
  • get_config

Additionally, you should register the embedding function so it will automatically be used by the Chroma client.

@register_embedding_function
class MyEmbeddingFunction(EmbeddingFunction[Documents]):
    ...

Methods

__init__(), build_from_config(), default_space(), embed_query(), embed_with_retries(), get_config(), is_legacy(), name(), supported_spaces(), validate_config(), validate_config_update()

SparseEmbeddingFunction#

Protocol for sparse embedding functions.

To implement a new sparse embedding function, you need to implement the following methods:

  • call
  • init
  • name
  • build_from_config
  • get_config

Methods

__init__(), build_from_config(), embed_query(), embed_with_retries(), get_config(), name(), validate_config(), validate_config_update()


Registration#

register_embedding_function#

Register a custom embedding function.

Can be used as a decorator:

@register_embedding_function
class MyEmbedding(EmbeddingFunction):
    @classmethod
    def name(cls): return "my_embedding"

Or directly:

register_embedding_function(MyEmbedding)
The embedding function class to register.

register_sparse_embedding_function#

Register a custom sparse embedding function.

Can be used as a decorator:

@register_sparse_embedding_function
class MySparseEmbeddingFunction(SparseEmbeddingFunction):
    @classmethod
    def name(cls): return "my_sparse_embedding"

Types#

Embedding#

Embedding[Tuple[Any, Ellipsis], dtype[Union[int32, float32]]]

SparseVector#

Sparse vector using parallel indices and values arrays.

Properties

Methods

__init__(), from_dict(), to_dict()

Link last verified June 7, 2026. View original ↗
Source: Chroma Docs
Link last verified: 2026-03-04