class_docstr: (Experimental) A MathChat agent that can handle math problems.
docstr: Generate a prompt for the assistant agent with the given problem and prompt.
  
  Args:
      problem (str): the problem to be solved.
      prompt_type (str): the type of the prompt. Possible values are "default", "python", "wolfram".
          (1) "default": the prompt that allows the agent to choose between 3 ways to solve a problem:
              1. write a python program to solve it directly.
              2. solve it directly without python.
              3. solve it step by step with python.
          (2) "python":
              a simplified prompt from the third way of the "default" prompt, that asks the assistant
              to solve the problem step by step with python.
          (3) "two_tools":
              a simplified prompt similar to the "python" prompt, but allows the model to choose between
              Python and Wolfram Alpha to solve the problem.
      customized_prompt (str): a customized prompt to be used. If it is not None, the prompt_type will be ignored.
  
  Returns:
      str: the generated prompt ready to be sent to the assistant agent.
docstr_tok: ["Generate","a","prompt","for","the","assistant","agent","with","the","given","problem","and","prompt",".","Args",":","problem","(","str",")",":","the","problem","to","be","solved",".","prompt_type","(","str",")",":","the","type","of","the","prompt",".","Possible","values","are","``","default","''",",","``","python","''",",","``","wolfram","''",".","(","1",")","``","default","''",":","the","prompt","that","allows","the","agent","to","choose","between","3","ways","to","solve","a","problem",":","1.","write","a","python","program","to","solve","it","directly",".","2.","solve","it","directly","without","python",".","3.","solve","it","step","by","step","with","python",".","(","2",")","``","python","''",":","a","simplified","prompt","from","the","third","way","of","the","``","default","''","prompt",",","that","asks","the","assistant","to","solve","the","problem","step","by","step","with","python",".","(","3",")","``","two_tools","''",":","a","simplified","prompt","similar","to","the","``","python","''","prompt",",","but","allows","the","model","to","choose","between","Python","and","Wolfram","Alpha","to","solve","the","problem",".","customized_prompt","(","str",")",":","a","customized","prompt","to","be","used",".","If","it","is","not","None",",","the","prompt_type","will","be","ignored",".","Returns",":","str",":","the","generated","prompt","ready","to","be","sent","to","the","assistant","agent","."]
code: def generate_init_message(
      self, problem, prompt_type="default", customized_prompt=None
  ):
      """Generate a prompt for the assistant agent with the given problem and prompt.
  
      Args:
          problem (str): the problem to be solved.
          prompt_type (str): the type of the prompt. Possible values are "default", "python", "wolfram".
              (1) "default": the prompt that allows the agent to choose between 3 ways to solve a problem:
                  1. write a python program to solve it directly.
                  2. solve it directly without python.
                  3. solve it step by step with python.
              (2) "python":
                  a simplified prompt from the third way of the "default" prompt, that asks the assistant
                  to solve the problem step by step with python.
              (3) "two_tools":
                  a simplified prompt similar to the "python" prompt, but allows the model to choose between
                  Python and Wolfram Alpha to solve the problem.
          customized_prompt (str): a customized prompt to be used. If it is not None, the prompt_type will be ignored.
  
      Returns:
          str: the generated prompt ready to be sent to the assistant agent.
      """
      self._reset()
      if customized_prompt is not None:
          return customized_prompt + problem
      return PROMPTS[prompt_type] + problem
  
imports: import re
  import os
  from pydantic import BaseModel, Extra, root_validator
  from typing import Any, Callable, Dict, List, Optional, Union, Tuple
  from time import sleep
  from autogen._pydantic import PYDANTIC_V1
  from autogen.agentchat import Agent, UserProxyAgent
  from autogen.code_utils import UNKNOWN, extract_code, execute_code, infer_lang
  from autogen.math_utils import get_answer
label_desc: Use image node_id 2 for calling the MathUserProxyAgent obj's underlying member method code with example usage: obj.generate_init_message(problem, prompt_type, customized_prompt) and returns: unknown, unknown