Skip to content

Class peagen.plugins.selectors.bootstrap_selector.BootstrapSelector

peagen.plugins.selectors.bootstrap_selector.BootstrapSelector

BootstrapSelector(backend, bootstrap, num_candidates=1)

Bases: ResultBackendSelector

Gen0 candidates come from a bootstrap list.

Source code in peagen/plugins/selectors/bootstrap_selector.py
11
12
13
14
15
16
def __init__(
    self, backend: Any, bootstrap: List[Dict[str, Any]], num_candidates: int = 1
) -> None:
    super().__init__(backend, num_candidates)
    self.bootstrap = bootstrap
    self._used_bootstrap = False

bootstrap instance-attribute

bootstrap = bootstrap

backend instance-attribute

backend = backend

num_candidates instance-attribute

num_candidates = num_candidates

select async

select()
Source code in peagen/plugins/selectors/bootstrap_selector.py
18
19
20
21
22
async def select(self) -> Dict[str, Any]:
    if not self._used_bootstrap:
        self._used_bootstrap = True
        return {"leader": None, "candidates": self.bootstrap}
    return await super().select()

get_tasks async

get_tasks()
Source code in peagen/plugins/selectors/selector_base.py
17
18
async def get_tasks(self) -> List[Dict[str, Any]]:
    return await self.backend.list_tasks()

get_leader async

get_leader(tasks)
Source code in peagen/plugins/selectors/selector_base.py
20
21
22
23
24
25
async def get_leader(self, tasks: List[Dict[str, Any]]) -> Dict[str, Any] | None:
    successes = [t for t in tasks if t.get("status") == Status.success.value]
    if successes:
        successes.sort(key=lambda d: d.get("result", {}).get("score", float("inf")))
        return successes[0]
    return None

get_running_candidates async

get_running_candidates(tasks)
Source code in peagen/plugins/selectors/selector_base.py
27
28
29
30
31
32
async def get_running_candidates(
    self, tasks: List[Dict[str, Any]]
) -> List[Dict[str, Any]]:
    running = [t for t in tasks if t.get("status") == Status.running.value]
    running.sort(key=lambda d: str(d.get("date_created") or ""))
    return running[: self.num_candidates]