llmize.methods.opro module
- class llmize.methods.opro.OPRO(problem_text=None, obj_func=None, llm_model=None, api_key=None)[source]
Bases:
Optimizer- No-index:
OPRO optimizer for optimizing tasks using a specified LLM model.
This class inherits from the Optimizer class and allows configuration of various parameters related to the optimization process.
- Parameters:
- __init__(problem_text=None, obj_func=None, llm_model=None, api_key=None)[source]
Initialize the OPRO optimizer with the provided configuration. Inherits from Optimizer.
- meta_prompt(batch_size, example_pairs, optimization_type='maximize')[source]
Generate a prompt for the LLM model to generate new solutions. Parameters: - batch_size (int): Number of new solutions to generate. - example_pairs (str): Example solutions and scores. - optimization_type (str): “maximize” or “minimize” (default: “maximize”).
Returns: - text: A formatted prompt structure.
- optimize(init_samples=None, init_scores=None, num_steps=None, batch_size=None, temperature=None, callbacks=None, verbose=1, optimization_type='maximize', parallel_n_jobs=None)[source]
Run the OPRO optimization algorithm.
Parameters: - init_samples (list): A list of initial solutions. - init_scores (list): A list of initial scores corresponding to init_samples. - num_steps (int): The number of optimization steps (default from config). - batch_size (int): The number of new solutions to generate at each step (default from config). - temperature (float): The temperature for the LLM model (default from config). - callbacks (list): A list of callback functions to be triggered at the end of each step. - optimization_type (str): “maximize” or “minimize” (default: “maximize”). - parallel_n_jobs (int): Number of parallel jobs for evaluation (default from config).
Returns: - results (OptimizationResult): An object containing the optimization results.