code: def _datafile(split: str, split_type: SplitType) -> str:
      """
      Returns the filename, e.g. train.json.
      """
      if split_type == SplitType.ORIGINAL:
          return f"{split}.json"
      if split_type == SplitType.SEEN:
          if "test" in split:
              return "test_seen_split_seen_unseen.json"
          return f"{split}_split_seen_unseen.json"
      if split_type == SplitType.UNSEEN:
          if "test" not in split:
              logger.warning(
                  "Trying to use a non-test dataset with split `unseen`. `unseen` "
                  "only returns the unseen test set. Are you sure you didn't mean to "
                  "use `seen` here?"
              )
          return "test_unseen_split_seen_unseen.json"
      return f"{split}_deduped.json"
  
imports: import copy
  import json
  import os
  from enum import Enum
  from typing import List, Optional, Tuple
  from parlai.core.message import Message
  from parlai.core.metrics import F1Metric
  from parlai.core.mutators import EpisodeMutator, MessageMutator, register_mutator
  from parlai.core.opt import Opt
  from parlai.core.params import ParlaiParser
  from parlai.core.teachers import DialogTeacher
  from parlai.tasks.cmu_dog.build import build
  from parlai.tasks.wizard_of_wikipedia.agents import RareWordF1Calculator, TOKEN_KNOWLEDGE, TOKEN_END_KNOWLEDGE
  from parlai.utils.data import DatatypeHelper
  from parlai.utils.io import PathManager
  from parlai.utils.logging import logger
  from parlai.utils.typing import TShared
label_desc: Use image node_id 2 for calling a global function with example usage: _datafile(split, split_type) and returns: split, str, split, str, split, str, str, str