code: def __init__(self, opt, shared=None):
      super().__init__(opt)
      self.id = "OpenaiChatCompletionsAgent"
      self.turns = []
      self.history = FakeHistory(self)
      self.model_name = opt.get("model_name")
      self.init_prompt = opt.get("init_prompt")
      self.role = opt.get("role")
      self.counterparty_role = opt.get("counterparty_role")
      self.name = opt.get("name")
      self.counterparty_name = opt.get("counterparty_name")
      self.max_tokens = opt.get("max_tokens")
      self.temperature = opt.get("temperature")
      self.top_p = opt.get("top_p")
      self.stop_sequence = opt.get("stop_sequence")
      self.presence_penalty = opt.get("presence_penalty")
      self.frequency_penalty = opt.get("frequency_penalty")
  
      # check that string self.init_prompt is not empty nor None
      if self.init_prompt:
          self.turns.append(
              {"role": "system", "content": self.init_prompt}
          )
  
      litellm.api_key = opt.get("openai_api_key")
  
file_path: ParlAI/parlai/agents/openai_chat_completions/openai_chat_completions.py
imports: from typing import Optional
  from parlai.core.params import ParlaiParser
  from parlai.core.opt import Opt
  from parlai.core.agents import Agent
  from parlai.core.message import Message
label_desc: Use image node_id 2 to create a new OpenaiChatCompletionsAgent object from inherited base classes: Agent with example: obj = OpenaiChatCompletionsAgent(opt, shared)