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