Skip to content

[Feature]: support model discovery with custom provider #20064

Description

@cornmail

Check for existing issues

  • I have searched the existing issues and checked that my issue is not a duplicate.

The Feature

Here is an example of how the desired config.yaml could look:

model_list:
  - model_name: my-custom-service/*  # Use a wildcard for the custom provider group
    litellm_params:
      model: custom_openai/* # The litellm provider identifier
      api_key: os.environ/MY_CUSTOM_PROVIDER_KEY
      api_base: "http://my-custom-provider-url.com/v1" # The endpoint for the custom provider

litellm_settings:
  check_provider_endpoint: true # Enable model discovery

With this configuration, a call to the LiteLLM proxy's /v1/models endpoint should trigger a discovery call to http://my-custom-provider-url.com/v1/models and return the result in the expected format.

This enhancement would significantly improve the integration of LiteLLM with the rapidly growing ecosystem of self-hosted and third-party OpenAI-compatible APIs.

Thank you for considering this feature request

Motivation, pitch

The new Model Discovery feature is an excellent addition for dynamically fetching a list of available models from a provider when using a wildcard in the configuration (e.g., xai/, openai/). This works well for the list of officially supported providers.

However, this functionality does not seem to extend to custom providers, specifically those that are OpenAI-compatible and configured using the custom_openai provider type. When using a custom OpenAI-compatible endpoint (like a private VLLM server, another LLM proxy, or a niche provider), we are still required to manually list every single model ID in the config.yaml. This is not scalable and requires manual configuration updates whenever the upstream provider adds or removes a model.

What part of LiteLLM is this about?

Proxy

LiteLLM is hiring a founding backend engineer, are you interested in joining us and shipping to all our users?

No

Twitter / LinkedIn details

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions