code: def build(opt):
      dpath, version = download(opt)
      if "light_use_speech_prefix" not in opt:
          opt["light_use_speech_prefix"] = True
      # create particular instance of dataset depending on flags..
      fields = [
          "taskname",
          "setting",
          "objects",
          "person_names",
          "persona",
          "emote",
          "speech",
          "action",
          "affordances",
          "repeat",
          "cands",
          "current_self_output",
          "clip_cands",
          "speech_prefix",
      ]
      fpath = ""
      for f in fields:
          fpath += f + str(opt["light_use_" + f]) + "_"
      dpath2 = os.path.join(
          opt["datapath"], "light_dialogue", fpath[:-1]
      )
      if not build_data.built(dpath2, version):
          if build_data.built(dpath2):
              # An older version exists, so remove these outdated files.
              build_data.remove_dir(dpath2)
          build_data.make_dir(dpath2)
          fname = "light_data.pkl"
          fname2 = "light_unseen_data.pkl"
          build_from_db(opt, dpath, dpath2, fname, fname2)
          # Mark the data as built.
          build_data.mark_done(dpath2, version)
  
imports: import parlai.core.build_data
  import os
  from parlai.tasks.light_dialog.builder import build_from_db
  from parlai.core.build_data import DownloadableFile
label_desc: Use image node_id 2 for calling a global function with example usage: build(opt) without return types