model entry (v1)
model-entry.v1.schema.json
Overview
The common entry core (entry-core.v1.schema.json) plus a required pointer to a full GA4GH Genomic AI Model Card and a small index projection mirrored from the Model Card and from Hugging Face's own listing conventions (internal project documentation Section 3.5.1). Models are referenced, never embedded: the Model Card remains the single authoritative document. hosting_location + access_uri are the fields that let this entry point at a model hosted anywhere: Hugging Face, GitHub, a container registry, a self-hosted endpoint, or a gated-request-only source.
Full specification: spec/model-card.md
This schema extends entry-core.v1.schema.json via allOf: every entry-core field is also required or available on this entry type, in addition to the fields below. This entry type additionally requires: model_card_uri. No properties beyond entry-core's and those listed below are permitted on this entry type.
Properties
typestringoptionalAlways "model" for entries of this type.
- Fixed value: "model"
model_card_uristringrequiredRequired. URI to a full GA4GH Genomic AI Model Card (internal project documentation Section 3.5.1, targeting Model Card v0.6.0). This is the deep-dive link the detail page renders prominently; no other Model Card content is duplicated into this entry.
- Format: uri
pipeline_tagstringoptionalMirrored from Hugging Face / Model Card Section 5's pipeline tag vocabulary, e.g. "text-generation", "variant-effect-prediction".
tagsarray of stringoptionalMirrored from Hugging Face / Model Card Section 5.
- Items must be unique
library_namestringoptionalMirrored from Hugging Face / Model Card Section 5, e.g. "transformers", "pytorch".
base_modelstringoptionalMirrored from Hugging Face / Model Card Section 5: the base or foundation model this model was fine-tuned or derived from, if any.
openness_classstringoptionalOptional, non-normative, submitter-asserted: the model's classification under the Model Openness Framework (MOF, Generative AI Commons at the LF AI & Data Foundation, confirmed live and actively maintained at https://isitopen.ai/ and https://lfaidata.foundation/resources/whitepapers/), an orthogonal-to-safety transparency classification of which lifecycle components (data, code, weights, documentation) are publicly released and under what licences. This field points to MOF's own class rather than the registry re-deriving or re-defining it; see the Model Openness Tool (MOT) at the same site for the authoritative per-class component checklist. Not cross-checked against safety_classification[] or certification_tier -- openness and safety/trust are deliberately independent axes.
- Allowed values: "I", "II", "III"
intended_domainstringoptionalModel Card Section 5.3 fallback for genomic tasks with no accepted Hugging Face pipeline_tag.
developed_bystringoptionalMirrored from Model Card Section 6.1.
release_datestringoptionalMirrored from Model Card Section 6.1.
- Format: date
hosting_locationstringoptionalWhere the model itself (weights, container, or gated-access endpoint) is hosted, distinct from where its source repository lives. This is what makes an externally hosted model addressable: a Hugging Face Hub model, a model published only as a GitHub release artefact, a container image, a self-hosted inference endpoint, or a gated-request-only model with no public download.
- Allowed values: "huggingface", "github", "docker", "self-hosted", "gated-request", "other"
access_uristringoptionalWhere to access or request the model, appropriate to hosting_location, e.g. a Hugging Face Hub URL (https://huggingface.co/<org>/<model>), a GitHub Releases URL, a container registry reference, or a gated-access request form URL.
- Format: uri
install_commandstringoptionalCopy-paste string to install or load the model, Ollama-style, e.g. a Hugging Face `pip install` and load snippet. Omitted where no meaningful install action exists (internal project documentation Section 5.3).
recommended_versionstringoptionalMLflow-alias-shaped pointer to the version a visitor should use by default, when this entry tracks more than one published version.
last_syncedstringoptionalTimestamp of the last mirror refresh of any fields on this entry sourced from an external listing (e.g. Hugging Face Hub metadata).
- Format: date-time
model_detailsobjectoptionalOptional (added in schema revision 1.1). Size, reference precision, weights availability and licence of the model artefact itself, plus known quantised variants.
parametersnumber or stringoptionalParameter count: a number (e.g. 345000000) or a short string with a K, M, B or T suffix, as the upstream states it (e.g. "7B", "2.5B").
- Pattern: ^[0-9]+(?:\.[0-9]+)?[KMBT]$
- Range: 0–unbounded
reference_precisionstringoptionalNumeric precision of the reference (unquantised) weights as published.
- Allowed values: "fp64", "fp32", "tf32", "fp16", "bf16", "fp8", "int8", "int4", "mixed", "other"
weights_availabilitystringoptionalopen: downloadable without approval; gated: downloadable after an access request or licence acceptance; api-only: usable only through a hosted service; unreleased: not available.
- Allowed values: "open", "gated", "api-only", "unreleased"
licencestringoptionalLicence of the weights, when it differs from or refines the entry's license field: an SPDX identifier from schemas/vocab/licenses.json, or "other".
- Length: 1–unbounded characters
quantisationsarray of objectoptionalKnown quantised variants of the model.
formatstringrequired- Allowed values: "gguf", "gptq", "awq", "bnb-8bit", "bnb-4bit", "onnx-int8", "mlx", "other"
bitsnumberrequiredBits per weight (may be fractional for mixed schemes, e.g. 4.5).
- Range: unbounded–32
publisherstringrequired"official" when released by the model's own publisher, otherwise the third-party publisher's name or account.
- Length: 1–unbounded characters
urlstringrequired- Format: uri
size_bytesintegeroptional- Range: 0–unbounded
registry_enrichmentobjectoptionalMirrored verbatim from Model Card Section 6.8b. Documentation-completeness oriented; MUST NOT be merged with an agent entry's trust-and-behaviour-oriented agent_info_snapshot.enrichment (internal project documentation Section 3.5.1).
completeness_scorenumberoptional- Range: 0–1
genomic_quality_scorenumberoptional- Range: 0–1
compliance_indicatorsarray of stringoptionallast_validatedstringoptional- Format: date-time
Raw schema
View raw schema JSON
View this file on the repository ↗
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://registry.biocommons.ai/schemas/model-entry.v1.schema.json",
"x-ga4gh-schema-revision": "1.1.1",
"title": "GA4GH AI Registry: model entry (v1)",
"description": "The common entry core (entry-core.v1.schema.json) plus a required pointer to a full GA4GH Genomic AI Model Card and a small index projection mirrored from the Model Card and from Hugging Face's own listing conventions (internal project documentation Section 3.5.1). Models are referenced, never embedded: the Model Card remains the single authoritative document. hosting_location + access_uri are the fields that let this entry point at a model hosted anywhere: Hugging Face, GitHub, a container registry, a self-hosted endpoint, or a gated-request-only source.",
"allOf": [
{
"$ref": "entry-core.v1.schema.json"
},
{
"type": "object",
"properties": {
"type": {
"const": "model"
},
"model_card_uri": {
"type": "string",
"format": "uri",
"description": "Required. URI to a full GA4GH Genomic AI Model Card (internal project documentation Section 3.5.1, targeting Model Card v0.6.0). This is the deep-dive link the detail page renders prominently; no other Model Card content is duplicated into this entry."
},
"pipeline_tag": {
"type": "string",
"description": "Mirrored from Hugging Face / Model Card Section 5's pipeline tag vocabulary, e.g. \"text-generation\", \"variant-effect-prediction\"."
},
"tags": {
"type": "array",
"description": "Mirrored from Hugging Face / Model Card Section 5.",
"items": {
"type": "string"
},
"uniqueItems": true
},
"library_name": {
"type": "string",
"description": "Mirrored from Hugging Face / Model Card Section 5, e.g. \"transformers\", \"pytorch\"."
},
"base_model": {
"type": "string",
"description": "Mirrored from Hugging Face / Model Card Section 5: the base or foundation model this model was fine-tuned or derived from, if any."
},
"openness_class": {
"type": "string",
"enum": [
"I",
"II",
"III"
],
"description": "Optional, non-normative, submitter-asserted: the model's classification under the Model Openness Framework (MOF, Generative AI Commons at the LF AI & Data Foundation, confirmed live and actively maintained at https://isitopen.ai/ and https://lfaidata.foundation/resources/whitepapers/), an orthogonal-to-safety transparency classification of which lifecycle components (data, code, weights, documentation) are publicly released and under what licences. This field points to MOF's own class rather than the registry re-deriving or re-defining it; see the Model Openness Tool (MOT) at the same site for the authoritative per-class component checklist. Not cross-checked against safety_classification[] or certification_tier -- openness and safety/trust are deliberately independent axes."
},
"intended_domain": {
"type": "string",
"description": "Model Card Section 5.3 fallback for genomic tasks with no accepted Hugging Face pipeline_tag."
},
"developed_by": {
"type": "string",
"description": "Mirrored from Model Card Section 6.1."
},
"release_date": {
"type": "string",
"format": "date",
"description": "Mirrored from Model Card Section 6.1."
},
"hosting_location": {
"type": "string",
"description": "Where the model itself (weights, container, or gated-access endpoint) is hosted, distinct from where its source repository lives. This is what makes an externally hosted model addressable: a Hugging Face Hub model, a model published only as a GitHub release artefact, a container image, a self-hosted inference endpoint, or a gated-request-only model with no public download.",
"enum": [
"huggingface",
"github",
"docker",
"self-hosted",
"gated-request",
"other"
]
},
"access_uri": {
"type": "string",
"format": "uri",
"description": "Where to access or request the model, appropriate to hosting_location, e.g. a Hugging Face Hub URL (https://huggingface.co/<org>/<model>), a GitHub Releases URL, a container registry reference, or a gated-access request form URL."
},
"install_command": {
"type": "string",
"description": "Copy-paste string to install or load the model, Ollama-style, e.g. a Hugging Face `pip install` and load snippet. Omitted where no meaningful install action exists (internal project documentation Section 5.3)."
},
"recommended_version": {
"type": "string",
"description": "MLflow-alias-shaped pointer to the version a visitor should use by default, when this entry tracks more than one published version."
},
"last_synced": {
"type": "string",
"format": "date-time",
"description": "Timestamp of the last mirror refresh of any fields on this entry sourced from an external listing (e.g. Hugging Face Hub metadata)."
},
"model_details": {
"$ref": "#/$defs/ModelDetails",
"description": "Optional (added in schema revision 1.1). Size, reference precision, weights availability and licence of the model artefact itself, plus known quantised variants."
},
"registry_enrichment": {
"type": "object",
"description": "Mirrored verbatim from Model Card Section 6.8b. Documentation-completeness oriented; MUST NOT be merged with an agent entry's trust-and-behaviour-oriented agent_info_snapshot.enrichment (internal project documentation Section 3.5.1).",
"properties": {
"completeness_score": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"genomic_quality_score": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"compliance_indicators": {
"type": "array",
"items": {
"type": "string"
}
},
"last_validated": {
"type": "string",
"format": "date-time"
}
},
"unevaluatedProperties": false
}
},
"required": [
"model_card_uri"
]
}
],
"$defs": {
"ModelDetails": {
"type": "object",
"properties": {
"parameters": {
"type": [
"number",
"string"
],
"description": "Parameter count: a number (e.g. 345000000) or a short string with a K, M, B or T suffix, as the upstream states it (e.g. \"7B\", \"2.5B\").",
"minimum": 0,
"pattern": "^[0-9]+(?:\\.[0-9]+)?[KMBT]$"
},
"reference_precision": {
"type": "string",
"description": "Numeric precision of the reference (unquantised) weights as published.",
"enum": [
"fp64",
"fp32",
"tf32",
"fp16",
"bf16",
"fp8",
"int8",
"int4",
"mixed",
"other"
]
},
"weights_availability": {
"type": "string",
"description": "open: downloadable without approval; gated: downloadable after an access request or licence acceptance; api-only: usable only through a hosted service; unreleased: not available.",
"enum": [
"open",
"gated",
"api-only",
"unreleased"
]
},
"licence": {
"type": "string",
"description": "Licence of the weights, when it differs from or refines the entry's license field: an SPDX identifier from schemas/vocab/licenses.json, or \"other\".",
"minLength": 1
},
"quantisations": {
"type": "array",
"description": "Known quantised variants of the model.",
"items": {
"$ref": "#/$defs/Quantisation"
}
}
},
"unevaluatedProperties": false
},
"Quantisation": {
"type": "object",
"required": [
"format",
"bits",
"publisher",
"url"
],
"properties": {
"format": {
"type": "string",
"enum": [
"gguf",
"gptq",
"awq",
"bnb-8bit",
"bnb-4bit",
"onnx-int8",
"mlx",
"other"
]
},
"bits": {
"type": "number",
"description": "Bits per weight (may be fractional for mixed schemes, e.g. 4.5).",
"exclusiveMinimum": 0,
"maximum": 32
},
"publisher": {
"type": "string",
"description": "\"official\" when released by the model's own publisher, otherwise the third-party publisher's name or account.",
"minLength": 1
},
"url": {
"type": "string",
"format": "uri"
},
"size_bytes": {
"type": "integer",
"minimum": 0
}
},
"unevaluatedProperties": false
}
},
"unevaluatedProperties": false
}