Table of Contents

Class ProgramSynthesisOptions

Namespace
AiDotNet.ProgramSynthesis.Options
Assembly
AiDotNet.dll

Configuration options for enabling Program Synthesis / Code Tasks via the primary builder/result APIs.

public class ProgramSynthesisOptions
Inheritance
ProgramSynthesisOptions
Inherited Members

Remarks

This options type is intended for use with AiModelBuilder to configure a code model and safe defaults (tokenization and architecture) without requiring users to construct low-level engines.

For Beginners: These settings control which built-in code model to use and how big it is. You can usually accept the defaults and only change the language and model kind.

Properties

DefaultTask

Gets or sets the default code task type used for the configured architecture.

public CodeTask DefaultTask { get; set; }

Property Value

CodeTask

MaxSequenceLength

Gets or sets the maximum sequence length (in tokens) that the model can process.

public int MaxSequenceLength { get; set; }

Property Value

int

ModelKind

Gets or sets the built-in code model kind to configure when no explicit model is provided.

public ProgramSynthesisModelKind ModelKind { get; set; }

Property Value

ProgramSynthesisModelKind

NumDecoderLayers

Gets or sets the number of decoder layers used by the configured architecture.

public int NumDecoderLayers { get; set; }

Property Value

int

Remarks

This is only applicable for encoder-decoder models (e.g., CodeT5). For encoder-only models, this value is ignored.

NumEncoderLayers

Gets or sets the number of encoder layers used by the configured architecture.

public int NumEncoderLayers { get; set; }

Property Value

int

SynthesisType

Gets or sets the synthesis approach type used for the configured architecture.

public SynthesisType SynthesisType { get; set; }

Property Value

SynthesisType

TargetLanguage

Gets or sets the target programming language for the configured model.

public ProgramLanguage TargetLanguage { get; set; }

Property Value

ProgramLanguage

Tokenizer

Gets or sets an optional tokenizer to use for code tasks. If null, the builder will use an existing configured tokenizer or a safe default.

public ITokenizer? Tokenizer { get; set; }

Property Value

ITokenizer

VocabularySize

Gets or sets the vocabulary size used by the configured architecture.

public int VocabularySize { get; set; }

Property Value

int