@@ -158,14 +158,13 @@ def test_eval_run(self):
158
158
159
159
@pytest .mark .usefixtures ("google_auth_mock" )
160
160
@mock .patch .object (client .Client , "_get_api_client" )
161
- @mock .patch .object (evals .Evals , "batch_eval " )
162
- def test_eval_batch_eval (self , mock_evaluate , mock_get_api_client ):
161
+ @mock .patch .object (evals .Evals , "batch_evaluate " )
162
+ def test_eval_batch_evaluate (self , mock_evaluate , mock_get_api_client ):
163
163
test_client = vertexai .Client (project = _TEST_PROJECT , location = _TEST_LOCATION )
164
- test_client .evals .batch_eval (
164
+ test_client .evals .batch_evaluate (
165
165
dataset = vertexai_genai_types .EvaluationDataset (),
166
166
metrics = [vertexai_genai_types .Metric (name = "test" )],
167
- output_config = vertexai_genai_types .OutputConfig (),
168
- autorater_config = vertexai_genai_types .AutoraterConfig (),
167
+ dest = "gs://bucket/output" ,
169
168
config = vertexai_genai_types .EvaluateDatasetConfig (),
170
169
)
171
170
mock_evaluate .assert_called_once ()
@@ -376,13 +375,14 @@ def test_inference_with_gcs_destination(
376
375
mock_generate_content_response
377
376
)
378
377
379
- gcs_dest_path = "gs://bucket/output.jsonl "
380
- config = vertexai_genai_types .EvalRunInferenceConfig (dest = gcs_dest_path )
378
+ gcs_dest_dir = "gs://bucket/output"
379
+ config = vertexai_genai_types .EvalRunInferenceConfig (dest = gcs_dest_dir )
381
380
382
381
inference_result = self .client .evals .run_inference (
383
382
model = "gemini-pro" , src = mock_df , config = config
384
383
)
385
384
385
+ expected_gcs_path = os .path .join (gcs_dest_dir , "inference_results.jsonl" )
386
386
expected_df_to_save = pd .DataFrame (
387
387
{
388
388
"prompt" : ["test prompt" ],
@@ -393,15 +393,15 @@ def test_inference_with_gcs_destination(
393
393
pd .testing .assert_frame_equal (saved_df , expected_df_to_save )
394
394
mock_gcs_utils .return_value .upload_dataframe .assert_called_once_with (
395
395
df = mock .ANY ,
396
- gcs_destination_blob_path = gcs_dest_path ,
396
+ gcs_destination_blob_path = expected_gcs_path ,
397
397
file_type = "jsonl" ,
398
398
)
399
399
pd .testing .assert_frame_equal (
400
400
inference_result .eval_dataset_df , expected_df_to_save
401
401
)
402
402
assert inference_result .candidate_name == "gemini-pro"
403
403
assert inference_result .gcs_source == vertexai_genai_types .GcsSource (
404
- uris = [gcs_dest_path ]
404
+ uris = [expected_gcs_path ]
405
405
)
406
406
407
407
@mock .patch .object (_evals_common , "Models" )
@@ -434,16 +434,17 @@ def test_inference_with_local_destination(
434
434
mock_generate_content_response
435
435
)
436
436
437
- local_dest_path = "/tmp/test/output_dir/results.jsonl "
438
- config = vertexai_genai_types .EvalRunInferenceConfig (dest = local_dest_path )
437
+ local_dest_dir = "/tmp/test/output_dir"
438
+ config = vertexai_genai_types .EvalRunInferenceConfig (dest = local_dest_dir )
439
439
440
440
inference_result = self .client .evals .run_inference (
441
441
model = "gemini-pro" , src = mock_df , config = config
442
442
)
443
443
444
- mock_makedirs .assert_called_once_with ("/tmp/test/output_dir" , exist_ok = True )
444
+ mock_makedirs .assert_called_once_with (local_dest_dir , exist_ok = True )
445
+ expected_save_path = os .path .join (local_dest_dir , "inference_results.jsonl" )
445
446
mock_df_to_json .assert_called_once_with (
446
- local_dest_path , orient = "records" , lines = True
447
+ expected_save_path , orient = "records" , lines = True
447
448
)
448
449
expected_df = pd .DataFrame (
449
450
{
@@ -457,7 +458,7 @@ def test_inference_with_local_destination(
457
458
458
459
@mock .patch .object (_evals_common , "Models" )
459
460
@mock .patch .object (_evals_utils , "EvalDatasetLoader" )
460
- def test_inference_from_request_column_save_locally (
461
+ def test_inference_from_request_column_save_to_local_dir (
461
462
self , mock_eval_dataset_loader , mock_models
462
463
):
463
464
mock_df = pd .DataFrame (
@@ -494,8 +495,8 @@ def test_inference_from_request_column_save_locally(
494
495
mock_generate_content_responses
495
496
)
496
497
497
- local_dest_path = "/tmp/output.jsonl "
498
- config = vertexai_genai_types .EvalRunInferenceConfig (dest = local_dest_path )
498
+ local_dest_dir = "/tmp/test_output_dir "
499
+ config = vertexai_genai_types .EvalRunInferenceConfig (dest = local_dest_dir )
499
500
500
501
inference_result = self .client .evals .run_inference (
501
502
model = "gemini-pro" , src = mock_df , config = config
@@ -530,13 +531,15 @@ def test_inference_from_request_column_save_locally(
530
531
expected_df .sort_values (by = "request" ).reset_index (drop = True ),
531
532
)
532
533
533
- with open (local_dest_path , "r" ) as f :
534
+ saved_file_path = os .path .join (local_dest_dir , "inference_results.jsonl" )
535
+ with open (saved_file_path , "r" ) as f :
534
536
saved_records = [json .loads (line ) for line in f ]
535
537
expected_records = expected_df .to_dict (orient = "records" )
536
538
assert sorted (saved_records , key = lambda x : x ["request" ]) == sorted (
537
539
expected_records , key = lambda x : x ["request" ]
538
540
)
539
- os .remove (local_dest_path )
541
+ os .remove (saved_file_path )
542
+ os .rmdir (local_dest_dir )
540
543
assert inference_result .candidate_name == "gemini-pro"
541
544
assert inference_result .gcs_source is None
542
545
0 commit comments