(self, args)
| 27 | self.current_lora_strength = None |
| 28 | |
| 29 | def init(self, args) -> bool: |
| 30 | try: |
| 31 | if self.world_size > 1: |
| 32 | if not self.dist_manager.init_process_group(): |
| 33 | raise RuntimeError("Failed to initialize distributed process group") |
| 34 | else: |
| 35 | self.dist_manager.rank = 0 |
| 36 | self.dist_manager.world_size = 1 |
| 37 | self.dist_manager.device = "cuda:0" if torch.cuda.is_available() else "cpu" |
| 38 | self.dist_manager.is_initialized = False |
| 39 | |
| 40 | self.lora_dir = getattr(args, "lora_dir", None) |
| 41 | if self.lora_dir: |
| 42 | self.lora_dir = Path(self.lora_dir) |
| 43 | if not self.lora_dir.exists(): |
| 44 | logger.warning(f"LoRA directory does not exist: {self.lora_dir}") |
| 45 | self.lora_dir = None |
| 46 | else: |
| 47 | logger.info(f"LoRA directory set to: {self.lora_dir}") |
| 48 | |
| 49 | config = set_config(args) |
| 50 | |
| 51 | if config["parallel"]: |
| 52 | set_parallel_config(config) |
| 53 | |
| 54 | if self.rank == 0: |
| 55 | logger.info(f"Config:\n {config}") |
| 56 | |
| 57 | self.runner = init_runner(config) |
| 58 | logger.info(f"Rank {self.rank}/{self.world_size - 1} initialization completed") |
| 59 | |
| 60 | self.input_info = init_empty_input_info(args.task) |
| 61 | |
| 62 | return True |
| 63 | |
| 64 | except Exception as e: |
| 65 | logger.exception(f"Rank {self.rank} initialization failed: {str(e)}") |
| 66 | return False |
| 67 | |
| 68 | async def process_request(self, task_data: Dict[str, Any]) -> Dict[str, Any]: |
| 69 | has_error = False |
no test coverage detected