diff --git a/optimization_engine/llm_optimization_runner.py b/optimization_engine/llm_optimization_runner.py index e5e25598..bf491825 100644 --- a/optimization_engine/llm_optimization_runner.py +++ b/optimization_engine/llm_optimization_runner.py @@ -77,6 +77,12 @@ class LLMOptimizationRunner: self.output_dir = Path(output_dir) self.output_dir.mkdir(parents=True, exist_ok=True) + # Save LLM workflow configuration for transparency and documentation + workflow_config_file = self.output_dir / "llm_workflow_config.json" + with open(workflow_config_file, 'w') as f: + json.dump(llm_workflow, f, indent=2) + logger.info(f"LLM workflow configuration saved to: {workflow_config_file}") + # Initialize automation components self._initialize_automation() @@ -201,8 +207,14 @@ class LLMOptimizationRunner: design_vars = {} for var_config in design_vars_config: var_name = var_config['parameter'] - var_min = var_config.get('min', 0.0) - var_max = var_config.get('max', 1.0) + + # Parse bounds - LLM returns 'bounds' as [min, max] + if 'bounds' in var_config: + var_min, var_max = var_config['bounds'] + else: + # Fallback to old format + var_min = var_config.get('min', 0.0) + var_max = var_config.get('max', 1.0) # Suggest value using Optuna design_vars[var_name] = trial.suggest_float(var_name, var_min, var_max)