Files
AI/참고/guardrails-main/guardrails/utils/safe_get.py

33 lines
882 B
Python
Raw Normal View History

2026-05-12 19:40:31 +09:00
from typing import Any, Dict, List, Optional, Tuple, Union
from guardrails.logger import logger
def safe_get_with_brackets(
container: Union[str, List[Any], Any], key: Any, default: Optional[Any] = None
) -> Any:
try:
value = container[key]
if value is None:
return default
return value
except Exception as e:
logger.debug(
f"""
Failed to get value for key: {key} out of container: {container}.
Reason: {e}
Fallbacking to default value...
"""
)
return default
def safe_get(
container: Union[str, List[Any], Dict[Any, Any], Tuple],
key: Any,
default: Optional[Any] = None,
) -> Any:
if isinstance(container, dict):
return container.get(key, default)
else:
return safe_get_with_brackets(container, key, default)