chroma-core/chroma · error · TypeError

Expected dict for GroupBy, got {type(data).__name__}

Error message

Expected dict for GroupBy, got {type(data).__name__}

What it means

Error "Expected dict for GroupBy, got {type(data).__name__}" thrown in chroma-core/chroma.

Source

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

    def to_dict(self) -> Dict[str, Any]:
        """Convert the GroupBy to a dictionary for JSON serialization"""
        # Default GroupBy (no keys, no aggregate) serializes to {}
        if not self.keys or self.aggregate is None:
            return {}
        result: Dict[str, Any] = {"keys": _keys_to_strings(self.keys)}
        result["aggregate"] = self.aggregate.to_dict()
        return result

    @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"]

View on GitHub (pinned to aecdd12c8a)

When it happens

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