code: def get_key(config: Dict[str, Any]) -> str:
      """Get a unique identifier of a configuration.
  
      Args:
          config (dict or list): A configuration.
  
      Returns:
          tuple: A unique identifier which can be used as a key for a dict.
      """
      copied = False
      for key in NON_CACHE_KEY:
          if key in config:
              config, copied = (
                  config.copy() if not copied else config,
                  True,
              )
              config.pop(key)
      # if isinstance(config, dict):
      #     return tuple(get_key(x) for x in sorted(config.items()))
      # if isinstance(config, list):
      #     return tuple(get_key(x) for x in config)
      # return config
      return json.dumps(config, sort_keys=True)
  
file_path: autogen/autogen/oai/openai_utils.py
imports: import json
  import logging
  import os
  import tempfile
  from pathlib import Path
  from typing import Any, Dict, List, Optional, Set, Union
  from dotenv import find_dotenv, load_dotenv
label_desc: Use image node_id 1 for calling a global function with example usage: get_key(config) and returns: json