class_docstr: Manages interactions between agents on a websocket as well as direct interactions
  between agents and an overworld.
class_docstr_tok: ["Manages","interactions","between","agents","on","a","websocket","as","well","as","direct","interactions","between","agents","and","an","overworld","."]
docstr: Initialize an agent and return it.
  
  Called each time an agent is placed into a new task.
  
  :param task_id:
      string task identifier
  :param agent_id:
      int agent id
docstr_tok: ["Initialize","an","agent","and","return","it",".","Called","each","time","an","agent","is","placed","into","a","new","task",".",":","param","task_id",":","string","task","identifier",":","param","agent_id",":","int","agent","id"]
code: def _create_agent(self, task_id, socketID):
      """
      Initialize an agent and return it.
  
      Called each time an agent is placed into a new task.
  
      :param task_id:
          string task identifier
      :param agent_id:
          int agent id
      """
      return WebsocketAgent(self.opt, self, socketID, task_id)
  
imports: import json
  import asyncio
  import logging
  from parlai.core.agents import create_agent
  from parlai.chat_service.core.chat_service_manager import ChatServiceManager
  import parlai.chat_service.utils.logging
  import parlai.chat_service.utils.misc
  from parlai.chat_service.services.websocket.sockets import MessageSocketHandler
  from .agents import WebsocketAgent
  import tornado
  from tornado.options import options
label_desc: Use image node_id 9 for calling the WebsocketManager obj's underlying member method code with example usage: obj._create_agent(task_id, socketID) and returns: WebsocketAgent