class_docstr: Teacher that generate text in the multi-session chat.
class_docstr_tok: ["Teacher","that","generate","text","in","the","multi-session","chat","."]
code: def add_cmdline_args(
      cls, parser: ParlaiParser, partial_opt: Optional[Opt] = None
  ) -> ParlaiParser:
      super().add_cmdline_args(parser, partial_opt)
      agent = parser.add_argument_group(
          "Multi-Session Chat Task options"
      )
      agent.add_argument(
          "--session-id",
          type=int,
          default=2,
          help="session id, session_id = 1 refers to convai2 teacher and it's not supported here",
      )
      agent.add_argument(
          "--previous-persona-type",
          type=str,
          default="raw_history",
          choices=[
              "none",
              "goldsum_self",
              "goldsum_both",
              "goldsum_their",
              "predsum_self",
              "predsum_both",
              "predsum_their",
              "predsum_utt_self",
              "predsum_utt_both",
              "predsum_utt_their",
              "init_self",
              "init_both",
              "init_their",
              "raw_history",
          ],
          help="type of previous context to include as context. "
          "the 'goldsum_' prefix refers to gold persona summaries from crowdworkers; "
          "the 'predsum_' prefix refers to predicted persona summaries from a summarization model; "
          "the 'init_' prefix refers to the original persona lines used to ground the PersonaChat conversations. ",
      )
      agent.add_argument(
          "--your-persona-first",
          type=bool,
          default=False,
          help="whether to prepend your persona first or not",
      )
      agent.add_argument(
          "--session-openning",
          type=bool,
          default=False,
          help="whether to only include session opening or not",
      )
      agent.add_argument(
          "--label-speaker-id",
          type=str,
          default="both",
          choices=["self", "both", "their"],
          help="the speaker id of the 'labels' field,",
      )
      agent.add_argument(
          "--include-time-gap",
          type=bool,
          default=False,
          help="whether to include time passed since last conversation in the context",
      )
      agent.add_argument(
          "--history-time-gaps-token",
          type=str,
          default=None,
          help="time tokens in the previous raw dialogue history, e.g. 'time:' ",
      )
      agent.add_argument(
          "--history-person-tokens",
          type=str,
          default=None,
          help="person tokens in the previous raw dialogue history, e.g. 'p1:,p2:' ",
      )
      agent.add_argument(
          "--previous-session-delimiter",
          type=str,
          default=None,
          help="delimiter between previous sessions in the context, such as '__NEXT_SESSION__' ",
      )
      return parser
  
imports: from parlai.core.teachers import DialogTeacher
  from parlai.utils.io import PathManager
  from parlai.core.opt import Opt
  from parlai.utils.strings import normalize_reply
  from parlai.core.teachers import MultiTaskTeacher
  from .build import build
  import os
  import json
  from typing import Optional
  from parlai.core.params import ParlaiParser
  import copy
  import random
  import math
  from parlai.utils.logging import logger
  from parlai.core.message import Message
  import parlai.scripts.display_data
  from parlai.tasks.convai2.agents import NormalizedTeacherTrait, SelfOriginalTeacher
  from parlai.tasks.blended_skill_talk.agents import ContextGenerator
  from parlai.tasks.msc.constants import INITIAL_DATA_TO_COMPLETE, MODEL_OPT, UI_OPT, COMMON_CONFIG
  import parlai.tasks.msc.mutators
label_desc: Use image node_id 1 for calling the SessionBaseMscTeacher obj's underlying member method code with example usage: obj.add_cmdline_args(cls, parser, partial_opt) and returns: parser