LLMBuilder class

Builder for configuring and instantiating LLM providers

Provides a fluent interface for setting various configuration options like model selection, API keys, generation parameters, etc.

The new version uses the provider registry system for extensibility.

Constructors

LLMBuilder()
Creates a new empty builder instance with default values

Properties

currentConfig → LLMConfig
Gets the current configuration (for internal use by builders)
no setter
hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

advancedWebSearch({WebSearchStrategy? strategy, WebSearchContextSize? contextSize, String? searchPrompt, int? maxUses, int? maxResults, List<String>? allowedDomains, List<String>? blockedDomains, WebSearchLocation? location, String? mode, String? fromDate, String? toDate, WebSearchType? searchType}) → LLMBuilder
Advanced web search configuration with full control
anthropic([AnthropicBuilder configure(AnthropicBuilder)?]) → LLMBuilder
apiKey(String key) → LLMBuilder
Sets the API key for authentication
audioFormat(String format) → LLMBuilder
Audio configuration methods
audioProcessingMode(String mode) → LLMBuilder
Advanced audio configuration methods
audioQuality(String quality) → LLMBuilder
audioSeed(int seed) → LLMBuilder
baseUrl(String url) → LLMBuilder
Sets the base URL for API requests
batchSize(int size) → LLMBuilder
build() → Future<ChatCapability>
Builds and returns a configured LLM provider instance
buildAssistant() → Future<AssistantCapability>
Builds a provider with AssistantCapability
buildAudio() → Future<AudioCapability>
Builds a provider with AudioCapability
buildEmbedding() → Future<EmbeddingCapability>
Builds a provider with EmbeddingCapability
buildFileManagement() → Future<FileManagementCapability>
Builds a provider with FileManagementCapability
buildGoogleTTS() → Future<GoogleTTSCapability>
Builds a Google provider with TTS capability
buildImageGeneration() → Future<ImageGenerationCapability>
Builds a provider with ImageGenerationCapability
buildModelListing() → Future<ModelListingCapability>
Builds a provider with ModelListingCapability
buildModeration() → Future<ModerationCapability>
Builds a provider with ModerationCapability
buildOpenAIResponses() → Future<OpenAIProvider>
Builds an OpenAI provider with Responses API enabled
cloudStorageUrl(String url) → LLMBuilder
deepseek() → LLMBuilder
deepseekOpenAI() → LLMBuilder
Convenience methods for OpenAI-compatible providers These use the OpenAI interface but with provider-specific configurations
diarize(bool enabled) → LLMBuilder
STT-specific configuration methods
elevenlabs([ElevenLabsBuilder configure(ElevenLabsBuilder)?]) → LLMBuilder
embeddingDimensions(int dimensions) → LLMBuilder
embeddingEncodingFormat(String format) → LLMBuilder
Convenience methods for common extensions
enableLogging(bool enabled) → LLMBuilder
enableWebSearch() → LLMBuilder
Web Search configuration methods
extension(String key, dynamic value) → LLMBuilder
Sets provider-specific extension
githubCopilot() → LLMBuilder
google([GoogleLLMBuilder configure(GoogleLLMBuilder)?]) → LLMBuilder
googleOpenAI() → LLMBuilder
groq() → LLMBuilder
groqOpenAI() → LLMBuilder
guidanceScale(double scale) → LLMBuilder
http(HttpConfig configure(HttpConfig)) → LLMBuilder
Configure HTTP settings using a fluent builder
imageSeed(String seed) → LLMBuilder
imageSize(String size) → LLMBuilder
Image generation configuration methods
includeTimestamps(bool enabled) → LLMBuilder
instructions(String instructions) → LLMBuilder
interleavedThinking(bool enable) → LLMBuilder
Enables interleaved thinking for Anthropic (Claude 4 models only)
jsonSchema(StructuredOutputFormat schema) → LLMBuilder
Sets structured output schema for JSON responses
languageCode(String code) → LLMBuilder
maxTokens(int tokens) → LLMBuilder
Sets the maximum number of tokens to generate
model(String model) → LLMBuilder
Sets the model identifier to use
newsSearch({int? maxResults, String? fromDate, String? toDate, List<String>? blockedDomains}) → LLMBuilder
Enables news search functionality
nextText(String text) → LLMBuilder
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
numInferenceSteps(int steps) → LLMBuilder
numSpeakers(int count) → LLMBuilder
ollama([OllamaBuilder configure(OllamaBuilder)?]) → LLMBuilder
openai([OpenAIBuilder configure(OpenAIBuilder)?]) → LLMBuilder
Convenience methods for built-in providers
openRouter([OpenRouterBuilder configure(OpenRouterBuilder)?]) → LLMBuilder
optimizeStreamingLatency(int level) → LLMBuilder
phind() → LLMBuilder
phindOpenAI() → LLMBuilder
previousText(String text) → LLMBuilder
prompt(String prompt) → LLMBuilder
promptEnhancement(bool enabled) → LLMBuilder
provider(String providerId) → LLMBuilder
Sets the provider to use (new registry-based approach)
quickWebSearch({int maxResults = 5, List<String>? blockedDomains}) → LLMBuilder
Quick web search setup with basic options
reasoning(bool enable) → LLMBuilder
Enables reasoning/thinking for supported providers (Anthropic, OpenAI o1, Ollama)
reasoningEffort(ReasoningEffort? effort) → LLMBuilder
Sets the reasoning effort for models that support it (e.g., OpenAI o1, Gemini) Valid values: ReasoningEffort.low, ReasoningEffort.medium, ReasoningEffort.high, or null to disable
responseFormat(String format) → LLMBuilder
sampleRate(int rate) → LLMBuilder
searchLocation(WebSearchLocation location) → LLMBuilder
Configures search location for localized results
serviceTier(ServiceTier tier) → LLMBuilder
Sets service tier for API requests
stopSequences(List<String> sequences) → LLMBuilder
Sets stop sequences for generation
systemPrompt(String prompt) → LLMBuilder
Sets the system prompt/context
tagAudioEvents(bool enabled) → LLMBuilder
temperature(double temp) → LLMBuilder
Sets the temperature for controlling response randomness (0.0-1.0)
textNormalization(String mode) → LLMBuilder
thinkingBudgetTokens(int tokens) → LLMBuilder
Sets thinking budget tokens for Anthropic extended thinking
timeout(Duration timeout) → LLMBuilder
Sets the global timeout for all HTTP operations
timestampGranularity(String granularity) → LLMBuilder
togetherAI() → LLMBuilder
toolChoice(ToolChoice choice) → LLMBuilder
Sets the tool choice
tools(List<Tool> tools) → LLMBuilder
Sets the function tools
topK(int topK) → LLMBuilder
Sets the top-k sampling parameter
topP(double topP) → LLMBuilder
Sets the top-p (nucleus) sampling parameter
toString() → String
A string representation of this object.
inherited
user(String userId) → LLMBuilder
Sets user identifier for tracking and analytics
voice(String voiceName) → LLMBuilder
Sets voice for text-to-speech (OpenAI providers)
webhook(bool enabled) → LLMBuilder
webSearch({int? maxUses, int? maxResults, List<String>? allowedDomains, List<String>? blockedDomains, WebSearchLocation? location, String? mode, String? fromDate, String? toDate}) → LLMBuilder
Configures web search with detailed options
xai() → LLMBuilder
xaiOpenAI() → LLMBuilder

Operators

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