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
trueif this message is marked read-only. Otherwisefalse.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_schemastring 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
updatesto 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
trueif a value ofextensionis 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 aCodedBufferReaderinput.inherited -
mergeFromJson(
String data, [ExtensionRegistry extensionRegistry = ExtensionRegistry.EMPTY]) → void -
Merges field values from
data, a JSON object, encoded as described byGeneratedMessage.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
otherinto 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
Applyupdatesto 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 givenCodedBufferWriter.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