in src/epam/auto_llm_eval/evaluation_report.py [0:0]
def _parse_evaluation_steps(self, content: str) -> List[EvaluationStep]:
"""
Parse evaluation steps from the main content.
Args:
content (str): Text containing evaluation steps
Returns:
List[EvaluationStep]: List of parsed evaluation steps
"""
steps = []
current_step_lines = []
for line in content.split('\n'):
if line.startswith(self.STEP_MARKER):
# Process previous step if exists
if current_step_lines:
step = EvaluationStep.from_text(
'\n'.join(current_step_lines)
)
if step:
steps.append(step)
# Start new step
current_step_lines = [line]
elif line.strip():
current_step_lines.append(line)
# Handle last step
if current_step_lines:
step = EvaluationStep.from_text('\n'.join(current_step_lines))
if step:
steps.append(step)
return steps