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