Initial public ModelForge release

This commit is contained in:
Jens
2026-09-01 21:30:16 +02:00
commit 7082ab955a
490 changed files with 104252 additions and 0 deletions
@@ -0,0 +1,35 @@
capability: assistant.general
version: 1
description: General local text and multimodal assistant workloads.
input_schema:
type: object
required: [messages]
properties:
messages: {type: array, minItems: 1}
response_schema: {type: object}
output_schema:
type: object
required: [content]
properties:
content: {type: string}
structured_output: {type: object}
tool_calls: {type: array}
modalities: {input: [text, image], output: [text, json, tool_call]}
languages: [nl, en]
streaming: true
structured_output: true
quality_metrics: [task_success, instruction_following, structured_output_validity]
upgrade_class: behavioral
fallback: {allowed: false, mode: hard_fail}
privacy: {classification: confidential, allow_persistence: false, allow_logging_payloads: false, allow_network_egress: false}
resources: {accelerator_required: true, cpu_fallback_allowed: false}
production_priority: interactive
default_residency: keep_warm
estate:
category: ASSISTANTS
purpose: Future local general assistant contract; not an M9 executable baseline.
stability: planned
resource_class: EXCLUSIVE_GPU
evaluation_type: llm
consumers: [example-ops]
payload_limits: {max_bytes: 262144, max_batch_count: 1}
@@ -0,0 +1,24 @@
capability: assistant.vision
version: 1
description: Visual question answering and structured image reasoning.
input_schema: {type: object, required: [image, prompt], properties: {image: {type: string}, prompt: {type: string}}}
output_schema: {type: object, required: [content], properties: {content: {type: string}, structured_output: {type: object}}}
modalities: {input: [image, text], output: [text, json]}
languages: [nl, en]
streaming: false
structured_output: true
quality_metrics: [task_success, structured_output_validity]
upgrade_class: behavioral
fallback: {allowed: false, mode: hard_fail}
privacy: {classification: confidential, allow_persistence: false, allow_logging_payloads: false, allow_network_egress: false}
resources: {accelerator_required: true, cpu_fallback_allowed: false}
production_priority: interactive
default_residency: load_on_demand
estate:
category: ASSISTANTS
purpose: Future local image reasoning contract; not an M9 executable baseline.
stability: planned
resource_class: EXCLUSIVE_GPU
evaluation_type: llm
consumers: [examplevision, example-ops]
payload_limits: {max_bytes: 8388608, max_batch_count: 1, max_width: 4096, max_height: 4096}
+38
View File
@@ -0,0 +1,38 @@
capability: document.ocr
version: 1
description: OCR and structured document extraction.
input_schema:
type: object
additionalProperties: false
required: [content_base64, media_type]
properties:
content_base64: {type: string, minLength: 4, maxLength: 11184812}
media_type: {enum: [image/png, image/jpeg]}
language_hint: {enum: [nl, en, auto]}
output_schema:
type: object
additionalProperties: false
required: [text, pages]
properties:
text: {type: string}
pages: {type: array, minItems: 1, maxItems: 1}
blocks: {type: array}
confidence: {type: [number, 'null']}
modalities: {input: [image, document], output: [text, json]}
languages: [nl, en]
structured_output: true
quality_metrics: [cer, wer, field_accuracy, layout_accuracy]
upgrade_class: schema_breaking
fallback: {allowed: false, mode: hard_fail}
privacy: {classification: restricted, allow_persistence: false, allow_logging_payloads: false, allow_network_egress: false}
resources: {accelerator_required: true, cpu_fallback_allowed: false}
production_priority: background
default_residency: load_on_demand
estate:
category: DOCUMENT
purpose: Offline text extraction from bounded local document images.
stability: experimental
resource_class: MEDIUM
evaluation_type: ocr
consumers: [examplerag, examplevision, example-ops]
payload_limits: {max_bytes: 8388608, max_batch_count: 1, max_width: 4096, max_height: 4096, max_pages: 1}
+40
View File
@@ -0,0 +1,40 @@
capability: rag.embedding
version: 1
description: Multilingual text embeddings for semantic retrieval.
input_schema:
type: object
additionalProperties: false
required: [input]
properties:
input:
oneOf:
- {type: string, minLength: 1, maxLength: 8192}
- {type: array, items: {type: string, minLength: 1, maxLength: 8192}, minItems: 1, maxItems: 8}
output_schema:
type: object
additionalProperties: false
required: [vectors, dimension, normalized, embedding_space_id]
properties:
vectors: {type: array, minItems: 1, maxItems: 8, items: {type: array, minItems: 1024, maxItems: 1024, items: {type: number}}}
dimension: {const: 1024}
normalized: {const: true}
embedding_space_id: {type: string, format: uuid}
modalities: {input: [text], output: [vector]}
languages: [nl, en]
vector: {dimensionality: 1024, normalized: true, cross_deployment_compatible: false}
slo: {latency_p95_ms: 15000, availability_percent: 99.0, max_concurrency: 1}
quality_metrics: [recall_at_5, recall_at_10, mrr, ndcg_at_10]
upgrade_class: requires_reindex
fallback: {allowed: false, mode: hard_fail}
privacy: {classification: confidential, allow_persistence: false, allow_logging_payloads: false, allow_network_egress: false}
resources: {accelerator_required: true, cpu_fallback_allowed: false}
production_priority: production
default_residency: keep_warm
estate:
category: RAG
purpose: Multilingual semantic retrieval for local knowledge projects.
stability: stable
resource_class: MEDIUM
evaluation_type: retrieval
consumers: [examplerag, portfolio-assistant]
payload_limits: {max_bytes: 65536, max_batch_count: 8}
+54
View File
@@ -0,0 +1,54 @@
capability: rag.reranking
version: 1
description: Second-stage ranking of retrieved text candidates.
input_schema:
type: object
additionalProperties: false
required: [query, documents, top_n]
properties:
query: {type: string, minLength: 1, maxLength: 4000}
documents:
type: array
minItems: 1
maxItems: 40
items:
type: object
additionalProperties: false
required: [id, text]
properties:
id: {type: string, minLength: 1, maxLength: 255}
text: {type: string, minLength: 1, maxLength: 16384}
top_n: {type: integer, minimum: 1, maximum: 10}
output_schema:
type: object
additionalProperties: false
required: [results]
properties:
results:
type: array
maxItems: 10
items:
type: object
additionalProperties: false
required: [id, score, rank]
properties:
id: {type: string}
score: {type: number}
rank: {type: integer, minimum: 1, maximum: 10}
modalities: {input: [text], output: [score]}
languages: [nl, en]
quality_metrics: [mrr, ndcg_at_10, ranking_accuracy]
upgrade_class: behavioral
fallback: {allowed: false, mode: hard_fail}
privacy: {classification: confidential, allow_persistence: false, allow_logging_payloads: false, allow_network_egress: false}
resources: {accelerator_required: true, cpu_fallback_allowed: false}
production_priority: production
default_residency: load_on_demand
estate:
category: RAG
purpose: Evidence-gated second-stage ranking for retrieval pipelines.
stability: experimental
resource_class: MEDIUM
evaluation_type: retrieval
consumers: [examplerag]
payload_limits: {max_bytes: 262144, max_batch_count: 40}
@@ -0,0 +1,39 @@
capability: speech.transcription
version: 1
description: Offline bounded speech-to-text transcription.
input_schema:
type: object
additionalProperties: false
required: [audio_base64, media_type]
properties:
audio_base64: {type: string, minLength: 4, maxLength: 22369624}
media_type: {const: audio/wav}
language: {enum: [nl, en, fr, auto]}
output_schema:
type: object
additionalProperties: false
required: [text, language, duration_seconds]
properties:
text: {type: string}
language: {type: string}
duration_seconds: {type: number}
segments: {type: array}
modalities: {input: [audio], output: [text, json]}
languages: [nl, en, fr]
streaming: false
structured_output: true
quality_metrics: [wer, real_time_factor]
upgrade_class: behavioral
fallback: {allowed: false, mode: hard_fail}
privacy: {classification: restricted, allow_persistence: false, allow_logging_payloads: false, allow_network_egress: false}
resources: {accelerator_required: true, cpu_fallback_allowed: false}
production_priority: background
default_residency: load_on_demand
estate:
category: AUDIO
purpose: Private local transcription of bounded WAV audio without cloud fallback.
stability: experimental
resource_class: HEAVY
evaluation_type: asr
consumers: []
payload_limits: {max_bytes: 16777216, max_batch_count: 1, max_duration_seconds: 120}
@@ -0,0 +1,39 @@
capability: vision.embedding
version: 1
description: Image/text embeddings for visual retrieval.
input_schema:
type: object
additionalProperties: false
required: [items]
properties:
items:
type: array
minItems: 1
maxItems: 4
items:
oneOf:
- {type: object, additionalProperties: false, required: [image_base64, media_type], properties: {image_base64: {type: string}, media_type: {enum: [image/png, image/jpeg]}}}
- {type: object, additionalProperties: false, required: [text], properties: {text: {type: string, minLength: 1, maxLength: 4096}}}
output_schema:
type: object
required: [vectors]
properties:
vectors: {type: array, items: {type: array, items: {type: number}}}
modalities: {input: [image, text], output: [vector]}
languages: [nl, en]
vector: {dimensionality: null, normalized: null, cross_deployment_compatible: false}
quality_metrics: [recall_at_1, recall_at_5, recall_at_10, mrr]
upgrade_class: requires_reindex
fallback: {allowed: false, mode: hard_fail}
privacy: {classification: confidential, allow_persistence: false, allow_logging_payloads: false, allow_network_egress: false}
resources: {accelerator_required: true, cpu_fallback_allowed: false}
production_priority: interactive
default_residency: load_on_demand
estate:
category: VISION
purpose: Shared image and text vector space for local visual retrieval.
stability: experimental
resource_class: HEAVY
evaluation_type: visual-retrieval
consumers: [examplevision]
payload_limits: {max_bytes: 8388608, max_batch_count: 4, max_width: 4096, max_height: 4096}