LLMGenerationOptions class


Options for a single text generation invocation.

Field names match Swift LLMGenerationOptions exactly; consumers may treat proto3 scalar defaults as "unset" (Swift handled this via Optionals — proto represents optional reference fields explicitly via optional keyword).

Available extensions

Constructors

LLMGenerationOptions({int? maxTokens, double? temperature, double? topP, int? topK, double? repetitionPenalty, Iterable<String>? stopSequences, bool? streamingEnabled, InferenceFramework? preferredFramework, String? systemPrompt, String? jsonSchema, ThinkingTagPattern? thinkingPattern, ExecutionTarget? executionTarget, StructuredOutputOptions? structuredOutput, bool? enableRealTimeTracking, Int64? seed, double? frequencyPenalty, double? presencePenalty, int? repeatLastN, double? minP, String? grammar, String? responseFormat, bool? echoPrompt, int? nThreads, ToolCallingOptions? toolCalling, bool? disableThinking})
factory
LLMGenerationOptions.fromBuffer(List<int> data, [ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY])
factory
LLMGenerationOptions.fromJson(String json, [ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY])
factory

Properties

disableThinking bool
When true, suppress the model's thinking/reasoning phase for this generation (e.g. Qwen3 / LFM2
getter/setter pair
echoPrompt bool
Include prompt text in the result/stream when the backend supports echo.
getter/setter pair
enableRealTimeTracking bool
Enable per-token/cost dashboard tracking for SDKs that surface live generation telemetry. No-op for backends without a telemetry sink.
getter/setter pair
executionTarget ExecutionTarget
Routing hint: where this generation should run (on-device, cloud, or SDK-decided AUTO). Mirrors the Web SDK ExecutionTarget knob.
getter/setter pair
frequencyPenalty double
OpenAI-compatible sampling penalties. 0.0 = disabled.
getter/setter pair
grammar String
Grammar or constrained-decoding rule text (GBNF/regex/backend-specific).
getter/setter pair
hashCode int
Calculates a hash code based on the contents of the protobuf.
no setterinherited
info_ → BuilderInfo
no setter
isFrozen bool
Returns true if this message is marked read-only. Otherwise false.
no setterinherited
jsonSchema String
Optional structured-output mode (JSON schema). Engine returns text that conforms to this schema. Swift wraps this in a StructuredOutputConfig struct with the Generatable.Type — proto carries just the schema string.
getter/setter pair
maxTokens int
Maximum number of tokens to generate. 0 (default) = unset → engine default (typically 100).
getter/setter pair
minP double
Minimum probability sampling. 0.0 = disabled.
getter/setter pair
nThreads int
Per-request backend thread hint. 0 = backend/runtime default.
getter/setter pair
preferredFramework InferenceFramework
Preferred inference framework. UNSPECIFIED = pick automatically.
getter/setter pair
presencePenalty double
getter/setter pair
repeatLastN int
Repeat-penalty lookback window. 0 = backend default.
getter/setter pair
repetitionPenalty double
Repetition penalty (Kotlin/Dart/RN field). 1.0 = no penalty.
getter/setter pair
responseFormat String
Caller-visible format hint: "text", "json_object", "json_schema", etc.
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
seed ↔ Int64
Deterministic sampling seed. 0 = backend/default random seed.
getter/setter pair
stopSequences → PbList<String>
Stop sequences. Generation halts when any of these strings appears in the output stream.
no setter
streamingEnabled bool
Whether to stream tokens vs return result at end (Swift field).
getter/setter pair
structuredOutput StructuredOutputOptions
Optional structured-output configuration. Detailed message lives in structured_output.proto so the schema/format details aren't duplicated here. When set, supersedes the simpler json_schema string above.
getter/setter pair
systemPrompt String
System prompt to define AI behavior and formatting rules.
getter/setter pair
temperature double
Sampling temperature (0.0 - 2.0). 0.0 = greedy decoding.
getter/setter pair
thinkingPattern ThinkingTagPattern
Optional thinking-tag pattern for extracting reasoning content from models like Qwen3 / LFM2 that emit blocks.
getter/setter pair
toolCalling ToolCallingOptions
Tool-calling contract for this generation. The SDK owns executor functions; proto carries only definitions and parser options.
getter/setter pair
topK int
Top-K sampling (Kotlin/Dart/RN field). 0 = disabled.
getter/setter pair
topP double
Nucleus sampling (top-p). 1.0 = no nucleus truncation.
getter/setter pair
unknownFields → UnknownFieldSet
no setterinherited

Methods

addExtension(Extension extension, Object? value) → void
Adds an extension field value to a repeated field.
inherited
check() → void
Throws a StateError if the message has required fields without a value.
inherited
clear() → void
Clears all data that was set in this message.
inherited
clearDisableThinking() → void
clearEchoPrompt() → void
clearEnableRealTimeTracking() → void
clearExecutionTarget() → void
clearExtension(Extension extension) → void
Clears an extension field and also removes the extension.
inherited
clearField(int tagNumber) → void
Clears the contents of a given field.
inherited
clearFrequencyPenalty() → void
clearGrammar() → void
clearJsonSchema() → void
clearMaxTokens() → void
clearMinP() → void
clearNThreads() → void
clearPreferredFramework() → void
clearPresencePenalty() → void
clearRepeatLastN() → void
clearRepetitionPenalty() → void
clearResponseFormat() → void
clearSeed() → void
clearStreamingEnabled() → void
clearStructuredOutput() → void
clearSystemPrompt() → void
clearTemperature() → void
clearThinkingPattern() → void
clearToolCalling() → void
clearTopK() → void
clearTopP() → void
clone() LLMGenerationOptions
Creates a deep copy of the fields in this message.
copyWith(void updates(LLMGenerationOptions)) LLMGenerationOptions
Apply updates to a copy of this message.
createEmptyInstance() LLMGenerationOptions
Creates an empty instance of the same message type as this.
deepCopy() → T

Available on T, provided by the GeneratedMessageGenericExtensions extension

Returns a writable deep copy of this message.
ensureStructuredOutput() StructuredOutputOptions
ensureThinkingPattern() ThinkingTagPattern
ensureToolCalling() ToolCallingOptions
extensionsAreInitialized() bool
inherited
freeze() → GeneratedMessage
Make this message read-only.
inherited
getDefaultForField(int tagNumber) → dynamic
Returns the default value for the given field.
inherited
getExtension(Extension extension) → dynamic
Returns the value of extension.
inherited
getField(int tagNumber) → dynamic
Returns the value of the field associated with tagNumber, or the default value if it is not set.
inherited
getFieldOrNull(int tagNumber) → dynamic
Returns the value of a field, ignoring any defaults.
inherited
getTagNumber(String fieldName) int?
inherited
hasDisableThinking() bool
hasEchoPrompt() bool
hasEnableRealTimeTracking() bool
hasExecutionTarget() bool
hasExtension(Extension extension) bool
Returns true if a value of extension is present.
inherited
hasField(int tagNumber) bool
Whether this message has a field associated with tagNumber.
inherited
hasFrequencyPenalty() bool
hasGrammar() bool
hasJsonSchema() bool
hasMaxTokens() bool
hasMinP() bool
hasNThreads() bool
hasPreferredFramework() bool
hasPresencePenalty() bool
hasRepeatLastN() bool
hasRepetitionPenalty() bool
hasRequiredFields() bool
Whether the message has required fields.
inherited
hasResponseFormat() bool
hasSeed() bool
hasStreamingEnabled() bool
hasStructuredOutput() bool
hasSystemPrompt() bool
hasTemperature() bool
hasThinkingPattern() bool
hasToolCalling() bool
hasTopK() bool
hasTopP() bool
isInitialized() bool
Whether all required fields in the message and embedded messages are set.
inherited
mergeFromBuffer(List<int> input, [ExtensionRegistry extensionRegistry = ExtensionRegistry.EMPTY]) → void
Merges serialized protocol buffer data into this message.
inherited
mergeFromCodedBufferReader(CodedBufferReader input, [ExtensionRegistry extensionRegistry = ExtensionRegistry.EMPTY]) → void
Same as mergeFromBuffer, but takes a CodedBufferReader input.
inherited
mergeFromJson(String data, [ExtensionRegistry extensionRegistry = ExtensionRegistry.EMPTY]) → void
Merges field values from data, a JSON object, encoded as described by GeneratedMessage.writeToJson.
inherited
mergeFromJsonMap(Map<String, dynamic> json, [ExtensionRegistry extensionRegistry = ExtensionRegistry.EMPTY]) → void
Merges field values from a JSON object represented as a Dart map.
inherited
mergeFromMessage(GeneratedMessage other) → void
Merges the contents of the other into this message.
inherited
mergeFromProto3Json(Object? json, {TypeRegistry typeRegistry = const TypeRegistry.empty(), bool ignoreUnknownFields = false, bool supportNamesWithUnderscores = true, bool permissiveEnums = false}) → void
Merges field values from json, a JSON object using proto3 encoding.
inherited
mergeUnknownFields(UnknownFieldSet unknownFieldSet) → void
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
rebuild(void updates(T)) → T

Available on T, provided by the GeneratedMessageGenericExtensions extension

Apply updates to a copy of this message.
setExtension(Extension extension, Object value) → void
Sets the value of a non-repeated extension field to value.
inherited
setField(int tagNumber, Object value) → void
Sets the value of a field by its tagNumber.
inherited
toBuilder() → GeneratedMessage
Creates a writable, shallow copy of this message.
inherited
toDebugString() String
Returns a String representation of this message.
inherited
toProto3Json({TypeRegistry typeRegistry = const TypeRegistry.empty()}) Object?
Returns an Object representing Proto3 JSON serialization of this.
inherited
toString() String
Returns a String representation of this message.
inherited
writeToBuffer() Uint8List
Serialize the message as the protobuf binary format.
inherited
writeToCodedBufferWriter(CodedBufferWriter output) → void
Same as writeToBuffer, but serializes to the given CodedBufferWriter.
inherited
writeToJson() String
Returns a JSON string that encodes this message.
inherited
writeToJsonMap() Map<String, dynamic>
Returns the JSON encoding of this message as a Dart Map.
inherited

Operators

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