| 
27 | 27 | _MAX_SAMPLES = None  | 
28 | 28 | 
 
  | 
29 | 29 | 
 
  | 
30 |  | -def _index_samples(samples: List[Any]) -> List[Tuple[Any, int]]:  | 
 | 30 | +def _index_samples(samples: List[Any], completed_ids: List[int] = []) -> List[Tuple[Any, int]]:  | 
31 | 31 |     """Shuffle `samples` and pair each sample with its index."""  | 
32 | 32 |     indices = list(range(len(samples)))  | 
33 | 33 |     random.Random(SHUFFLE_SEED).shuffle(indices)  | 
34 | 34 |     if _MAX_SAMPLES is not None:  | 
35 | 35 |         indices = indices[:_MAX_SAMPLES]  | 
36 | 36 |     logger.info(f"Evaluating {len(indices)} samples")  | 
37 |  | -    work_items = [(samples[i], i) for i in indices]  | 
 | 37 | +    work_items = [(samples[i], i) for i in indices if not i in completed_ids]  | 
38 | 38 |     return work_items  | 
39 | 39 | 
 
  | 
40 | 40 | 
 
  | 
@@ -120,7 +120,10 @@ def eval_all_samples(  | 
120 | 120 |         """  | 
121 | 121 |         Evaluate all provided samples in parallel.  | 
122 | 122 |         """  | 
123 |  | -        work_items = _index_samples(samples)  | 
 | 123 | +        samples_completed_ids = [int(event.sample_id.split(".")[-1]) for event in recorder.get_events(type="sampling")]  | 
 | 124 | +        logger.info(f"Completed samples: {samples_completed_ids}")  | 
 | 125 | + | 
 | 126 | +        work_items = _index_samples(samples, completed_ids=samples_completed_ids)  | 
124 | 127 |         threads = int(os.environ.get("EVALS_THREADS", "10"))  | 
125 | 128 |         show_progress = bool(os.environ.get("EVALS_SHOW_EVAL_PROGRESS", show_progress))  | 
126 | 129 | 
 
  | 
@@ -207,7 +210,10 @@ def eval_all_samples(  | 
207 | 210 |         """  | 
208 | 211 |         Evaluate all provided samples in parallel.  | 
209 | 212 |         """  | 
210 |  | -        work_items = _index_samples(samples)  | 
 | 213 | +        samples_completed_ids = [int(event.sample_id.split(".")[-1]) for event in recorder.get_events(type="sampling")]  | 
 | 214 | +        logger.info(f"Completed samples: {samples_completed_ids}")  | 
 | 215 | + | 
 | 216 | +        work_items = _index_samples(samples, completed_ids=samples_completed_ids)  | 
211 | 217 |         threads = int(os.environ.get("EVALS_THREADS", "10"))  | 
212 | 218 |         show_progress = bool(os.environ.get("EVALS_SHOW_EVAL_PROGRESS", show_progress))  | 
213 | 219 | 
 
  | 
 | 
0 commit comments