nat.data_models.optimizer#
Attributes#
Classes#
Base for optimizer strategy configs (numeric, prompt) registered in the optimizer registry. |
|
Parameters used by the workflow optimizer to define a metric to optimize. |
|
Input schema for prompt optimizer mutator/recombiner helper functions. |
|
Enum where members are also (and must be) strings |
|
Configuration for Optuna-based numeric/enum parameter optimization. |
|
Base for all prompt optimization strategy configs. |
|
GA-specific prompt optimization config with typed oracle feedback fields. |
|
Shared optimizer parameters that any optimizer strategy could reuse. |
|
Full optimizer config used in the app Config and for parsing YAML. |
|
Parameters used for an Optimizer R=run |
Module Contents#
- class OptimizerStrategyBaseConfig(/, **data: Any)#
Bases:
nat.data_models.common.TypedBaseModel,nat.data_models.common.BaseModelRegistryTagBase for optimizer strategy configs (numeric, prompt) registered in the optimizer registry.
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.selfis explicitly positional-only to allowselfas a field name.
- class OptimizerMetric(/, **data: Any)#
Bases:
pydantic.BaseModelParameters 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.selfis explicitly positional-only to allowselfas a field name.
- class PromptOptimizerInputSchema(/, **data: Any)#
Bases:
pydantic.BaseModelInput schema for prompt optimizer mutator/recombiner helper functions.
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.selfis explicitly positional-only to allowselfas a field name.
- class SamplerType#
Bases:
enum.StrEnumEnum where members are also (and must be) strings
Initialize self. See help(type(self)) for accurate signature.
- BAYESIAN = 'bayesian'#
- GRID = 'grid'#
- class OptunaParameterOptimizationConfig(/, **data: Any)#
Bases:
OptimizerStrategyBaseConfigConfiguration for Optuna-based numeric/enum parameter optimization.
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.selfis explicitly positional-only to allowselfas a field name.- sampler: SamplerType | None = None#
- class PromptOptimizationConfig(/, **data: Any)#
Bases:
OptimizerStrategyBaseConfigBase for all prompt optimization strategy configs.
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.selfis explicitly positional-only to allowselfas a field name.
- class GAPromptOptimizationConfig(/, **data: Any)#
Bases:
PromptOptimizationConfigGA-specific prompt optimization config with typed oracle feedback fields.
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.selfis explicitly positional-only to allowselfas a field name.- ga_selection_method: Literal['tournament', 'roulette'] = None#
- oracle_feedback_mode: Literal['never', 'always', 'failing_only', 'adaptive'] = None#
- class BaseOptimizerConfig(/, **data: Any)#
Bases:
pydantic.BaseModelShared optimizer parameters that any optimizer strategy could reuse. Strategy-specific config lives on subtypes via the registry.
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.selfis explicitly positional-only to allowselfas a field name.- output_path: pathlib.Path | None = None#
- eval_metrics: dict[str, OptimizerMetric] | None = None#
- class OptimizerConfig(/, **data: Any)#
Bases:
BaseOptimizerConfigFull optimizer config used in the app Config and for parsing YAML. Extends the shared base with strategy-specific nests: .numeric for parameter/Optuna optimization, .prompt for prompt optimization.
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.selfis explicitly positional-only to allowselfas a field name.- numeric: OptunaParameterOptimizationConfig#
- prompt: GAPromptOptimizationConfig#
- OptimizerStrategyBaseConfigT#
- class OptimizerRunConfig(/, **data: Any)#
Bases:
pydantic.BaseModelParameters 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.selfis explicitly positional-only to allowselfas a field name.- config_file: pathlib.Path | pydantic.BaseModel#
- dataset: str | pathlib.Path | None#