Files
OBLITERATUS/docs/checkpoints/schemas/peft-adapter-manifest-v1.schema.json

62 lines
3.1 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://obliteratus.dev/schemas/peft-adapter-manifest-v1.schema.json",
"title": "OBLITERATUS PEFT Adapter Manifest v1",
"type": "object",
"additionalProperties": false,
"required": ["schema_id", "schema_version", "adapter_name", "adapter_type", "adapter_format_version", "base_model", "rank", "alpha", "scaling", "dropout", "bias", "modules_to_save", "target_modules", "tie_policy", "merged", "key_map_digest", "model_card_digest", "key_map"],
"properties": {
"schema_id": {"const": "obliteratus.peft-adapter-manifest"},
"schema_version": {"const": "1.0.0"},
"adapter_name": {"$ref": "#/$defs/id"},
"adapter_type": {"const": "lora"},
"adapter_format_version": {"const": "peft-lora-v1"},
"base_model": {"$ref": "#/$defs/baseModel"},
"rank": {"type": "integer", "minimum": 1, "maximum": 9223372036854775807},
"alpha": {"type": "integer", "minimum": 1, "maximum": 9223372036854775807},
"scaling": {"type": "number", "exclusiveMinimum": 0},
"dropout": {"type": "number", "minimum": 0, "exclusiveMaximum": 1},
"bias": {"const": "none"},
"modules_to_save": {"type": "array", "maxItems": 0},
"target_modules": {"type": "array", "minItems": 1, "uniqueItems": true, "items": {"$ref": "#/$defs/id"}},
"tie_policy": {"const": "base_model_declared"},
"merged": {"const": false},
"key_map_digest": {"$ref": "#/$defs/digest"},
"model_card_digest": {"$ref": "#/$defs/digest"},
"key_map": {"type": "array", "minItems": 1, "uniqueItems": true, "items": {"$ref": "#/$defs/keyMap"}}
},
"$defs": {
"id": {"type": "string", "minLength": 1, "maxLength": 512},
"digest": {"type": "string", "pattern": "^sha256:[0-9a-f]{64}$"},
"shape": {"type": "array", "minItems": 2, "maxItems": 2, "items": {"type": "integer", "minimum": 0, "maximum": 9223372036854775807}},
"baseModel": {
"type": "object",
"additionalProperties": false,
"required": ["repo_id", "revision", "weights_digest", "tokenizer_digest", "vocab_size", "architecture", "tied_embeddings"],
"properties": {
"repo_id": {"$ref": "#/$defs/id"},
"revision": {"type": "string", "pattern": "^[0-9a-f]{40,64}$"},
"weights_digest": {"$ref": "#/$defs/digest"},
"tokenizer_digest": {"$ref": "#/$defs/digest"},
"vocab_size": {"type": "integer", "minimum": 1, "maximum": 9223372036854775807},
"architecture": {"$ref": "#/$defs/id"},
"tied_embeddings": {"type": "boolean"}
}
},
"keyMap": {
"type": "object",
"additionalProperties": false,
"required": ["module_name", "target_module", "lora_A_key", "lora_B_key", "lora_A_shape", "lora_B_shape", "rank"],
"properties": {
"module_name": {"$ref": "#/$defs/id"},
"target_module": {"$ref": "#/$defs/id"},
"lora_A_key": {"$ref": "#/$defs/id"},
"lora_B_key": {"$ref": "#/$defs/id"},
"lora_A_shape": {"$ref": "#/$defs/shape"},
"lora_B_shape": {"$ref": "#/$defs/shape"},
"rank": {"type": "integer", "minimum": 1, "maximum": 9223372036854775807}
}
}
}
}