class_docstr: Interactive world for generative models.
  
  Specifically a world for models trained on the task `-t wizard_of_wikipedia
  generator`.
class_docstr_tok: ["Interactive","world","for","generative","models",".","Specifically","a","world","for","models","trained","on","the","task","`","-t","wizard_of_wikipedia","generator","`","."]
code: def __init__(self, opt, agents, shared=None):
      super().__init__(opt, agents, shared)
      print("[ loading topics.. ]")
      self.opt = opt
      self._load_topics(opt)
      self.num_topics = opt["num_topics"]
      self.cnt = 0
      self.human_agent = self.agents[0]
      self.model_agent = self.agents[1]
  
      self._set_up_knowledge_agent(add_token_knowledge=True)
  
imports: from typing import Optional
  from parlai.core.opt import Opt
  from copy import deepcopy
  import json
  import random
  import os
  import string
  from parlai.core.params import ParlaiParser
  from parlai.core.agents import create_agent
  from parlai.core.message import Message
  from parlai.core.worlds import DialogPartnerWorld, validate
  from parlai.tasks.wizard_of_wikipedia.agents import TOKEN_KNOWLEDGE, TOKEN_END_KNOWLEDGE
  from parlai.tasks.self_chat.worlds import SelfChatWorld
  from parlai.utils.misc import warn_once
  from .build import build
  from projects.wizard_of_wikipedia.knowledge_retriever.knowledge_retriever import KnowledgeRetrieverAgent
label_desc: Use image node_id 1 to create a new InteractiveGeneratorWorld object from inherited base classes: InteractiveWorld with example: obj = InteractiveGeneratorWorld(opt, agents, shared)