def generate_type_hint_error_message(param_name: str, param_hint: Any, exception: Exception) -> str:
    """
    Generate an informative error message for unsupported parameter types, especially for Lists, Tuples, and Dicts.

    Args:
        param_name: The name of the parameter with the type hint issue.
        param_hint: The unsupported type hint.
        exception: The original exception raised.

    Returns:
        str: A detailed error message guiding the user on how to resolve the issue.
    """

    if hasattr(param_hint, "__origin__"):
        origin = param_hint.__origin__
        if origin == list:
            return (
                f"Error in parameter '{param_name}': List type requires a specific element type. "
                f"Please define the internal type for the list, e.g., List[int]. Original error: {exception}"
            )
        elif origin == tuple:
            return (
                f"Error in parameter '{param_name}': Tuple type requires specific element types. "
                f"Please define the types for the tuple elements, e.g., Tuple[int, str]. Original error: {exception}"
            )
        elif origin == dict:
            return (
                f"Error in parameter '{param_name}': Dict type requires both key and value types. "
                f"Please define the internal types for the dict, e.g., Dict[str, int]. Original error: {exception}"
            )
    return (
        f"Error in parameter '{param_name}': type {param_hint} is not supported. "
        f"Original error: {exception}"
    )

    Generate an informative error message for unsupported parameter types, especially for Lists, Tuples, and Dicts.

    Args:
        param_name: The name of the parameter with the type hint issue.
        param_hint: The unsupported type hint.
        exception: The original exception raised.

    Returns:
        str: A detailed error message guiding the user on how to resolve the issue.
    
ai/core/src/unitycatalog/ai/core/utils/callable_utils.py