chroma-core/chroma · error · ValueError

GroupBy requires 'keys' field

Error message

GroupBy requires 'keys' field

What it means

Error "GroupBy requires 'keys' field" thrown in chroma-core/chroma.

Source

Thrown at chromadb/execution/expression/operator.py:1518

    @staticmethod
    def from_dict(data: Dict[str, Any]) -> "GroupBy":
        """Create GroupBy from dictionary.

        Examples:
        - {} -> GroupBy() (default, no grouping)
        - {"keys": ["category"], "aggregate": {"$min_k": {"keys": ["#score"], "k": 3}}}
        """
        if not isinstance(data, dict):
            raise TypeError(f"Expected dict for GroupBy, got {type(data).__name__}")

        # Empty dict returns default GroupBy (no grouping)
        if not data:
            return GroupBy()

        # Non-empty dict requires keys and aggregate
        if "keys" not in data:
            raise ValueError("GroupBy requires 'keys' field")
        if "aggregate" not in data:
            raise ValueError("GroupBy requires 'aggregate' field")

        keys = data["keys"]
        if not isinstance(keys, (list, tuple)):
            raise TypeError(f"GroupBy keys must be a list, got {type(keys).__name__}")
        if not keys:
            raise ValueError("GroupBy keys cannot be empty")

        aggregate_data = data["aggregate"]
        if not isinstance(aggregate_data, dict):
            raise TypeError(
                f"GroupBy aggregate must be a dict, got {type(aggregate_data).__name__}"
            )
        aggregate = Aggregate.from_dict(aggregate_data)

        return GroupBy(keys=_strings_to_keys(keys), aggregate=aggregate)

View on GitHub (pinned to aecdd12c8a)

When it happens

Trigger: Thrown at chromadb/execution/expression/operator.py:1518 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/cf82b4d8d26f0bbb. Report an issue: GitHub.