def METHOD_NAME(
    cls,
    service_context: Optional[ServiceContext] = None,
    chat_history: Optional[List[ChatMessage]] = None,
    memory: Optional[BaseMemory] = None,
    memory_cls: Type[BaseMemory] = ChatMemoryBuffer,
    system_prompt: Optional[str] = None,
    prefix_messages: Optional[List[ChatMessage]] = None,
    **kwargs: Any,
) -> "SimpleChatEngine":
    """Initialize a SimpleChatEngine from default parameters."""
    service_context = service_context or ServiceContext.METHOD_NAME()
    if not isinstance(service_context.llm_predictor, LLMPredictor):
        raise ValueError("llm_predictor must be a LLMPredictor instance")
    llm = service_context.llm_predictor.llm
    chat_history = chat_history or []
    memory = memory or memory_cls.METHOD_NAME(chat_history=chat_history, llm=llm)
    if system_prompt is not None:
        if prefix_messages is not None:
            raise ValueError(
                "Cannot specify both system_prompt and prefix_messages"
            )
        prefix_messages = [ChatMessage(content=system_prompt, role="system")]
    prefix_messages = prefix_messages or []
    return cls(
        llm=llm,
        memory=memory,
        prefix_messages=prefix_messages,
        callback_manager=service_context.callback_manager,
    )