code: def _field_comparators(
      self,
  ) -> Generator[tuple[str, Comparator, int, int], None, None]:
      start = 0
      stop = 0
      for var in self.primary_variables:
          stop = start + len(var)
          comparator = cast("Comparator", var.comparator)
          yield (var.field, comparator, start, stop)
          start = stop
  
imports: from __future__ import annotations
  import copyreg
  import pkgutil
  import types
  from typing import TYPE_CHECKING, cast
  import numpy
  import dedupe.variables
  from dedupe.variables.base import FieldType
  from dedupe.variables.base import MissingDataType, Variable
  from dedupe.variables.interaction import InteractionType
label_desc: Use image node_id 3 for calling the DataModel obj's underlying member method code with example usage: obj._field_comparators() without return types