nd2py.search.llmsr package#

Subpackages#

Submodules#

nd2py.search.llmsr.llmsr module#

class nd2py.search.llmsr.llmsr.LLMSR(prompt: str, eval_program: callable, seed_program: callable, template: str = '{prompt}\n\n{eval_program}\n\n{seed_programs}', namespace: Dict[str, object] = {}, n_islands: int = 10, n_iter: int = 1000, programs_per_prompt: int = 2, temperature_init: float = 0.1, temperature_period: int = 30000, random_state: int | None = None, log_per_iter: int = 1, log_per_sec: float = None, save_path: str = None, llm_provider: str = 'SiliconFlow', llm_model: str = 'Qwen3-8B')[source]#

Bases: BaseEstimator, RegressorMixin

__init__(prompt: str, eval_program: callable, seed_program: callable, template: str = '{prompt}\n\n{eval_program}\n\n{seed_programs}', namespace: Dict[str, object] = {}, n_islands: int = 10, n_iter: int = 1000, programs_per_prompt: int = 2, temperature_init: float = 0.1, temperature_period: int = 30000, random_state: int | None = None, log_per_iter: int = 1, log_per_sec: float = None, save_path: str = None, llm_provider: str = 'SiliconFlow', llm_model: str = 'Qwen3-8B')[source]#
fit(data: ndarray | DataFrame | Dict[str, ndarray])[source]#
Parameters:

data – (n_samples, n_dims)

init_islands(data) List[List[Individual]][source]#
evolve(islands: List[List[Individual]], data, n_iter=None) List[List[Individual]][source]#
tournament(islands: List[List[Individual]], data, n_iter=None) Tuple[int, List[Individual]][source]#
generate_prompt(individuals: List[Individual]) str[source]#
generate_children(prompt: str) List[Individual][source]#
clear(program: str) str | None[source]#
run_evaluate(program: str, **kwargs)[source]#
set_score(individuals: Individual | List[Individual], data)[source]#
set_fit_request(*, data: bool | None | str = '$UNCHANGED$') LLMSR#

Configure whether metadata should be requested to be passed to the fit method.

Note that this method is only relevant when this estimator is used as a sub-estimator within a meta-estimator and metadata routing is enabled with enable_metadata_routing=True (see sklearn.set_config()). Please check the User Guide on how the routing mechanism works.

The options for each parameter are:

  • True: metadata is requested, and passed to fit if provided. The request is ignored if metadata is not provided.

  • False: metadata is not requested and the meta-estimator will not pass it to fit.

  • None: metadata is not requested, and the meta-estimator will raise an error if the user provides it.

  • str: metadata should be passed to the meta-estimator with this given alias instead of the original name.

The default (sklearn.utils.metadata_routing.UNCHANGED) retains the existing request. This allows you to change the request for some parameters and not others.

Added in version 1.3.

Parameters:

data (str, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED) – Metadata routing for data parameter in fit.

Returns:

self – The updated object.

Return type:

object

set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') LLMSR#

Configure whether metadata should be requested to be passed to the score method.

Note that this method is only relevant when this estimator is used as a sub-estimator within a meta-estimator and metadata routing is enabled with enable_metadata_routing=True (see sklearn.set_config()). Please check the User Guide on how the routing mechanism works.

The options for each parameter are:

  • True: metadata is requested, and passed to score if provided. The request is ignored if metadata is not provided.

  • False: metadata is not requested and the meta-estimator will not pass it to score.

  • None: metadata is not requested, and the meta-estimator will raise an error if the user provides it.

  • str: metadata should be passed to the meta-estimator with this given alias instead of the original name.

The default (sklearn.utils.metadata_routing.UNCHANGED) retains the existing request. This allows you to change the request for some parameters and not others.

Added in version 1.3.

Parameters:

sample_weight (str, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED) – Metadata routing for sample_weight parameter in score.

Returns:

self – The updated object.

Return type:

object

nd2py.search.llmsr.llmsr.render_markdown(text: str, width=120, theme='staroffice') str[source]#
nd2py.search.llmsr.llmsr.render_python(text: str, width=120, highlight_lines=[], theme='staroffice') str[source]#