nat.data_models.optimizer#

Classes#

OptimizerMetric

Parameters used by the workflow optimizer to define a metric to optimize.

NumericOptimizationConfig

Configuration for numeric/enum optimization (Optuna).

PromptGAOptimizationConfig

Configuration for prompt optimization using a Genetic Algorithm.

OptimizerConfig

Parameters used by the workflow optimizer.

OptimizerRunConfig

Parameters used for an Optimizer R=run

Module Contents#

class OptimizerMetric(/, **data: Any)#

Bases: pydantic.BaseModel

Parameters used by the workflow optimizer to define a metric to optimize.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

evaluator_name: str = None#
direction: str = None#
weight: float = None#
class NumericOptimizationConfig(/, **data: Any)#

Bases: pydantic.BaseModel

Configuration for numeric/enum optimization (Optuna).

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

enabled: bool = None#
n_trials: int = None#
class PromptGAOptimizationConfig(/, **data: Any)#

Bases: pydantic.BaseModel

Configuration for prompt optimization using a Genetic Algorithm.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

enabled: bool = None#
prompt_population_init_function: str | None = None#
prompt_recombination_function: str | None = None#
ga_population_size: int = None#
ga_generations: int = None#
ga_offspring_size: int | None = None#
ga_crossover_rate: float = None#
ga_mutation_rate: float = None#
ga_elitism: int = None#
ga_selection_method: str = None#
ga_tournament_size: int = None#
ga_parallel_evaluations: int = None#
ga_diversity_lambda: float = None#
class OptimizerConfig(/, **data: Any)#

Bases: pydantic.BaseModel

Parameters used by the workflow optimizer.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

output_path: pathlib.Path | None = None#
eval_metrics: dict[str, OptimizerMetric] | None = None#
reps_per_param_set: int = None#
target: float | None = None#
multi_objective_combination_mode: str = None#
numeric: NumericOptimizationConfig#
prompt: PromptGAOptimizationConfig#
class OptimizerRunConfig(/, **data: Any)#

Bases: pydantic.BaseModel

Parameters used for an Optimizer R=run

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

config_file: pathlib.Path | pydantic.BaseModel#
dataset: str | pathlib.Path | None#
result_json_path: str = '$'#
endpoint: str | None = None#
endpoint_timeout: int = 300#
override: tuple[tuple[str, str], Ellipsis] = ()#