nat.parameter_optimization.prompt_optimizer#

Attributes#

Classes#

Functions#

_on_prompt_trial_end(→ None)

Build TrialResults for each individual in a GA generation and fire on_trial_end.

_on_prompt_study_end(→ None)

Fire on_study_end for a completed prompt GA optimisation study.

optimize_prompts(→ None)

Module Contents#

logger#
_on_prompt_trial_end(
callback_manager: nat.profiler.parameter_optimization.optimizer_callbacks.OptimizerCallbackManager | None,
population: collections.abc.Sequence[Any],
eval_metrics: list[str],
frozen_params: dict[str, Any] | None,
prompt_format_map: dict[str, str | None],
best: Any,
) None#

Build TrialResults for each individual in a GA generation and fire on_trial_end.

_on_prompt_study_end(
callback_manager: nat.profiler.parameter_optimization.optimizer_callbacks.OptimizerCallbackManager | None,
best: Any,
frozen_params: dict[str, Any] | None,
prompt_format_map: dict[str, str | None],
trial_number_offset: int,
generations: int,
pop_size: int,
) None#

Fire on_study_end for a completed prompt GA optimisation study.

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

Bases: pydantic.BaseModel

original_prompt: str#
objective: str#
oracle_feedback: str | None = None#
async optimize_prompts(
*,
base_cfg: nat.data_models.config.Config,
full_space: dict[str, nat.data_models.optimizable.SearchSpace],
optimizer_config: nat.data_models.optimizer.OptimizerConfig,
opt_run_config: nat.data_models.optimizer.OptimizerRunConfig,
callback_manager: nat.profiler.parameter_optimization.optimizer_callbacks.OptimizerCallbackManager | None = None,
trial_number_offset: int = 0,
frozen_params: dict[str, Any] | None = None,
) None#