diff --git a/py/routes/api_routes.py b/py/routes/api_routes.py index 83d791a8..b268744c 100644 --- a/py/routes/api_routes.py +++ b/py/routes/api_routes.py @@ -386,10 +386,10 @@ class ApiRoutes: versions = response.get('modelVersions', []) model_type = response.get('type', '') - # Check model type - should be LORA - if model_type.lower() != 'lora': + # Check model type - should be LORA or LoCon + if model_type.lower() not in ['lora', 'locon']: return web.json_response({ - 'error': f"Model type mismatch. Expected LORA, got {model_type}" + 'error': f"Model type mismatch. Expected LORA or LoCon, got {model_type}" }, status=400) # Check local availability for each version diff --git a/py/services/download_manager.py b/py/services/download_manager.py index 978211ea..d04611d8 100644 --- a/py/services/download_manager.py +++ b/py/services/download_manager.py @@ -136,15 +136,9 @@ class DownloadManager: # 3. Prepare download file_name = file_info['name'] save_path = os.path.join(save_dir, file_name) - file_size = file_info.get('sizeKB', 0) * 1024 # 4. Notify file monitor - use normalized path and file size - file_monitor = await self._get_lora_monitor() if model_type == "lora" else await self._get_checkpoint_monitor() - if file_monitor and file_monitor.handler: - file_monitor.handler.add_ignore_path( - save_path.replace(os.sep, '/'), - file_size - ) + # file monitor is despreted, so we don't need to use it # 5. Prepare metadata based on model type if model_type == "checkpoint": diff --git a/py/utils/recipe_parsers.py b/py/utils/recipe_parsers.py index 3d1dbc58..856302ef 100644 --- a/py/utils/recipe_parsers.py +++ b/py/utils/recipe_parsers.py @@ -426,10 +426,11 @@ class StandardMetadataParser(RecipeMetadataParser): resources = json.loads(resources_json) # Filter loras and checkpoints for resource in resources: - if resource.get('type') == 'lora': - # 确保 weight 字段被正确保留 + # Process both 'lora' and 'lycoris' types as loras + if resource.get('type') == 'lora' or resource.get('type') == 'lycoris': + # Ensure weight field is properly preserved lora_entry = resource.copy() - # 如果找不到 weight,默认为 1.0 + # Default to 1.0 if weight not found if 'weight' not in lora_entry: lora_entry['weight'] = 1.0 # Ensure modelVersionName is included