llamda.ga.reevo package

Submodules

llamda.ga.reevo.evolution module

llamda.ga.reevo.reevo module

class llamda.ga.reevo.reevo.ReEvo(config, problem, evaluator, output_dir, llm_client, reflector_llm=None, short_reflector_llm=None, long_reflector_llm=None, crossover_llm=None, mutation_llm=None)[source]

Bases: GeneticAlgorithm[ReEvoConfig, Problem]

Parameters:
evolve()[source]
Return type:

tuple[str, str]

init_population()[source]
Return type:

None

long_term_reflection(short_term_reflections)[source]

Long-term reflection before mutation.

Parameters:

short_term_reflections (list[str])

Return type:

None

random_select(population)[source]

Random selection, select individuals with equal probability.

Parameters:

population (list[Individual])

Return type:

list[Individual] | None

rank_select(population)[source]

Rank-based selection, select individuals with probability proportional to rank.

Parameters:

population (list[Individual])

Return type:

list[Individual] | None

response_to_individual(response, messages, name)[source]

Convert response to individual

Parameters:
Return type:

Individual

update_iter()[source]

Update after each iteration

Return type:

None

class llamda.ga.reevo.reevo.ReEvoConfig(max_fe: int = 100, pop_size: int = 10, init_pop_size: int = 30, mutation_rate: float = 0.5, diversify_init_pop: bool = True)[source]

Bases: object

Parameters:
  • max_fe (int)

  • pop_size (int)

  • init_pop_size (int)

  • mutation_rate (float)

  • diversify_init_pop (bool)

diversify_init_pop: bool = True
init_pop_size: int = 30
max_fe: int = 100
mutation_rate: float = 0.5
pop_size: int = 10
class llamda.ga.reevo.reevo.ReEvoLLMClients(generator_llm, reflector_llm=None, short_reflector_llm=None, long_reflector_llm=None, crossover_llm=None, mutation_llm=None)[source]

Bases: object

Parameters:

Module contents