Set a specific adapter as active with error handling
(self, model: PeftModel, adapter_id: str = None)
| 1186 | return self.cache_manager.get_or_load_adapter(model_key, adapter_id, _load_adapter) |
| 1187 | |
| 1188 | def set_active_adapter(self, model: PeftModel, adapter_id: str = None) -> bool: |
| 1189 | """Set a specific adapter as active with error handling""" |
| 1190 | if not isinstance(model, PeftModel): |
| 1191 | logger.warning("Model is not a PeftModel, cannot set active adapter") |
| 1192 | return False |
| 1193 | |
| 1194 | available_adapters = self.loaded_adapters.get(model, []) |
| 1195 | |
| 1196 | if not available_adapters: |
| 1197 | logger.warning("No adapters loaded in model") |
| 1198 | return False |
| 1199 | |
| 1200 | if adapter_id is None: |
| 1201 | adapter_id = available_adapters[-1] |
| 1202 | |
| 1203 | if adapter_id in available_adapters: |
| 1204 | try: |
| 1205 | model.set_adapter(self._get_adapter_name(adapter_id)) |
| 1206 | logger.info(f"Successfully set active adapter to: {adapter_id}") |
| 1207 | return True |
| 1208 | except Exception as e: |
| 1209 | logger.error(f"Error setting adapter {adapter_id}: {str(e)}") |
| 1210 | return False |
| 1211 | else: |
| 1212 | logger.warning(f"Requested adapter {adapter_id} not loaded. Available adapters: {available_adapters}") |
| 1213 | return False |
| 1214 | |
| 1215 | class InferencePipeline: |
| 1216 | def __init__(self, model_config: ModelConfig, cache_manager, device_manager, model_manager, lora_manager): |
no test coverage detected