4040
4141_evals_common = _genai .evals ._evals_common
4242_evals_utils = _genai ._evals_utils
43+ _gcs_utils = _genai ._gcs_utils
44+ _evals_metric_loaders = _genai ._evals_metric_loaders
4345
4446pytestmark = pytest .mark .usefixtures ("google_auth_mock" )
4547
@@ -74,9 +76,9 @@ def mock_eval_dependencies(mock_api_client_fixture):
7476 ) as mock_bq_client , mock .patch (
7577 "vertexai._genai.evals.Evals.evaluate_instances"
7678 ) as mock_evaluate_instances , mock .patch (
77- "vertexai._genai._evals_utils .GcsUtils.upload_json_to_prefix"
79+ "vertexai._genai._gcs_utils .GcsUtils.upload_json_to_prefix"
7880 ) as mock_upload_to_gcs , mock .patch (
79- "vertexai._genai._evals_utils .LazyLoadedPrebuiltMetric._fetch_and_parse"
81+ "vertexai._genai._evals_metric_loaders .LazyLoadedPrebuiltMetric._fetch_and_parse"
8082 ) as mock_fetch_prebuilt_metric :
8183
8284 def mock_evaluate_instances_side_effect (* args , ** kwargs ):
@@ -181,6 +183,8 @@ def setup_method(self):
181183 importlib .reload (_evals_common )
182184 importlib .reload (_evals_metric_handlers )
183185 importlib .reload (_genai .evals )
186+ importlib .reload (_evals_metric_loaders )
187+ importlib .reload (_gcs_utils )
184188
185189 vertexai .init (
186190 project = _TEST_PROJECT ,
@@ -189,7 +193,7 @@ def setup_method(self):
189193 self .client = vertexai .Client (project = _TEST_PROJECT , location = _TEST_LOCATION )
190194
191195 @mock .patch .object (_evals_common , "Models" )
192- @mock .patch .object (_evals_utils , "EvalDatasetLoader" )
196+ @mock .patch .object (_evals_metric_loaders , "EvalDatasetLoader" )
193197 def test_inference_with_string_model_success (
194198 self , mock_eval_dataset_loader , mock_models
195199 ):
@@ -232,7 +236,7 @@ def test_inference_with_string_model_success(
232236 assert inference_result .candidate_name == "gemini-pro"
233237 assert inference_result .gcs_source is None
234238
235- @mock .patch .object (_evals_utils , "EvalDatasetLoader" )
239+ @mock .patch .object (_evals_metric_loaders , "EvalDatasetLoader" )
236240 def test_inference_with_callable_model_sets_candidate_name (
237241 self , mock_eval_dataset_loader
238242 ):
@@ -251,7 +255,7 @@ def my_model_fn(contents):
251255 assert inference_result .candidate_name == "my_model_fn"
252256 assert inference_result .gcs_source is None
253257
254- @mock .patch .object (_evals_utils , "EvalDatasetLoader" )
258+ @mock .patch .object (_evals_metric_loaders , "EvalDatasetLoader" )
255259 def test_inference_with_lambda_model_candidate_name_is_none (
256260 self , mock_eval_dataset_loader
257261 ):
@@ -273,7 +277,7 @@ def test_inference_with_lambda_model_candidate_name_is_none(
273277 )
274278 assert inference_result .gcs_source is None
275279
276- @mock .patch .object (_evals_utils , "EvalDatasetLoader" )
280+ @mock .patch .object (_evals_metric_loaders , "EvalDatasetLoader" )
277281 def test_inference_with_callable_model_success (self , mock_eval_dataset_loader ):
278282 mock_df = pd .DataFrame ({"prompt" : ["test prompt" ]})
279283 mock_eval_dataset_loader .return_value .load .return_value = mock_df .to_dict (
@@ -301,7 +305,7 @@ def mock_model_fn(contents):
301305 assert inference_result .gcs_source is None
302306
303307 @mock .patch .object (_evals_common , "Models" )
304- @mock .patch .object (_evals_utils , "EvalDatasetLoader" )
308+ @mock .patch .object (_evals_metric_loaders , "EvalDatasetLoader" )
305309 def test_inference_with_prompt_template (
306310 self , mock_eval_dataset_loader , mock_models
307311 ):
@@ -348,8 +352,8 @@ def test_inference_with_prompt_template(
348352 assert inference_result .gcs_source is None
349353
350354 @mock .patch .object (_evals_common , "Models" )
351- @mock .patch .object (_evals_utils , "EvalDatasetLoader" )
352- @mock .patch .object (_evals_utils , "GcsUtils" )
355+ @mock .patch .object (_evals_metric_loaders , "EvalDatasetLoader" )
356+ @mock .patch .object (_gcs_utils , "GcsUtils" )
353357 def test_inference_with_gcs_destination (
354358 self , mock_gcs_utils , mock_eval_dataset_loader , mock_models
355359 ):
@@ -402,7 +406,7 @@ def test_inference_with_gcs_destination(
402406 )
403407
404408 @mock .patch .object (_evals_common , "Models" )
405- @mock .patch .object (_evals_utils , "EvalDatasetLoader" )
409+ @mock .patch .object (_evals_metric_loaders , "EvalDatasetLoader" )
406410 @mock .patch ("pandas.DataFrame.to_json" )
407411 @mock .patch ("os.makedirs" )
408412 def test_inference_with_local_destination (
@@ -454,7 +458,7 @@ def test_inference_with_local_destination(
454458 assert inference_result .gcs_source is None
455459
456460 @mock .patch .object (_evals_common , "Models" )
457- @mock .patch .object (_evals_utils , "EvalDatasetLoader" )
461+ @mock .patch .object (_evals_metric_loaders , "EvalDatasetLoader" )
458462 def test_inference_from_request_column_save_to_local_dir (
459463 self , mock_eval_dataset_loader , mock_models
460464 ):
@@ -688,7 +692,7 @@ def test_inference_from_local_csv_file(self, mock_models):
688692 assert inference_result .gcs_source is None
689693
690694 @mock .patch .object (_evals_common , "Models" )
691- @mock .patch .object (_evals_utils , "EvalDatasetLoader" )
695+ @mock .patch .object (_evals_metric_loaders , "EvalDatasetLoader" )
692696 def test_inference_with_row_level_config_overrides (
693697 self , mock_eval_dataset_loader , mock_models
694698 ):
@@ -873,7 +877,7 @@ def mock_generate_content_logic(*args, **kwargs):
873877 assert inference_result .gcs_source is None
874878
875879 @mock .patch .object (_evals_common , "Models" )
876- @mock .patch .object (_evals_utils , "EvalDatasetLoader" )
880+ @mock .patch .object (_evals_metric_loaders , "EvalDatasetLoader" )
877881 def test_inference_with_multimodal_content (
878882 self , mock_eval_dataset_loader , mock_models
879883 ):
@@ -1107,7 +1111,7 @@ def test_run_inference_with_litellm_import_error(self, mock_api_client_fixture):
11071111 @mock .patch .object (_evals_common , "_is_gemini_model" )
11081112 @mock .patch .object (_evals_common , "_is_litellm_model" )
11091113 @mock .patch .object (_evals_common , "_is_litellm_vertex_maas_model" )
1110- @mock .patch .object (_evals_utils , "EvalDatasetLoader" )
1114+ @mock .patch .object (_evals_metric_loaders , "EvalDatasetLoader" )
11111115 def test_run_inference_with_litellm_parsing (
11121116 self ,
11131117 mock_eval_dataset_loader ,
@@ -3641,7 +3645,7 @@ def test_execute_evaluation_with_openai_schema(
36413645 name = "test_metric" , prompt_template = "Evaluate: {response}"
36423646 )
36433647
3644- with mock .patch .object (_evals_utils , "EvalDatasetLoader" ) as mock_loader_class :
3648+ with mock .patch .object (_evals_metric_loaders , "EvalDatasetLoader" ) as mock_loader_class :
36453649 mock_loader_instance = mock_loader_class .return_value
36463650 mock_loader_instance .load .return_value = mock_openai_raw_data
36473651
@@ -3894,7 +3898,7 @@ def test_execute_evaluation_lazy_loaded_prebuilt_metric_instance(
38943898 eval_dataset_df = dataset_df
38953899 )
38963900
3897- lazy_metric_instance = _evals_utils .LazyLoadedPrebuiltMetric (
3901+ lazy_metric_instance = _evals_metric_loaders .LazyLoadedPrebuiltMetric (
38983902 name = "fluency" , version = "v1"
38993903 )
39003904
@@ -4094,7 +4098,7 @@ def test_execute_evaluation_adds_creation_timestamp(
40944098class TestEvaluationDataset :
40954099 """Contains set of tests for the EvaluationDataset class methods."""
40964100
4097- @mock .patch .object (_evals_utils , "GcsUtils" )
4101+ @mock .patch .object (_gcs_utils , "GcsUtils" )
40984102 def test_load_from_observability_eval_cases (self , mock_gcs_utils ):
40994103 """Tests that load_from_observability_eval_cases reads data from GCS."""
41004104
@@ -4146,7 +4150,7 @@ def read_file_contents_side_effect(src: str) -> str:
41464150 ),
41474151 )
41484152
4149- @mock .patch .object (_evals_utils , "GcsUtils" )
4153+ @mock .patch .object (_gcs_utils , "GcsUtils" )
41504154 def test_load_from_observability_eval_cases_no_system_instruction (
41514155 self , mock_gcs_utils
41524156 ):
@@ -4198,7 +4202,7 @@ def read_file_contents_side_effect(src: str) -> str:
41984202 ),
41994203 )
42004204
4201- @mock .patch .object (_evals_utils , "GcsUtils" )
4205+ @mock .patch .object (_gcs_utils , "GcsUtils" )
42024206 def test_load_from_observability_eval_cases_multiple_cases (self , mock_gcs_utils ):
42034207 """Test load_from_observability_eval_cases can handle multiple cases."""
42044208
0 commit comments