class_docstr: Version of BaseModelChatWorld for chatting without images.
  
  Has support for features that are currently not supported by the image-chat version
  of this task, like personas and BST-style seed utterances.
class_docstr_tok: ["Version","of","BaseModelChatWorld","for","chatting","without","images",".","Has","support","for","features","that","are","currently","not","supported","by","the","image-chat","version","of","this","task",",","like","personas","and","BST-style","seed","utterances","."]
code: def __init__(
      self, opt, agent, bot, context_info: Optional[dict] = None
  ):
      super().__init__(opt, agent=agent, bot=bot)
  
      if context_info is not None:
          self.context_info = context_info
          self.personas = [
              self.context_info["persona_1_strings"],
              self.context_info["persona_2_strings"],
          ]
      else:
          self.context_info = {}
          self.personas = None
  
imports: import time
  import os
  import json
  from abc import ABC, abstractmethod
  from typing import Any, Dict, List, Optional, Tuple
  import numpy
  from parlai.core.agents import create_agent_from_shared
  from parlai.core.message import Message
  from parlai.core.worlds import validate
  from parlai.crowdsourcing.utils.acceptability import AcceptabilityChecker
  from parlai.crowdsourcing.utils.worlds import CrowdOnboardWorld, CrowdTaskWorld
  from parlai.crowdsourcing.tasks.model_chat.bot_agent import TurkLikeAgent
  from parlai.crowdsourcing.tasks.model_chat.constants import ONBOARD_FAIL, ONBOARD_SUCCESS
  from parlai.crowdsourcing.tasks.model_chat.utils import Compatibility
  from parlai.crowdsourcing.utils.mturk import get_mturk_id_from_mephisto_wrapper
  from typing import TYPE_CHECKING
label_desc: Use image node_id 1 to create a new ModelChatWorld object from inherited base classes: BaseModelChatWorld with example: obj = ModelChatWorld(opt, agent, bot, context_info)