chroma-core/chroma · error · ValueError
embedding_function must be callable or None
Error message
embedding_function must be callable or None
What it means
Error "embedding_function must be callable or None" thrown in chroma-core/chroma.
Source
Thrown at chromadb/api/types.py:1733
if v.startswith("#") and v != "#document":
raise ValueError(
"source_key cannot begin with '#'. "
"The only valid key starting with '#' is Key.DOCUMENT or '#document'."
)
return v # type: ignore[no-any-return]
@field_validator("embedding_function", mode="before")
@classmethod
def validate_embedding_function_field(cls, v: Any) -> Any:
# Use the existing validate_embedding_function for proper validation
if v is None:
return v
if callable(v):
# Use the existing validation function
validate_embedding_function(v)
return v
raise ValueError("embedding_function must be callable or None")
class SparseVectorIndexConfig(BaseModel):
"""Configuration for sparse vector index."""
model_config = {"arbitrary_types_allowed": True}
_validate_extra_fields = _create_extra_fields_validator(
[
"embedding_function",
"source_key",
"bm25",
"algorithm",
]
)
# TODO(Sanket): Change this to the appropriate sparse ef and use a default here.
embedding_function: Optional[Any] = NoneView on GitHub (pinned to aecdd12c8a)
When it happens
Trigger: Thrown at chromadb/api/types.py:1733 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of chroma-core/chroma@aecdd12c8a (2026-08-16).
Data as JSON: /api/errors/325566e63fb834e7.
Report an issue: GitHub.