class_docstr: A chat world in which an image is shown to the worker and bot at the beginning.
class_docstr_tok: ["A","chat","world","in","which","an","image","is","shown","to","the","worker","and","bot","at","the","beginning","."]
docstr: Show the image to the human and bot, and show the bot's response to the human.
docstr_tok: ["Show","the","image","to","the","human","and","bot",",","and","show","the","bot","'s","response","to","the","human","."]
code: def _run_initial_turn(self) -> None:
      """
      Show the image to the human and bot, and show the bot's response to the human.
      """
  
      system_id = "SYSTEM"
      system_agent_idx = None
  
      # Show the image to the human
      image_act_for_human = {
          "episode_done": False,
          "id": system_id,
          "text": f"""Welcome! You'll now have a conversation with your partner.
  
  <-- FIRST, YOUR PARTNER WILL SAY SOMETHING ABOUT THIS IMAGE TO YOUR LEFT.
  
  Be sure to talk about this image a little bit before discussing other things!
  """,
          "task_data": {"image_src": self.image_src},
          "agent_idx": system_agent_idx,
      }
      self.agent.observe(validate(image_act_for_human))
  
      # Show the image to the bot
      image_act = {
          **self.image_act,
          "episode_done": False,
          "id": system_id,
          "agent_idx": system_agent_idx,
      }
      self.bot.observe(validate(image_act))
      del image_act["image"]
      # Don't save the image features to disk
  
      # Have the bot respond
      bot_first_act_raw = self.bot.act()
      bot_first_act_raw = Message(
          Compatibility.maybe_fix_act(bot_first_act_raw)
      ).json_safe_payload()
      bot_first_act_raw["id"] = self.bot.agent_id
      self.agent.observe(validate(bot_first_act_raw))
      bot_first_act = {
          "episode_done": False,
          "id": bot_first_act_raw["id"],
          "text": bot_first_act_raw["text"],
          "agent_idx": 1,
      }
  
      # Record lines of dialogue
      self.dialog.append(image_act)
      self.dialog.append(bot_first_act)
  
file_path: ParlAI/parlai/crowdsourcing/tasks/model_chat/worlds_image_chat.py
imports: from tempfile import NamedTemporaryFile
  from typing import Any, Dict, List, Tuple
  from parlai.core.image_featurizers import ImageLoader
  from parlai.core.message import Message
  from parlai.core.worlds import validate
  from parlai.crowdsourcing.tasks.model_chat.utils import Compatibility, get_image_src
  from parlai.crowdsourcing.tasks.model_chat.worlds import BaseModelChatWorld, get_bot_worker
label_desc: Use image node_id 2 for calling the ModelImageChatWorld obj's underlying member method code with example usage: obj._run_initial_turn() without return types