Spaces:
Running
Running
Update src/aibom_generator/generator.py
Browse files
src/aibom_generator/generator.py
CHANGED
@@ -381,13 +381,31 @@ class AIBOMGenerator:
|
|
381 |
return model_card_section
|
382 |
|
383 |
try:
|
384 |
-
#
|
385 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
386 |
for k in ["base_model", "library_name", "pipeline_tag"]:
|
387 |
-
if k in metadata:
|
388 |
-
|
389 |
-
|
390 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|