Table of Contents

Class NativeAPI.ConversationOptionalArgs

Namespace
Uralstech.UAI.LiteRTLM.Native
public static class NativeAPI.ConversationOptionalArgs
Inheritance
object
NativeAPI.ConversationOptionalArgs

Methods

litert_lm_conversation_optional_args_create()

Creates a LiteRT LM Conversation Optional Args. The caller is responsible for destroying the optional args using litert_lm_conversation_optional_args_delete(nint).

public static extern nint litert_lm_conversation_optional_args_create()

Returns

nint

A pointer to the created optional args, or nint.Zero on failure.

litert_lm_conversation_optional_args_delete(nint)

Destroys a LiteRT LM Conversation Optional Args.

public static extern void litert_lm_conversation_optional_args_delete(nint optionalArgs)

Parameters

optionalArgs nint

The optional args to destroy.

litert_lm_conversation_optional_args_set_constraint(nint, ConstraintType, string)

Sets the constraint for the conversation optional args.

public static extern void litert_lm_conversation_optional_args_set_constraint(nint optionalArgs, ConstraintType constraintType, string constraintString)

Parameters

optionalArgs nint

The optional args to modify.

constraintType ConstraintType

The type of constraint.

constraintString string

The constraint pattern/schema/grammar string.

litert_lm_conversation_optional_args_set_max_output_tokens(nint, int)

Sets the maximum number of output tokens for the conversation optional args.

public static extern void litert_lm_conversation_optional_args_set_max_output_tokens(nint optionalArgs, int maxOutputTokens)

Parameters

optionalArgs nint

The optional args to modify.

maxOutputTokens int

The maximum number of tokens to generate (including thinking tokens).

Remarks

For thinking models, both thinking (reasoning) tokens and the final response tokens count towards this limit.

litert_lm_conversation_optional_args_set_no_repeat_ngram_config(nint, nint)

Sets the no repeat ngram configuration for the per-turn conversation optional arguments (OptionalArgs).

public static extern void litert_lm_conversation_optional_args_set_no_repeat_ngram_config(nint optionalArgs, nint noRepeatNgramConfig)

Parameters

optionalArgs nint

The optional arguments structure (OptionalArgs) to modify.

noRepeatNgramConfig nint

The no repeat ngram configuration struct (LiteRtLmNoRepeatNgramConfig) created via litert_lm_no_repeat_ngram_config_create(). The contents are deep-copied when set. If nint.Zero, clears any previously set no repeat ngram config so no repeat ngram banning applies.

Remarks

The configured parameters (no_repeat_ngram_size, window_size) apply exclusively to the output sequence generated during the current send_message or send_message_async call.

litert_lm_conversation_optional_args_set_repetition_penalty_config(nint, nint)

Sets the repetition penalty configuration for the per-turn conversation optional arguments (OptionalArgs).

public static extern void litert_lm_conversation_optional_args_set_repetition_penalty_config(nint optionalArgs, nint repetitionPenaltyConfig)

Parameters

optionalArgs nint

The optional arguments structure (OptionalArgs) to modify.

repetitionPenaltyConfig nint

The repetition penalty configuration struct (LiteRtLmRepetitionPenaltyConfig) created via litert_lm_repetition_penalty_config_create(). The contents are deep-copied when set. If nint.Zero, clears any previously set repetition penalty config so no penalties apply.

Remarks

The configured penalties (repetition_penalty, presence_penalty, frequency_penalty, window_size) apply exclusively to the output sequence generated during the current send_message or send_message_async call.

litert_lm_conversation_optional_args_set_suppress_tokens_config(nint, nint)

Sets the suppress tokens configuration for the per-turn conversation optional arguments (OptionalArgs).

public static extern void litert_lm_conversation_optional_args_set_suppress_tokens_config(nint optionalArgs, nint suppressTokensConfig)

Parameters

optionalArgs nint

The optional arguments structure (OptionalArgs) to modify.

suppressTokensConfig nint

The suppress tokens configuration struct (LiteRtLmSuppressTokensConfig) created via litert_lm_suppress_tokens_config_create(). The contents are deep-copied when set. If nint.Zero or if the inner token set is disabled/empty, clears any previously set suppress tokens config so no token suppression applies.

Remarks

The configured list of suppressed tokens applies exclusively to the output sequence generated during the current send_message or send_message_async call.

litert_lm_conversation_optional_args_set_thinking_config(nint, nint)

Sets the thinking config for the conversation optional args.

public static extern void litert_lm_conversation_optional_args_set_thinking_config(nint optionalArgs, nint thinkingConfig)

Parameters

optionalArgs nint

The optional args to modify.

thinkingConfig nint

The thinking config to set. If nint.Zero, clears any previously set thinking config.

litert_lm_conversation_optional_args_set_visual_token_budget(nint, int)

Sets the visual token budget for the conversation optional args.

public static extern void litert_lm_conversation_optional_args_set_visual_token_budget(nint optionalArgs, int visualTokenBudget)

Parameters

optionalArgs nint

The optional args to modify.

visualTokenBudget int

The visual token budget.