LLMConfig class

Unified configuration class for all LLM providers

This class provides a common configuration interface while allowing provider-specific extensions through the extensions map.

Constructors

LLMConfig({String? apiKey, required String baseUrl, required String model, int? maxTokens, double? temperature, String? systemPrompt, Duration? timeout, double? topP, int? topK, List<Tool>? tools, ToolChoice? toolChoice, List<String>? stopSequences, String? user, ServiceTier? serviceTier, Map<String, dynamic> extensions = const {}})
const
LLMConfig.fromJson(Map<String, dynamic> json)
Create from JSON representation
factory

Properties

apiKey → String?
API key for authentication (if required)
final
baseUrl → String
Base URL for API requests
final
extensions → Map<String, dynamic>
Provider-specific configuration extensions
final
hashCode → int
The hash code for this object.
no setteroverride
maxTokens → int?
Maximum tokens to generate in responses
final
model → String
Model identifier/name to use
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
serviceTier → ServiceTier?
Service tier for API requests
final
stopSequences → List<String>?
Stop sequences for generation
final
systemPrompt → String?
System prompt/context to guide model behavior
final
temperature → double?
Temperature parameter for controlling response randomness (0.0-1.0)
final
timeout → Duration?
Request timeout duration
final
toolChoice → ToolChoice?
Tool choice strategy
final
tools → List<Tool>?
Function tools available to the model
final
topK → int?
Top-k sampling parameter
final
topP → double?
Top-p (nucleus) sampling parameter
final
user → String?
User identifier for tracking and analytics
final

Methods

copyWith({String? apiKey, String? baseUrl, String? model, int? maxTokens, double? temperature, String? systemPrompt, Duration? timeout, double? topP, int? topK, List<Tool>? tools, ToolChoice? toolChoice, List<String>? stopSequences, String? user, ServiceTier? serviceTier, Map<String, dynamic>? extensions}) → LLMConfig
Create a copy with modified common parameters
getExtension<T>(String key) → T?
Get a provider-specific extension value
hasExtension(String key) → bool
Check if an extension exists
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toJson() → Map<String, dynamic>
Convert to JSON representation
toString() → String
A string representation of this object.
override
withExtension(String key, dynamic value) → LLMConfig
Create a new config with a single extension
withExtensions(Map<String, dynamic> newExtensions) → LLMConfig
Create a new config with additional extensions

Operators

operator ==(Object other) → bool
The equality operator.
override