in aidial_adapter_vertexai/utils/json.py [0:0]
def _truncate_lists(obj: Any, limit: int) -> Any:
def rec(val):
return _truncate_lists(val, limit)
if isinstance(obj, dict):
return {key: rec(value) for key, value in obj.items()}
if isinstance(obj, list):
if len(obj) > limit:
skip = len(obj) - limit
obj = (
obj[: limit // 2]
+ [f"...({skip:_} skipped)..."]
+ obj[-limit // 2 :]
)
return [rec(element) for element in obj]
if isinstance(obj, tuple):
return tuple(rec(element) for element in obj)
return obj