diff --git a/src/google/adk/optimization/local_eval_sampler.py b/src/google/adk/optimization/local_eval_sampler.py index 817ce0ca618..9044173d86a 100644 --- a/src/google/adk/optimization/local_eval_sampler.py +++ b/src/google/adk/optimization/local_eval_sampler.py @@ -164,13 +164,14 @@ def __init__( self._train_eval_set = self._config.train_eval_set self._train_eval_case_ids = ( self._config.train_eval_case_ids - or self._get_eval_case_ids(self._train_eval_set) + if self._config.train_eval_case_ids is not None + else self._get_eval_case_ids(self._train_eval_set) ) self._validation_eval_set = ( self._config.validation_eval_set or self._train_eval_set ) - if self._config.validation_eval_case_ids: + if self._config.validation_eval_case_ids is not None: self._validation_eval_case_ids = self._config.validation_eval_case_ids elif self._config.validation_eval_set: self._validation_eval_case_ids = self._get_eval_case_ids( diff --git a/tests/unittests/optimization/local_eval_sampler_test.py b/tests/unittests/optimization/local_eval_sampler_test.py index 546b632bba0..5438966e28a 100644 --- a/tests/unittests/optimization/local_eval_sampler_test.py +++ b/tests/unittests/optimization/local_eval_sampler_test.py @@ -197,6 +197,23 @@ def test_extract_single_invocation_info(): "_validation_eval_case_ids": ["v1"], }, ), + ( + {"train_eval_set": "train_set", "train_eval_case_ids": []}, + { + "_train_eval_case_ids": [], + "_validation_eval_case_ids": [], + }, + ), + ( + { + "train_eval_set": "train_set", + "validation_eval_case_ids": [], + }, + { + "_train_eval_case_ids": ["train_set_1", "train_set_2"], + "_validation_eval_case_ids": [], + }, + ), ], ) def test_local_eval_service_interface_init(