From 1c95c320b7f4ad87914c8e432fff29d7f0f14f2f Mon Sep 17 00:00:00 2001 From: Brando Miranda Date: Sat, 26 Apr 2025 09:40:34 -0700 Subject: [PATCH 1/2] Update simba.py added max errors to simba and self.max_errors too for init --- dspy/teleprompt/simba.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dspy/teleprompt/simba.py b/dspy/teleprompt/simba.py index 17c1e29d08..81a1f6fd04 100644 --- a/dspy/teleprompt/simba.py +++ b/dspy/teleprompt/simba.py @@ -22,6 +22,7 @@ def __init__( max_demos=4, demo_input_field_maxlen=100_000, num_threads=None, + max_errors: int = 10, temperature_for_sampling=0.2, temperature_for_candidates=0.2, ): @@ -43,6 +44,7 @@ def __init__( self.max_demos = max_demos self.demo_input_field_maxlen = demo_input_field_maxlen self.num_threads = num_threads + self.max_errors = max_errors self.temperature_for_sampling = temperature_for_sampling self.temperature_for_candidates = temperature_for_candidates @@ -118,7 +120,7 @@ def register_new_program(prog: dspy.Module, score_list: list[float]): instance_idx = 0 # Parallel runner - run_parallel = dspy.Parallel(access_examples=False, num_threads=self.num_threads) + run_parallel = dspy.Parallel(access_examples=False, num_threads=self.num_threads, max_errors=self.max_errors) trial_logs = {} for batch_idx in range(self.max_steps): From 284c01d85adcc0079a26be116c8db99f0855ba90 Mon Sep 17 00:00:00 2001 From: Brando Miranda Date: Sat, 26 Apr 2025 09:49:43 -0700 Subject: [PATCH 2/2] Update simba.py --- dspy/teleprompt/simba.py | 1 + 1 file changed, 1 insertion(+) diff --git a/dspy/teleprompt/simba.py b/dspy/teleprompt/simba.py index 81a1f6fd04..d8509a522e 100644 --- a/dspy/teleprompt/simba.py +++ b/dspy/teleprompt/simba.py @@ -1,6 +1,7 @@ import dspy import random import logging +import sys import numpy as np from typing import Callable