code: def __init__(
      self,
      name: str,
      system_message: Optional[str] = DEFAULT_SYSTEM_MESSAGE,
      llm_config: Optional[Union[Dict, Literal[False]]] = None,
      is_termination_msg: Optional[Callable[[Dict], bool]] = None,
      max_consecutive_auto_reply: Optional[int] = None,
      human_input_mode: Optional[str] = "NEVER",
      code_execution_config: Optional[
          Union[Dict, Literal[False]]
      ] = False,
      description: Optional[str] = None,
      **kwargs,
  ):
      """
      Args:
          name (str): agent name.
          system_message (str): system message for the ChatCompletion inference.
              Please override this attribute if you want to reprogram the agent.
          llm_config (dict): llm inference configuration.
              Please refer to [OpenAIWrapper.create](/docs/reference/oai/client#create)
              for available options.
          is_termination_msg (function): a function that takes a message in the form of a dictionary
              and returns a boolean value indicating if this received message is a termination message.
              The dict can contain the following keys: "content", "role", "name", "function_call".
          max_consecutive_auto_reply (int): the maximum number of consecutive auto replies.
              default to None (no limit provided, class attribute MAX_CONSECUTIVE_AUTO_REPLY will be used as the limit in this case).
              The limit only plays a role when human_input_mode is not "ALWAYS".
          **kwargs (dict): Please refer to other kwargs in
              [ConversableAgent](conversable_agent#__init__).
      """
      super().__init__(
          name,
          system_message,
          is_termination_msg,
          max_consecutive_auto_reply,
          human_input_mode,
          code_execution_config=code_execution_config,
          llm_config=llm_config,
          description=description,
          **kwargs,
      )
  
      # Update the provided description if None, and we are using the default system_message,
      # then use the default description.
      if description is None:
          if system_message == self.DEFAULT_SYSTEM_MESSAGE:
              self.description = self.DEFAULT_DESCRIPTION
  
imports: from typing import Callable, Dict, Literal, Optional, Union
  from .conversable_agent import ConversableAgent
label_desc: Use image node_id 1 to create a new AssistantAgent object from inherited base classes: ConversableAgent with example: obj = AssistantAgent(name, system_message, llm_config, is_termination_msg, max_consecutive_auto_reply, human_input_mode, code_execution_config, description)