code: def make_node(
      op_type: str,
      inputs: Sequence[str],
      outputs: Sequence[str],
      name: Optional[str] = None,
      doc_string: Optional[str] = None,
      domain: Optional[str] = None,
      **kwargs: Any,
  ) -> NodeProto:
      """Construct a NodeProto.
  
      Arguments:
          op_type (string): The name of the operator to construct
          inputs (list of string): list of input names
          outputs (list of string): list of output names
          name (string, default None): optional unique identifier for NodeProto
          doc_string (string, default None): optional documentation string for NodeProto
          domain (string, default None): optional domain for NodeProto.
              If it's None, we will just use default domain (which is empty)
          **kwargs (dict): the attributes of the node.  The acceptable values
              are documented in :func:`make_attribute`.
      Returns:
          NodeProto
      """
  
      node = NodeProto()
      node.op_type = op_type
      node.input.extend(inputs)
      node.output.extend(outputs)
      if name:
          node.name = name
      if doc_string:
          node.doc_string = doc_string
      if domain is not None:
          node.domain = domain
      if kwargs:
          node.attribute.extend(
              make_attribute(key, value)
              for key, value in sorted(kwargs.items())
              if value is not None
          )
      return node
  
imports: import collections.abc
  import numbers
  import struct
  from cmath import isnan
  from typing import Any, Callable, Dict, KeysView, List, Optional, Sequence, Tuple, TypeVar, Union, cast
  import google.protobuf.message
  import numpy
  from onnx import IR_VERSION, AttributeProto, FunctionProto, GraphProto, MapProto, ModelProto, NodeProto, OperatorSetIdProto, OptionalProto, SequenceProto, SparseTensorProto, TensorProto, TensorShapeProto, TrainingInfoProto, TypeProto, ValueInfoProto, defs, mapping
label_desc: Use image node_id 3 for calling a global function with example usage: make_node(op_type, inputs, outputs, name, doc_string, domain) and returns: node