code: def get_prompt(data_obj, turn, current_label="", label_id=0):
      if len(data_obj["conversations"]) < turn + 1:
          return None
  
      examples = []
      for i in range(0, turn):
          d = data_obj["conversations"][i]
          if "label" in d:
              examples.append(
                  EXAMPLE_PROMPT_WITH_VAL.format(
                      **{
                          "user_name": d["from"],
                          "user_message": d["value"],
                          "label": d["label"],
                      }
                  )
              )
          else:
              examples.append(
                  EXAMPLE_PROMPT_WITHOUT_VAL.format(
                      **{
                          "user_name": d["from"],
                          "user_message": d["value"],
                      }
                  )
              )
  
      example_text = "".join(examples)
      d = data_obj["conversations"][turn]
      predict_message = EXAMPLE_PROMPT_WITHOUT_VAL.format(
          **{"user_name": d["from"], "user_message": d["value"]}
      )
  
      if label_id != 0:
          current_label = (
              current_label + "," + selected_keys[label_id] + ":"
          )
      else:
          current_label = "<extra_id_2>" + selected_keys[label_id] + ":"
      return (
          SYSTEM.format(**{"system_message": data_obj["system"]})
          + example_text
          + predict_message
          + current_label
      )
  
file_path: NeMo/scripts/nlp_language_modeling/sft/attribute_annotate.py
imports: import json
  import os
  import fire
  import tqdm
  from langchain.prompts.few_shot import PromptTemplate
  from nemo.collections.nlp.modules.common.megatron.retrieval_services.util import text_generation
label_desc: Use image node_id 3 for calling a global function with example usage: get_prompt(data_obj, turn, current_label, label_id) and returns: unknown, None