feat: add Lyceum provider - #6117
Conversation
Action items
|
8b85479 to
1d04102
Compare
|
Thanks, all eight items addressed in the amended commit. The full-enum lists were the wrong call: I had measured which
Every toggle and effort entry now carries a leading comment naming the wire On the two possible mistakes:
Lab
|
Action items
|
|
Fixed.
The leading comments now say which way the unlisted values go, since it differs
|
1d04102 to
5415b73
Compare
Action items
|
Lyceum is an EU-hosted OpenAI-compatible inference API. 42 model ids, all
third-party models, so every provider entry uses base_model.
Adds the lab metadata the listing needs: nousresearch/hermes-4-{70b,405b},
openbmb/minicpm-v-4_5, google/gemma-3-27b-it, nvidia/cosmos3-super-reasoner,
alibaba/qwen3-30b-a3b-instruct-2507, alibaba/qwen3-embedding-8b.
Cost, reasoning_options, interleaved, attachment and limit.output were each
read off the live API on 2026-09-02 rather than assumed, and every reasoning
entry carries a leading comment with the wire control it describes.
5415b73 to
6c6507d
Compare
|
Two of the four doubts were real bugs, one was a good question with a Fixed: Checked and kept One trap worth recording: on
So
|
|
No actionable findings. |
Lyceum (https://lyceum.technology) is an EU-hosted, OpenAI-compatible inference API.
42 model ids at
https://api.lyceum.technology/openai/v1, authLYCEUM_API_KEY.Lyceum hosts other labs' models, so every provider entry is
base_model+overrides. Six lab entries did not exist yet and are added under
models/:nousresearch/hermes-4-{70b,405b},openbmb/minicpm-v-4_5,google/gemma-3-27b-it,nvidia/cosmos3-super-reasoner,alibaba/qwen3-30b-a3b-instruct-2507,alibaba/qwen3-embedding-8b.Every provider-side value was measured against the live API on 2026-09-02, not
assumed:
cost:GET /api/v2/external/pricing?resource=serverless_inference, USD pertoken converted to USD/MTok.
reasoning_options: eachreasoning_effortvalue posted to/chat/completions(3 attempts, to separate real rejections from transients).noneis listed only where it demonstrably suppresses reasoning.[]meansthe host accepts no caller control, not that it went untested.
interleaved: which response key carries the reasoning text.truewhere itis
reasoning, which the schema's field enum does not cover.attachment: animage_urlcontent part posted per model; text-only modelsreject it, so the signal discriminates.
limit.output: the proxy rejectsmax_tokensabove 65536 for every model, soentries resolve to at most that. Three models cap lower and were bisected:
openbmb/minicpm-v-4_524576,qwen/qwen2.5-vl-72b-instructandqwen/qwen3-32bsit under the global cap already.Two id families are Lyceum-specific aliases, both resolved server-side and
priced identically to their target:
lyceum/{simple,complex,reasoning}(routeraliases) and the
-instantsuffix (pinsenable_thinking = falsefor clientsthat cannot set request parameters).
bun validatepasses.Happy to supply a test key to a maintainer out of band if CI needs one.