code: def set_memory(self, **kwargs):
      params = (
          {"llm_kwargs": kwargs["mem_llm_kwargs"]}
          if kwargs.get("mem_llm_kwargs", None)
          else {}
      )
      # Initialize memory with summarization ability
      self.memory = ConversationBufferWithSummary(
          llm=self.llm,
          prompt=kwargs["mem_summary_prompt"],
          human_prefix=kwargs["mem_human_prefix"],
          ai_prefix=kwargs["mem_ai_prefix"],
          max_tokens=kwargs["mem_max_tokens"],
          **params,
      )
  
imports: import os
  from typing import Dict, Tuple
  from colossalqa.chain.retrieval_qa.base import RetrievalQA
  from colossalqa.data_loader.document_loader import DocumentLoader
  from colossalqa.memory import ConversationBufferWithSummary
  from colossalqa.mylogging import get_logger
  from colossalqa.prompt.prompt import PROMPT_DISAMBIGUATE_ZH, PROMPT_RETRIEVAL_QA_ZH, SUMMARY_PROMPT_ZH, ZH_RETRIEVAL_QA_REJECTION_ANSWER, ZH_RETRIEVAL_QA_TRIGGER_KEYWORDS
  from colossalqa.retriever import CustomRetriever
  from langchain import LLMChain
  from langchain.embeddings import HuggingFaceEmbeddings
label_desc: Use image node_id 4 for calling the RAG_ChatBot obj's underlying member method code with example usage: obj.set_memory() without return types