class_docstr: Class for connecting models and data operations with json files with
  its descriptions and metadata
docstr: Obtains strategy instance by the metadata
  
  Args:
      metadata: information about meta of the operation
  
  Returns:
      available strategies for current metadata
docstr_tok: ["Obtains","strategy","instance","by","the","metadata","Args",":","metadata",":","information","about","meta","of","the","operation","Returns",":","available","strategies","for","current","metadata"]
code: def get_strategies_by_metadata(
      metadata: dict,
  ) -> Union["EvaluationStrategy", Dict[str, "EvaluationStrategy"]]:
      """
      Obtains strategy instance by the metadata
  
      Args:
          metadata: information about meta of the operation
  
      Returns:
          available strategies for current metadata
      """
      strategies_json = metadata["strategies"]
      if isinstance(strategies_json, list):
          supported_strategies = import_strategy_from_str(
              strategies_json
          )
      elif isinstance(strategies_json, dict):
          supported_strategies = {}
          for (
              strategy_dct_key,
              strategy_str_value,
          ) in strategies_json.items():
              # Convert string into class path for import
              import_path = import_enums_from_str(strategy_dct_key)
              strategy_class = import_strategy_from_str(
                  strategy_str_value
              )
  
              supported_strategies.update({import_path: strategy_class})
      else:
          raise TypeError("strategies are of unknown type")
      return supported_strategies
  
imports: import json
  import os
  from collections import defaultdict
  from dataclasses import dataclass
  from typing import Dict, List, Optional, TYPE_CHECKING, Union
  import numpy
  from golem.core.log import default_log
  from golem.utilities.data_structures import ensure_wrapped_in_sequence
  from fedot.core.constants import AUTO_PRESET_NAME, BEST_QUALITY_PRESET_NAME
  from fedot.core.repository.dataset_types import DataTypesEnum
  from fedot.core.repository.json_evaluation import import_enums_from_str, import_strategy_from_str, read_field
  from fedot.core.repository.tasks import Task, TaskTypesEnum
label_desc: Use image node_id 11 for calling the OperationTypesRepository obj's underlying member method code with example usage: obj.get_strategies_by_metadata(metadata) and returns: supported_strategies