Skip to content

Add OrcaRouter as a built-in model provider #897

Description

Is your feature request related to a problem? Please describe.

Data Designer ships a set of built-in model providers (nvidia, openai, openrouter) plus pre-configured model aliases for each. OrcaRouter — an OpenAI-compatible AI gateway that exposes a provider/model namespace across many upstream models — is currently missing, so users who want adaptive routing / automatic failover / zero-markup inference through a single endpoint must hand-roll a custom provider with a base URL instead of using a first-class built-in.

Describe the solution you'd like

Add orcarouter as a built-in model provider registered in PREDEFINED_PROVIDERS and PREDEFINED_PROVIDERS_MODEL_MAP, mirroring the existing openrouter wiring:

  • Provider: name=orcarouter, endpoint=https://api.orcarouter.ai/v1, provider_type=openai, api_key=ORCAROUTER_API_KEY
  • Model aliases: orcarouter-text, orcarouter-reasoning, orcarouter-vision, orcarouter-embedding
  • Update the default-model-settings fern docs and README quick-start so the new provider is discoverable.

Describe alternatives you've considered

Using a custom ModelProvider with an arbitrary base URL. This works, but it treats OrcaRouter as an anonymous endpoint and does not surface it as a first-class provider in data-designer config or the docs.

Agent Investigation

I explored the codebase to confirm the wiring pattern:

  • packages/data-designer-config/src/data_designer/config/utils/constants.py defines OPENROUTER_PROVIDER_NAME, OPENROUTER_API_KEY_ENV_VAR_NAME, PREDEFINED_PROVIDERS, and PREDEFINED_PROVIDERS_MODEL_MAP. A new orcarouter entry slots in exactly parallel to openrouter.
  • packages/data-designer-config/tests/config/test_default_model_settings.py asserts the builtin provider/model counts (3 providers, 12 model configs) and would need updating (→ 4 providers, 16 model configs).
  • The ModelFacade treats providers generically via provider_type="openai"; the only provider-specific code path is OpenRouter attribution-header injection, which is optional and not required for a new OpenAI-compatible provider.
  • Fern docs list the built-in providers in fern/versions/latest/pages/concepts/models/default-model-settings.mdx, index.mdx, model-providers.mdx, and custom-model-settings.mdx.

Checklist

  • I've reviewed existing issues and the documentation
  • This is a design proposal, not a "please build this" request

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions