code: def create_keras_inputs() -> (
      Tuple[Dict[str, tf.Tensor], Dict[str, tf.Tensor], tf.Tensor]
  ):
      """Create Keras Input placeholder tensors.
  
      Returns:
        A tuple of two dicts mapping context and example feature names to
        tf.keras.Input.
      """
      context_keras_inputs, example_keras_inputs = {}, {}
      # Create Keras inputs for context features.
      context_keras_inputs.update(
          {
              k: tf.keras.Input(
                  name=k, shape=(None,), dtype=tf.string, ragged=True
              )
              for k in _CONTEXT_RAGGED_FEATURE_KEYS
          }
      )
      # Create Keras inputs for example features.
      # Setting feature dimension to be None, so that variable number of tokens can
      # be processed for embedding. Note that the embeddings are reduced via a
      # SUM, MEAN or user defined reduction for a fixed feature dimension which is
      # equal to the embedding size.
      example_keras_inputs.update(
          {
              k: tf.keras.Input(
                  name=k,
                  shape=(None, None),
                  dtype=tf.string,
                  ragged=True,
              )
              for k in _EXAMPLE_RAGGED_FEATURE_KEYS
          }
      )
      mask = tf.keras.Input(name=_MASK, shape=(None,), dtype=tf.bool)
  
      return context_keras_inputs, example_keras_inputs, mask
  
file_path: ranking/tensorflow_ranking/examples/keras/antique_kpl_din.py
imports: import os
  from typing import Dict, Optional, Tuple, Union
  from absl import app
  from absl import flags
  from absl import logging
  import tensorflow
  import tensorflow_ranking
label_desc: Use image node_id 3 for calling a global function with example usage: create_keras_inputs() and returns: context_keras_inputs,  example_keras_inputs,  mask