Skip to content

[Bug]: Additional LLM provider prices dropped at load time (missing from PROVIDERS_MAPPING) #7697

Description

@Anuj7411

What component(s) are affected?

  • Opik Server

Describe the problem

Following the provider-registration fixes already merged for azure (#7262), xai (#7433), deepseek (#7434), perplexity (#7432), fireworks_ai (#7554) and moonshot (#7604), several more high-volume providers are still dropped at load time. CostService.buildModelPrice returns null for any entry whose litellm_provider is not in PROVIDERS_MAPPING, so every model tagged with an unregistered provider gets no cost.

Scanning the bundled model_prices_and_context_window.json for litellm_provider values that carry non-zero-cost entries but are absent from PROVIDERS_MAPPING, the remaining gaps are (approx. non-zero-priced model counts):

  • openrouter (~92, with ~32 carrying cache_read rates)
  • novita (~85)
  • deepinfra (~67)
  • together_ai (~36)
  • nebius (~30)
  • databricks (~28)
  • snowflake (~21, ~9 with cache_read)
  • sambanova (~17)
  • cerebras (~7)

The OpenAI-compatible inference providers (novita, deepinfra, nebius, snowflake, sambanova, cerebras, databricks) are the same shape as the ones already registered: map <provider> -> <provider> and route through textGenerationWithCacheCostOpenAI when the provider publishes cache rates, else textGenerationCost.

Aggregators (openrouter, together_ai) need more care. openrouter namespaces models under the origin vendor (e.g. moonshotai/*, anthropic/*) so it should reuse the existing provider-prefix fallback in findModelPrice rather than a naive openrouter -> openrouter mapping; together_ai currently only has parameter-size bucket entries (together-ai-4.1b-8b, ...) in the JSON, so it needs bucket-lookup logic, not just a mapping entry.

Additional info

Happy to open PRs for the clean single-vendor providers (they mirror the merged fireworks/moonshot PRs one-to-one) and to discuss the aggregator handling separately. Filing as a tracking issue first so the team can steer scope.

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