Skip to content

lm15 1.1.0

Choose a tag to compare

@MaximeRivest MaximeRivest released this 26 Sep 15:36

New providers and a Google Cloud pass, released together in Python, TypeScript, Rust and Go.

python3 -m pip install -U lm15

Four new providers: deepinfra, together, fireworks, parasail: open-model hosts on the Chat Completions wire. Keys DEEPINFRA_API_KEY, TOGETHER_API_KEY, FIREWORKS_API_KEY, PARASAIL_API_KEY; litellm's deepinfra/, together_ai/, fireworks_ai/, parasail/ prefixes also route. Every rule is measured live (lm15-contract changes/2026-09-26-inference-hosts-live.md):

  • A model's reasoning is sent back as reasoning_content in the next turn, never pasted into the visible text.
  • Reasoning "off" on a model that cannot stop reasoning, where the host accepts none and reasons anyway (Together gpt-oss and GLM-5.3, DeepInfra gpt-oss): the lowest level is sent and recorded on response.adaptations, as for xAI. New compat setting reasoning_off (send | lowest).
  • DeepInfra sends a forced tool call only to the 14 models a survey showed honour it, and refuses it elsewhere; Together refuses one on gpt-oss (the server answers 500) and clamps gpt-oss effort to low/medium/high.
  • Images in tool results reach the model on Fireworks and Parasail.
  • Fixes found on these hosts: a model catalog that is a bare JSON array (Together) is read, and an unrecognized shape is an error instead of an empty list; cached tokens reported flat on usage are read.

Google Cloud (lm15-contract changes/2026-09-26-vertex-live.md):

  • The Vertex project is found where Google's own tools find it: the setting, GOOGLE_CLOUD_PROJECT / GCLOUD_PROJECT, the credential file's project_id, gcloud's active configuration, the ADC file's quota project, then the metadata server when running on Google Cloud.
  • A Vertex API key works on the vertex door (x-goog-api-key); token-shaped strings still go as bearer tokens.
  • The doctor / explain_auth says where each setting came from, and each Google failure names its fix (a stale login, impersonation, federation, IAM 403), with no secret printed.
  • Live: 13 identity setups (gcloud login, service-account key, impersonation, workload identity federation, a plain token, API keys, a VM with only its attached account), all 200.

Checked: 3,577 package tests; 1,788 of 1,788 lm15-contract checks at fe5cdf9, the same as TypeScript, Rust and Go. Full notes: CHANGELOG.md.