OpenAICompatibleProviderConfig class
OpenAI-compatible provider configuration
This configuration defines the capabilities and behavior of providers that use OpenAI-compatible APIs. Since these providers can vary significantly in their actual capabilities, this configuration provides:
- Default capability assumptions for unknown models
- Model-specific overrides for known models
- Flexible capability detection for dynamic scenarios
Constructors
-
OpenAICompatibleProviderConfig.new({required String providerId, required String displayName, required String description, required String defaultBaseUrl, required String defaultModel, required Set<
LLMCapability> supportedCapabilities, Set<LLMCapability> ? defaultCapabilities, bool allowDynamicCapabilities = true, Map<String, ModelCapabilityConfig> modelConfigs = const {}, bool supportsReasoningEffort = false, bool supportsStructuredOutput = false, Map<String, String> parameterMappings = const {}, RequestBodyTransformer? requestBodyTransformer, HeadersTransformer? headersTransformer}) -
const
Properties
- allowDynamicCapabilities → bool
-
Whether to allow dynamic capability detection
final
- defaultBaseUrl → String
-
Default base URL for API requests
final
-
defaultCapabilities
→ Set<
LLMCapability> ? -
Default capabilities assumed for unknown models
final
- defaultModel → String
-
Default model name
final
- description → String
-
Provider description
final
- displayName → String
-
Display name for UI
final
-
effectiveDefaultCapabilities
→ Set<
LLMCapability> -
Get effective default capabilities for unknown models
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- headersTransformer → HeadersTransformer?
-
Custom headers transformer for provider-specific headers
final
-
modelConfigs
→ Map<
String, ModelCapabilityConfig> -
Provider-specific model configurations
final
-
parameterMappings
→ Map<
String, String> -
Custom parameter mappings for this provider
final
- providerId → String
-
Provider identifier
final
- requestBodyTransformer → RequestBodyTransformer?
-
Custom request body transformer for provider-specific parameters
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
supportedCapabilities
→ Set<
LLMCapability> -
Supported capabilities for this provider
final
- supportsReasoningEffort → bool
-
Whether this provider supports reasoning effort parameter
final
- supportsStructuredOutput → bool
-
Whether this provider supports structured output
final
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited