code: def _is_operation_contains_tag(
      candidate_tags: List[str],
      operation_tags: List[str],
      is_full_match: bool,
  ) -> bool:
      """The function checks which operations are suitable for the selected tags
  
      Args:
          candidate_tags: ``list`` with tags that the operation must have in order
              to fit the selected task
          operation_tags: ``list`` with tags with names as in repository json file
              which correspond to the considering operation
          is_full_match: requires all tags to match, or at least one
  
      Returns:
          bool: is there a match on the tags
      """
  
      matches = (tag in operation_tags for tag in candidate_tags)
      if is_full_match:
          return all(matches)
      else:
          return any(matches)
  
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 3 for calling a global function with example usage: _is_operation_contains_tag(candidate_tags, operation_tags, is_full_match) and returns: all, any