code: def shutdown(self):
      if self.chat_done:
          self.opt["run_statistics"][self.bot.worker_id] += 1
          print(
              "Runs completed per model: "
              + ", ".join(
                  f"{model}: {count:d}"
                  for model, count in self.opt["run_statistics"].items()
              )
          )
  
      self.agent.shutdown()
  
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 6 for calling the BaseModelChatWorld obj's underlying member method code with example usage: obj.shutdown() without return types