models.route
Rozhodne, který deklarovaný model uvedená potřeba vybere: první v pořadí deklarace, který splňuje každý požadavek, zbytek vyhovujících jako záložní řetězec a každý vyloučený model s první kontrolou, na které selhal. Čisté nad katalogem a vstupem — stejná otázka dostane stejnou odpověď a „proč“ je přímo v odpovědi.
Rozhodne, který deklarovaný model uvedená potřeba vybere: první v pořadí deklarace, který splňuje každý požadavek, zbytek vyhovujících jako záložní řetězec a každý vyloučený model s první kontrolou, na které selhal. Čisté nad katalogem a vstupem — stejná otázka dostane stejnou odpověď a „proč“ je přímo v odpovědi.
- query
- experimentální
- moduly models
- #models
- #routing
Zpřístupnění
Kde je tato jedna definice dosažitelná. Absence je explicitní: povrch, který není uveden, ji nenese.
| povrch | jako |
|---|---|
| MCP | nástroj majordomus_models_route |
| HTTP | GET /api/v1/models/route operationId models.route |
| příkazová řádka | majordomus models route |
Schémata
Kanonický vstup a výstup z typů Rustu; schéma nástroje MCP a parametry a odpovědi OpenAPI se odvozují z nich.
vstup · RouteInput
models.route: co úloha potřebuje, v transportně přívětivých skalárech (require je odděleno čárkami, aby ho unesl řetězec dotazu GET).| vlastnost | typ | povinné | popis |
|---|---|---|---|
| local_only | boolean | null | ne | Jen lokální inference. |
| min_context | integer | null | ne | Nejmenší kontextové okno, tokeny. |
| model | string | null | ne | Model pojmenovaný přímo, kanonickým id nebo aliasem — stále kontrolovaný vůči ostatním požadavkům. |
| require | string | null | ne | Slova schopností, která model musí deklarovat, oddělená čárkami: vision,tools. |
| vendor | string | null | ne | Pouze tento dodavatel. |
JSON Schema
{
"additionalProperties": false,
"description": "The input of `models.route`: what the task needs, in transport-friendly scalars\n(`require` is comma-separated so a GET query string can carry it).",
"properties": {
"local_only": {
"description": "Only local inference.",
"type": [
"boolean",
"null"
]
},
"min_context": {
"description": "The least context window, tokens.",
"format": "uint64",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"model": {
"description": "A model named outright, by canonical id or alias — still checked against the\nother requirements.",
"type": [
"string",
"null"
]
},
"require": {
"description": "Capability words the model must declare, comma-separated: `vision,tools`.",
"type": [
"string",
"null"
]
},
"vendor": {
"description": "Only this vendor.",
"type": [
"string",
"null"
]
}
},
"title": "RouteInput",
"type": "object"
}výstup · RoutingDecision
| vlastnost | typ | povinné | popis |
|---|---|---|---|
| vyloučeno | array | ne | Každý model, který nevyhověl, s důvodem. |
| záložní varianty | array | ne | Modely, které také vyhovují, v pořadí preferencí: záložní řetězec. |
| důvod | string | null | ne | Proč byl vybraný model vybrán. |
| vybráno | string | null | ne | Kanonické id vybraného modelu; None, když nic nevyhovuje. |
JSON Schema
{
"$defs": {
"ExcludedModel": {
"description": "One model that did not qualify, and exactly why.",
"properties": {
"model": {
"description": "The canonical id.",
"type": "string"
},
"reason": {
"description": "The first reason it fell out, in the order the checks run.",
"type": "string"
}
},
"required": [
"model",
"reason"
],
"type": "object"
}
},
"description": "The routing answer: what was selected, what stands behind it, who fell out and why.\nThe whole decision is derived from the catalogue and the requirements — run it\ntwice, get it twice; there is no state to consult and no health to guess.",
"properties": {
"excluded": {
"description": "Every model that did not qualify, with its reason.",
"items": {
"$ref": "#/$defs/ExcludedModel"
},
"type": "array"
},
"fallbacks": {
"description": "The models that also qualify, in preference order: the fallback chain.",
"items": {
"type": "string"
},
"type": "array"
},
"reason": {
"description": "Why the selected model was selected.",
"type": [
"string",
"null"
]
},
"selected": {
"description": "The selected model's canonical id; `None` when nothing qualifies.",
"type": [
"string",
"null"
]
}
},
"title": "RoutingDecision",
"type": "object"
}Politiky
- benchmark
- povinné — cíl na každém transportu, který expozice deklaruje; případy jsou ty ze vstupního typu
- cache
- vypnuto — každé volání spustí handler
Cíle benchmarku
Odvozeno z registru pro tento repozitář: jeden požadavek na transport a případy, které poskytuje typ vstupu. Celá matice je na stránce měření výkonu.