def check_consistency()

in neuron_explainer/activation_server/requests_and_responses.py [0:0]


    def check_consistency(cls, values: dict[str, Any]) -> dict[str, Any]:
        activations_by_group_id = values.get("activations_by_group_id")
        assert activations_by_group_id is not None
        node_indices = values.get("node_indices")
        assert node_indices is not None
        vocab_token_strings_for_indices = values.get("vocab_token_strings_for_indices")

        for group_id, activations in activations_by_group_id.items():
            assert len(node_indices) == len(activations), (
                f"Expected len(node_indices) == len(activations) for group_id {group_id},"
                f" but got len(node_indices)={len(node_indices)}, len(activations)={len(activations)}"
            )
            assert all(math.isfinite(activation) for activation in activations), (
                f"Expected all activations to be finite for group_id {group_id},"
                f" but got activations={activations}"
            )

        if vocab_token_strings_for_indices is not None:
            assert len(node_indices) == len(vocab_token_strings_for_indices), (
                f"Expected len(node_indices) == len(vocab_token_strings_for_indices),"
                f" but got len(node_indices)={len(node_indices)}, len(vocab_token_strings_for_indices)={len(vocab_token_strings_for_indices)}"
            )
        return values