a1c00l commited on
Commit
d05fd64
·
verified ·
1 Parent(s): 95c032e

Update src/aibom_generator/generator.py

Browse files
Files changed (1) hide show
  1. src/aibom_generator/generator.py +24 -6
src/aibom_generator/generator.py CHANGED
@@ -381,13 +381,31 @@ class AIBOMGenerator:
381
  return model_card_section
382
 
383
  try:
384
- # Safely extract model parameters
385
- model_parameters = {}
 
 
 
 
 
 
 
386
  for k in ["base_model", "library_name", "pipeline_tag"]:
387
- if k in metadata:
388
- model_parameters[k] = metadata[k]
389
-
390
- if model_parameters:
 
 
 
 
 
 
 
 
 
 
 
391
  model_card_section["modelParameters"] = model_parameters
392
 
393
  # Safely extract evaluation results
 
381
  return model_card_section
382
 
383
  try:
384
+ # Create a CycloneDX-compliant modelParameters structure
385
+ # Instead of adding custom properties directly, use a standardized structure
386
+ model_parameters = {
387
+ "description": "Model parameters and configuration"
388
+ }
389
+
390
+ # Add properties array for custom parameters to ensure schema compliance
391
+ parameter_properties = []
392
+
393
  for k in ["base_model", "library_name", "pipeline_tag"]:
394
+ if k in metadata and metadata[k] is not None:
395
+ try:
396
+ if isinstance(metadata[k], (list, dict)):
397
+ value = json.dumps(metadata[k])
398
+ else:
399
+ value = str(metadata[k])
400
+ parameter_properties.append({
401
+ "name": k,
402
+ "value": value
403
+ })
404
+ except Exception as e:
405
+ print(f"Error processing model parameter {k}: {e}")
406
+
407
+ if parameter_properties:
408
+ model_parameters["properties"] = parameter_properties
409
  model_card_section["modelParameters"] = model_parameters
410
 
411
  # Safely extract evaluation results