def __init__(self, llm: LLM) -> None:
        """
        Initialize the HubPlanner with an LLM and set up the prompt module and output parser.

        Args:
            llm (LLM): The large language model used for generating plans.

        """
        self.llm = llm

        prompt_module = PromptModule()
        prompt_module.setup_planner_template()
        self.template_planner = prompt_module.get_prompts().get("planner")

        lc_output_parser = JsonOutputParser()
        self.output_parser = LangchainOutputParser(lc_output_parser)

        self.query_pipeline = QueryPipeline(
            chain=[self.template_planner, self.llm, self.output_parser], verbose=True
        )

        Initialize the HubPlanner with an LLM and set up the prompt module and output parser.

        Args:
            llm (LLM): The large language model used for generating plans.

        
llama-index-packs/llama-index-packs-secgpt/llama_index/packs/secgpt/planner.py