Skip to main content

Overview

Model Universe is the governance page for model availability. It lets admins browse the provider catalog, add approved models into the Genesis universe, define display names, and assign which workloads each model is available for. Actual Genesis Model Universe page showing provider catalog models and the configured model universe.

Workspace layout

When you open Model Universe from Change Models or the Embeddings tab, Genesis appends ?from=chat or ?from=embeddings to the URL. The back link returns to the matching AI Providers tab — on Stable (?tab=llm or ?tab=embeddings at /config/llm-providers/) or on Beta (?tab=chat or ?tab=embeddings at /config/ai-providers/). On Genesis Desktop, provider selection and model actions are available only for Genesis AI; interacting with another provider’s catalog opens the Genesis Enterprise modal. See AI Providers for the provider restriction.

Common tasks

  • add a recommended model to the universe,
  • register a custom model name,
  • review LiteLLM Proxy models auto-discovered after provider save (source_type: discovered),
  • inspect the underlying backend model for a proxy alias,
  • change a display name,
  • assign which workloads a model is available for,
  • remove a non-required model.
If Genesis cannot load a provider catalog live, it falls back to the recommended-model catalog in config/llm_config.yaml rather than a separate built-in list. Chat-model fallbacks come from llm_models.<provider>, embedding fallbacks come from embedding_models.<provider>, and the Fast tier uses models marked is_fast: true; if a provider has no is_fast entries, Genesis reuses that provider’s main chat fallback list.For litellm_gemini, the shipped fast-tier catalog entry is gemini/gemini-3.5-flash-lite; the shipped default chat entry is gemini/gemini-3.8-flash. These are catalog defaults and can be replaced from Change Models.For Anthropic-family models loaded through LiteLLM-managed providers, Genesis also applies the deployment’s llm_context_overrides from config/llm_config.yaml when it resolves model metadata. The current claude-fable-5-1.max_input_tokens override is 900000, the anthropic.family_default.max_input_tokens cap is 200000, the shipped claude-opus-5-5.max_input_tokens and claude-opus-5.max_input_tokens overrides are 900000, the claude-opus-4-8.max_input_tokens and claude-opus-4-7.max_input_tokens overrides are 300000. Databricks’ provider-qualified databricks-claude-opus-5-5 identifier resolves to the claude-opus-5-5 override and databricks-claude-opus-5 to claude-opus-5, so both caps are 900000 as well. The llm_context_overrides.openai.gpt-6.max_input_tokens override is 900000 for the GPT-6 family, including later gpt-6* SKUs, on OpenAI, Azure, and LiteLLM routes. Technical model identifiers that include -1m keep the provider-advertised 1M input window.Open-weight SKUs served under bare Snowflake Cortex technical names (for example llama3.1-70b or mistral-large) no longer carry a Genesis-side llm_context_overrides entry — LiteLLM’s own catalog does not advertise a context window for them either, so a custom model of that kind falls back to the generic context default. Claude models served through Cortex still resolve through the anthropic family overrides above.For LiteLLM Proxy, catalog and universe entries use the normalized bare proxy model id; Genesis strips litellm_proxy/ and proxy/ transport prefixes from discovery responses before persisting technical names. Saving or updating the LiteLLM Proxy provider materializes discovered models into Your Model Universe with source_type: discovered. The Change Models picker reads those materialized rows when present. Opening Change Models, the Embeddings model step, or the models step in the new-connection drawer also calls POST /api/config/model-universe/refresh?provider=litellm_proxy (throttled per process; see llm.proxy_universe_refresh_interval_seconds) so models added to the proxy after the connection was saved appear without re-saving that connection. Tier assignments are not re-inferred on refresh. When the universe is empty, opening Change Models or saving main-provider assignments triggers an idempotent self-heal: Genesis runs discovery and materializes rows once (no extra proxy round-trip when rows already exist) so underlying-model metadata is available without re-saving the provider connection. When /models discovery fails during materialization or refresh, Genesis preserves existing materialized rows instead of reconciling against an empty failed fetch. Live /models discovery is still used as a fallback when the universe is empty and materialization cannot reach the proxy. Discovered rows that include an underlying model show it in the model details dialog; custom rows you add manually keep source_type: custom and are not overwritten by discovery refresh. Proxy entries whose catalog mode is image_generation are labeled Image in the universe and are available for image_generation, not chat roles.

Automation surface