def update_prompts(self, prompts_dict: Dict[str, BasePromptTemplate]) -> None:
        """
        Update prompts.

        Other prompts will remain in place.

        """
        prompt_modules = self._get_prompt_modules()

        # update prompts for current module
        self._update_prompts(prompts_dict)

        # get sub-module keys
        # mapping from module name to sub-module prompt keys
        sub_prompt_dicts: Dict[str, PromptDictType] = defaultdict(dict)
        for key in prompts_dict:
            if ":" in key:
                module_name, sub_key = key.split(":")
                sub_prompt_dicts[module_name][sub_key] = prompts_dict[key]

        # now update prompts for submodules
        for module_name, sub_prompt_dict in sub_prompt_dicts.items():
            if module_name not in prompt_modules:
                raise ValueError(f"Module {module_name} not found.")
            module = prompt_modules[module_name]
            module.update_prompts(sub_prompt_dict)

        Update prompts.

        Other prompts will remain in place.

        
llama-index-core/llama_index/core/prompts/mixin.py