code: def find_unavailable_packages(package_names: List[Text]) -> Set[Text]:
      """Tries to import all package names and returns the packages where it failed.
  
      Args:
          package_names: The package names to import.
  
      Returns:
          Package names that could not be imported.
      """
      import importlib
  
      failed_imports = set()
      for package in package_names:
          try:
              importlib.import_module(package)
          except ImportError:
              failed_imports.add(package)
  
      return failed_imports
  
imports: import copy
  import inspect
  import logging
  import logging.config
  import logging.handlers
  import os
  import shutil
  import tempfile
  import warnings
  from pathlib import Path
  from types import TracebackType
  from typing import Any, Coroutine, Dict, List, Optional, Text, Type, TypeVar, Union, ContextManager, Set, Tuple
  from socket import SOCK_DGRAM, SOCK_STREAM
  import numpy
  import rasa.utils.io
  from rasa.constants import DEFAULT_LOG_LEVEL_LIBRARIES, ENV_LOG_LEVEL_LIBRARIES, ENV_LOG_LEVEL_MATPLOTLIB, ENV_LOG_LEVEL_RABBITMQ, ENV_LOG_LEVEL_KAFKA
  from rasa.shared.constants import DEFAULT_LOG_LEVEL, ENV_LOG_LEVEL, TCP_PROTOCOL
  from rasa.shared.exceptions import RasaException
  import rasa.shared.utils.io
label_desc: Use image node_id 23 for calling a global function with example usage: find_unavailable_packages(package_names) and returns: failed_imports