Skip to main content

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.
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:
Or directly:
Any
The embedding function class to register.

register_sparse_embedding_function

Register a custom sparse embedding function. Can be used as a decorator:
Any

Types

Embedding

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

SparseVector

Sparse vector using parallel indices and values arrays. Properties
List[int]
List[float]
Optional[IDs]
Methods __init__(), from_dict(), to_dict()