feat(gateway): dispatch /v1/systemone by model
Clef-flash is a decision model, not a chat model. It serves Clef's own System One / Jev API at /v1/systemone: a state plus a schema of typed questions in, one probability per allowed option out, single prefill pass, no decoding and no free-form text. Router previously dispatched by body `model` only for /v1/chat/completions, /v1/embeddings and /v1/rerank. A request to /v1/systemone therefore fell through to the configured routes, found none, and answered "no routes configured". Adding the path to the dispatch predicate is the whole fix: routeByModel already sets upstreamPath := path, so the upstream receives /v1/systemone unchanged. There is deliberately no /rerank-style rewrite. Config: `ornith:35b` is removed with the Ollama predictor, and its GPU now serves clef-flash. `qwen2.5:3b-instruct` already pointed at qwen-cpu and is unchanged. Callers of ornith:35b must move to `reasoning`, which keeps its serving name while running Qwen3-30B-A3B. Tests cover body dispatch, unknown_model parity with the other three paths, and that the upstream path is not rewritten.
This commit is contained in:
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user