feat: dynamically clean incompatible architectures
This commit is contained in:
@@ -15,23 +15,37 @@ def architecture_profile(
|
||||
architectures: Any,
|
||||
) -> dict[str, Any] | None:
|
||||
"""Build a stable, conservative architecture identity for feedback matching."""
|
||||
profiles = architecture_profiles(model_type, architectures)
|
||||
return profiles[0] if profiles else None
|
||||
|
||||
|
||||
def architecture_profiles(
|
||||
model_type: Any,
|
||||
architectures: Any,
|
||||
) -> list[dict[str, Any]]:
|
||||
"""Return exact architecture identity first, followed by model-type fallback."""
|
||||
normalized_architectures = _normalize_architectures(architectures)
|
||||
normalized_model_type = _normalize(model_type)
|
||||
profiles: list[dict[str, Any]] = []
|
||||
if normalized_architectures:
|
||||
return {
|
||||
"matchType": "architectures",
|
||||
"signature": "architectures:" + ",".join(normalized_architectures),
|
||||
"architectures": normalized_architectures,
|
||||
"modelType": normalized_model_type or None,
|
||||
}
|
||||
profiles.append(
|
||||
{
|
||||
"matchType": "architectures",
|
||||
"signature": "architectures:" + ",".join(normalized_architectures),
|
||||
"architectures": normalized_architectures,
|
||||
"modelType": normalized_model_type or None,
|
||||
}
|
||||
)
|
||||
if normalized_model_type:
|
||||
return {
|
||||
"matchType": "model_type",
|
||||
"signature": f"model_type:{normalized_model_type}",
|
||||
"architectures": [],
|
||||
"modelType": normalized_model_type,
|
||||
}
|
||||
return None
|
||||
profiles.append(
|
||||
{
|
||||
"matchType": "model_type",
|
||||
"signature": f"model_type:{normalized_model_type}",
|
||||
"architectures": [],
|
||||
"modelType": normalized_model_type,
|
||||
}
|
||||
)
|
||||
return profiles
|
||||
|
||||
|
||||
def architecture_compatibility_key(
|
||||
|
||||
Reference in New Issue
Block a user