Skip to content

Commit c24199a

Browse files
vertex-sdk-botcopybara-github
authored andcommitted
feat: GenAI Client(evals) - Add agent data to EvaluationRun show in Vertex AI GenAI SDK evals
PiperOrigin-RevId: 822275512
1 parent db286c4 commit c24199a

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

vertexai/_genai/_evals_common.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1435,6 +1435,7 @@ def _convert_request_to_dataset_row(
14351435
dict_row["reference"] = request.golden_response
14361436
for candidate in request.candidate_responses:
14371437
dict_row[candidate.candidate] = candidate.text if candidate.text else None
1438+
dict_row["intermediate_events"] = candidate.events if candidate.events else None
14381439
return dict_row
14391440

14401441

@@ -1499,6 +1500,7 @@ def _get_eval_cases_eval_dfs_from_eval_items(
14991500
def _get_eval_result_from_eval_items(
15001501
results: types.EvaluationRunResults,
15011502
eval_items: list[types.EvaluationItem],
1503+
agent_info: Optional[types.AgentInfo] = None,
15021504
) -> types.EvaluationResult:
15031505
"""Retrieves an EvaluationResult from the EvaluationRunResults.
15041506
@@ -1522,13 +1524,15 @@ def _get_eval_result_from_eval_items(
15221524
metadata=types.EvaluationRunMetadata(
15231525
candidate_names=candidate_names,
15241526
),
1527+
agent_info=agent_info,
15251528
)
15261529
return eval_result
15271530

15281531

15291532
def _convert_evaluation_run_results(
15301533
api_client: BaseApiClient,
15311534
evaluation_run_results: types.EvaluationRunResults,
1535+
agent_info: Optional[types.AgentInfo] = None,
15321536
) -> list[types.EvaluationItem]:
15331537
"""Retrieves an EvaluationItem from the EvaluationRunResults."""
15341538
if not evaluation_run_results or not evaluation_run_results.evaluation_set:
@@ -1545,12 +1549,15 @@ def _convert_evaluation_run_results(
15451549
evals_module.get_evaluation_item(name=item_name)
15461550
for item_name in eval_set.evaluation_items
15471551
]
1548-
return _get_eval_result_from_eval_items(evaluation_run_results, eval_items)
1552+
return _get_eval_result_from_eval_items(
1553+
evaluation_run_results, eval_items, agent_info
1554+
)
15491555

15501556

15511557
async def _convert_evaluation_run_results_async(
15521558
api_client: BaseApiClient,
15531559
evaluation_run_results: types.EvaluationRunResults,
1560+
agent_info: Optional[types.AgentInfo] = None,
15541561
) -> list[types.EvaluationItem]:
15551562
"""Retrieves an EvaluationItem from the EvaluationRunResults."""
15561563
if not evaluation_run_results or not evaluation_run_results.evaluation_set:
@@ -1568,7 +1575,9 @@ async def _convert_evaluation_run_results_async(
15681575
for eval_item in eval_set.evaluation_items
15691576
]
15701577
eval_items = await asyncio.gather(*tasks)
1571-
return _get_eval_result_from_eval_items(evaluation_run_results, eval_items)
1578+
return _get_eval_result_from_eval_items(
1579+
evaluation_run_results, eval_items, agent_info
1580+
)
15721581

15731582

15741583
def _object_to_dict(obj) -> dict[str, Any]:

vertexai/_genai/evals.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1293,10 +1293,11 @@ def get_evaluation_run(
12931293
if name.startswith("projects/"):
12941294
name = name.split("/")[-1]
12951295
result = self._get_evaluation_run(name=name, config=config)
1296+
agent_info = result.agent_info if result.agent_info else None
12961297
if include_evaluation_items:
12971298
result.evaluation_item_results = (
12981299
_evals_common._convert_evaluation_run_results(
1299-
self._api_client, result.evaluation_run_results
1300+
self._api_client, result.evaluation_run_results, agent_info
13001301
)
13011302
)
13021303
return result
@@ -2097,10 +2098,11 @@ async def get_evaluation_run(
20972098
if name.startswith("projects/"):
20982099
name = name.split("/")[-1]
20992100
result = await self._get_evaluation_run(name=name, config=config)
2101+
agent_info = result.agent_info if result.agent_info else None
21002102
if include_evaluation_items:
21012103
result.evaluation_item_results = (
21022104
await _evals_common._convert_evaluation_run_results_async(
2103-
self._api_client, result.evaluation_run_results
2105+
self._api_client, result.evaluation_run_results, agent_info
21042106
)
21052107
)
21062108

0 commit comments

Comments
 (0)