docstr: Inserts artifacts with the given spans and versions into MLMD.
docstr_tok: ["Inserts","artifacts","with","the","given","spans","and","versions","into","MLMD","."]
code: def _insert_artifacts_into_mlmd(
      self,
      spans: Sequence[int],
      versions: Sequence[int],
      artifact_type: str = "DummyArtifact",
  ) -> Sequence[metadata_store_pb2.Artifact]:
      """Inserts artifacts with the given spans and versions into MLMD."""
  
      mlmd_artifacts = []
      for span, version in zip(spans, versions):
          mlmd_artifacts.append(
              self.put_artifact(
                  artifact_type=artifact_type,
                  properties={"span": span, "version": version},
              )
          )
      self._add_executions_into_mlmd(mlmd_artifacts)
  
      return mlmd_artifacts
  
imports: from typing import Sequence
  import tensorflow
  from tfx import types
  from tfx.dsl.control_flow import for_each
  from tfx.dsl.input_resolution import canned_resolver_functions
  from tfx.dsl.input_resolution import resolver_op
  from tfx.dsl.input_resolution.ops import test_utils
  from tfx.orchestration import pipeline
  from tfx.orchestration.portable import inputs_utils
  from tfx.orchestration.portable.input_resolution import exceptions
  from tfx.types import channel_utils
  from tfx.types import resolved_channel
  from ml_metadata.proto import metadata_store_pb2
label_desc: Use image node_id 4 for calling the CannedResolverFunctionsTest obj's underlying member method code with example usage: obj._insert_artifacts_into_mlmd(spans, versions, artifact_type) and returns: mlmd_artifacts