docstr: Run the initial turn for both the human and the bot.
  
  Optionally show the bot its persona. If we are in BST conversation mode, show 2
  previous BST utterances to both the human and the bot; if we are in Meena-like
  conversation mode, show "Hi!" to the human and the bot and let the bot respond
  accordingly.
docstr_tok: ["Run","the","initial","turn","for","both","the","human","and","the","bot",".","Optionally","show","the","bot","its","persona",".","If","we","are","in","BST","conversation","mode",",","show","2","previous","BST","utterances","to","both","the","human","and","the","bot",";","if","we","are","in","Meena-like","conversation","mode",",","show","``","Hi","!","''","to","the","human","and","the","bot","and","let","the","bot","respond","accordingly","."]
code: def _run_initial_turn(self) -> None:
      """
      Run the initial turn for both the human and the bot.
  
      Optionally show the bot its persona. If we are in BST conversation mode, show 2
      previous BST utterances to both the human and the bot; if we are in Meena-like
      conversation mode, show "Hi!" to the human and the bot and let the bot respond
      accordingly.
      """
      # Removing the agents ids for use the id names for the agents.
      self.bot.agent_id = None
      self.agent.agent_id = None
  
      if self.opt["include_persona"]:
          # Sending persona to the bot agent
          message = {"episode_done": False}
          assert isinstance(
              self.personas[1], dict
          ), "Unknown persona format. Check the ContextGenerator in your task."
          message["id"] = PERSONA_SETTER_AGENT
          message["text"] = "PERSONA SETTING MESSAGE"
          message["personas"] = self.personas
          if "location" in self.context_info:
              message["location"] = self.context_info["location"]
          # The bot seeing its persona does not count as a "turn"
          self.bot.observe(validate(message), increment_turn=False)
  
          # Sending persona to the agent
          self.agent.observe(
              validate(
                  {
                      "episode_done": False,
                      "id": PERSONA_SETTER_AGENT,
                      "task_data": {
                          "personas": self.personas,
                          "location": self.context_info["location"],
                      },
                  }
              )
          )
  
imports: import json
  import os
  import numpy
  import random
  import time
  from parlai.core.message import Message
  from parlai.core.worlds import validate
  import parlai.utils.logging
  from parlai.crowdsourcing.tasks.model_chat.utils import Compatibility
  from parlai.crowdsourcing.tasks.model_chat.worlds import get_bot_worker, ModelChatWorld, ModelChatOnboardWorld
label_desc: Use image node_id 2 for calling the MultipartyChatWorld obj's underlying member method code with example usage: obj._run_initial_turn() without return types