code: def fill_with_past_key_values_(
      self, inputs_or_outputs: Dict[str, Dict[int, str]], direction: str
  ):
      num_pkv_per_layer = 4
      _, num_decoder_layers = self.num_layers
      name = "past" if direction == "inputs" else "present"
      decoder_sequence = (
          "past_decoder_sequence"
          if direction == "inputs"
          else "past_decoder_sequence + sequence"
      )
      for i in range(num_decoder_layers * num_pkv_per_layer):
          inputs_or_outputs[f"{name}_key_values_{i}"] = {
              0: "batch",
              2: decoder_sequence,
          }
  
file_path: optimum/optimum/onnx/configuration.py
imports: from collections import OrderedDict
  from typing import TYPE_CHECKING, Any, Dict, Optional
  from transformers.file_utils import TensorType
  from transformers.utils import logging
  from transformers.onnx import OnnxConfig, OnnxConfigWithPast, OnnxSeq2SeqConfigWithPast
label_desc: Use image node_id 4 for calling the DecoderOnnxConfig obj's underlying member method code with example usage: obj.fill_with_past_key_values_(inputs_or_outputs, direction) without return types