import re def format_llm_response(llm_output): """ Formats LLM output into structured Markdown and extracts approach titles. Returns: formatted_markdown (str): Markdown-formatted response approach_titles (list): Extracted approach titles for dropdown selection """ lines = llm_output.split("\n") formatted_response = [] approach_titles = [] for line in lines: line = line.strip() if re.match(r"^Approach \d+: ", line): # Detects headings formatted_response.append(f"### {line}") # Format as header approach_titles.append(line.replace("Approach ", "")) # Extract title elif line.startswith("*"): formatted_response.append(f"- {line}") # Format as bullet points else: formatted_response.append(line) return "\n".join(formatted_response), approach_titles