@@ -5988,6 +5988,79 @@ async def test_async_generate_user_scenarios(self):
59885988 self .mock_api_client .async_request .assert_called_once ()
59895989
59905990
5991+ class TestConvertRequestToDatasetRow :
5992+ """Unit tests for the _convert_request_to_dataset_row function."""
5993+
5994+ def test_convert_request_to_dataset_row_with_prompt_and_golden (self ):
5995+ request = vertexai_genai_types .EvaluationItemRequest (
5996+ prompt = vertexai_genai_types .EvaluationPrompt (text = "test prompt" ),
5997+ golden_response = vertexai_genai_types .CandidateResponse (
5998+ text = "golden response"
5999+ ),
6000+ )
6001+ result = _evals_common ._convert_request_to_dataset_row (request )
6002+ assert result ["prompt" ] == "test prompt"
6003+ assert result ["reference" ] == vertexai_genai_types .CandidateResponse (
6004+ text = "golden response"
6005+ )
6006+ assert result ["intermediate_events" ] == []
6007+ assert result ["agent_data" ] is None
6008+
6009+ def test_convert_request_to_dataset_row_with_user_scenario (self ):
6010+ request = vertexai_genai_types .EvaluationItemRequest (
6011+ prompt = vertexai_genai_types .EvaluationPrompt (
6012+ user_scenario = vertexai_genai_types .evals .UserScenario (
6013+ starting_prompt = "start prompt" , conversation_plan = "convo plan"
6014+ )
6015+ )
6016+ )
6017+ result = _evals_common ._convert_request_to_dataset_row (request )
6018+ assert result ["starting_prompt" ] == "start prompt"
6019+ assert result ["conversation_plan" ] == "convo plan"
6020+ assert result ["prompt" ] is None
6021+
6022+ def test_convert_request_to_dataset_row_with_candidate_events (self ):
6023+ request = vertexai_genai_types .EvaluationItemRequest (
6024+ candidate_responses = [
6025+ vertexai_genai_types .CandidateResponse (
6026+ candidate = "test-candidate" ,
6027+ text = "candidate text" ,
6028+ events = [
6029+ genai_types .Content (
6030+ parts = [genai_types .Part (text = "event part" )], role = "model"
6031+ )
6032+ ],
6033+ )
6034+ ]
6035+ )
6036+ result = _evals_common ._convert_request_to_dataset_row (request )
6037+ assert result ["test-candidate" ] == "candidate text"
6038+ assert result ["intermediate_events" ] == [
6039+ {
6040+ "event_id" : "test-candidate" ,
6041+ "content" : {
6042+ "parts" : [genai_types .Part (text = "event part" )],
6043+ "role" : "model" ,
6044+ },
6045+ }
6046+ ]
6047+ assert result ["agent_data" ] is None
6048+
6049+ def test_convert_request_to_dataset_row_with_agent_data (self ):
6050+ mock_agent_data = {"turns" : []}
6051+ request = vertexai_genai_types .EvaluationItemRequest (
6052+ candidate_responses = [
6053+ vertexai_genai_types .CandidateResponse (
6054+ candidate = "test-candidate" , agent_data = mock_agent_data
6055+ )
6056+ ]
6057+ )
6058+ result = _evals_common ._convert_request_to_dataset_row (request )
6059+ assert result ["test-candidate" ] is None
6060+ assert result ["agent_data" ] == mock_agent_data
6061+ assert result ["intermediate_events" ] == []
6062+
6063+
59916064class TestCreateEvaluationSetFromDataFrame :
59926065 """Unit tests for the _create_evaluation_set_from_dataframe function."""
59936066
0 commit comments