code: def make_context(self, room, c1, c2):
      s = "_task_speech\n"
      s += (
          "_setting_name "
          + room.get("setting", "")
          + ", "
          + room.get("category", "")
          + "\n"
      )
      s += "_setting_desc " + room.get("description", "") + "\n"
      s += "_partner_name " + c2.get("name", "") + "\n"
      s += "_self_name " + c1.get("name", "") + "\n"
      s += "_self_persona " + random.choice(c1.get("personas", [""]))
      return s
  
imports: from typing import Optional
  from parlai.core.params import ParlaiParser
  from parlai.core.opt import Opt
  from parlai.core.worlds import create_task
  from parlai.tasks.self_chat.worlds import SelfChatWorld
  from parlai.tasks.interactive.worlds import InteractiveWorld
  from parlai.agents.repeat_label.repeat_label import RepeatLabelAgent
  import random
  import pickle
  import os
label_desc: Use image node_id 2 for calling the SelfChatWorld obj's underlying member method code with example usage: obj.make_context(room, c1, c2) and returns: s