| 442 | generation_start_time = time.time() |
| 443 | |
| 444 | def run_generation(): |
| 445 | try: |
| 446 | log("info", f"[Turn {turn_counter}] Generation thread started, input_ids shape: {inputs['input_ids'].shape}") |
| 447 | self.model_manager.model.generate(**inputs, **gen_kwargs_with_streamer) |
| 448 | elapsed = time.time() - generation_start_time |
| 449 | log("info", f"[Turn {turn_counter}] Generation thread completed in {elapsed:.2f}s") |
| 450 | except Exception as e: |
| 451 | generation_error['error'] = e |
| 452 | elapsed = time.time() - generation_start_time |
| 453 | log("error", f"[Turn {turn_counter}] Generation failed after {elapsed:.2f}s: {e}") |
| 454 | import traceback |
| 455 | traceback.print_exc() |
| 456 | |
| 457 | generation_thread = Thread(target=run_generation) |
| 458 | generation_thread.start() |