classify
Model-class classification for Databricks Model Serving endpoints.
Chat capability bands are derived from the live workspace catalogue
rather than a hand-maintained table. Databricks publishes
per-endpoint quality / speed / cost scores (the AI Playground
bars) on the serving list; classifyEndpoints buckets scored
chat models into the chat ModelClass bands by the relative
distribution of those scores (quantiles, not fixed cut-offs) so a
brand-new model that lands outside today’s score range still slots in
next to its peers. Embedding endpoints (task === "llm/v1/embeddings")
are bucketed into ModelClass.Embedding by task, independent of
any score.
Unscored-but-recognizable chat endpoints are still placed by a small
family heuristic (classifyByFamily) so a workspace whose
models predate Foundation Model API scoring keeps working. The
offline fallback floor - the hard-coded model list reached for when
the live catalogue can’t be read at all - is a server concern and
lives in @dbx-tools/model, not here: a browser client never talks
to Databricks directly, so it has nothing to fall back to.
Pure (no Node-only imports), so a client can classify a /models
response without server dependencies.