Model providers are external services that host and serve models. Data Designer uses the ModelProvider class to configure connections to these services.
A ModelProvider defines how Data Designer connects to a provider’s API endpoint. When you create a ModelConfig, you reference a provider by name, and Data Designer uses that provider’s settings to make API calls to the appropriate endpoint.
Earlier versions of Data Designer let you omit provider= on ModelConfig and fall back to a registry-level default — including the default: key in ~/.data-designer/model_providers.yaml. That implicit routing is deprecated and will be removed in a future release. Always reference a provider by name on every ModelConfig. A DeprecationWarning is now emitted when the legacy path is exercised. See issue #589.
The ModelProvider class has the following fields:
Data Designer supports two provider types:
Most self-hosted and third-party endpoints expose an OpenAI-compatible API, so provider_type="openai" is the right choice in the majority of cases. Only use "anthropic" when connecting directly to Anthropic’s API at https://api.anthropic.com.
Note: Previous versions of Data Designer supported additional provider types (e.g.,
"azure","bedrock","vertex_ai") via a LiteLLM bridge. These are no longer supported. If you were using one of these types, switch toprovider_type="openai"and point theendpointto an OpenAI-compatible proxy or gateway for that service.
The api_key field can be specified in two ways:
Environment variable name (recommended): Set api_key to the name of an environment variable (e.g., "NVIDIA_API_KEY"). Data Designer will automatically resolve it at runtime.
Plain-text value: Set api_key to the actual API key string. This is less secure and not recommended for production use.