diff --git a/src/google/adk/cli/cli_eval.py b/src/google/adk/cli/cli_eval.py index acf7c75..157daa6 100644 --- a/src/google/adk/cli/cli_eval.py +++ b/src/google/adk/cli/cli_eval.py @@ -38,7 +38,7 @@ from .utils import common logger = logging.getLogger(__name__) -class EvalMetric(BaseModel): +class EvalMetric(common.BaseModel): """A metric used to evaluate a particular aspect of an eval case.""" metric_name: str @@ -55,7 +55,7 @@ class EvalMetricResult(EvalMetric): eval_status: EvalStatus -class EvalMetricResultPerInvocation(BaseModel): +class EvalMetricResultPerInvocation(common.BaseModel): """Eval metric results per invocation.""" actual_invocation: Invocation diff --git a/src/google/adk/evaluation/eval_case.py b/src/google/adk/evaluation/eval_case.py index 58a738d..9a787a1 100644 --- a/src/google/adk/evaluation/eval_case.py +++ b/src/google/adk/evaluation/eval_case.py @@ -16,11 +16,20 @@ from typing import Any, Optional, Tuple from google.genai import types as genai_types +from pydantic import alias_generators from pydantic import BaseModel +from pydantic import ConfigDict from pydantic import Field -class IntermediateData(BaseModel): +class EvalBaseModel(BaseModel): + model_config = ConfigDict( + alias_generator=alias_generators.to_camel, + populate_by_name=True, + ) + + +class IntermediateData(EvalBaseModel): """Container for intermediate data that an agent would generate as it responds with a final answer.""" tool_uses: list[genai_types.FunctionCall] = [] @@ -38,7 +47,7 @@ class IntermediateData(BaseModel): """ -class Invocation(BaseModel): +class Invocation(EvalBaseModel): """Represents a single invocation.""" invocation_id: str = '' @@ -61,7 +70,7 @@ class Invocation(BaseModel): """Timestamp for the current invocation, primarily intended for debugging purposes.""" -class SessionInput(BaseModel): +class SessionInput(EvalBaseModel): """Values that help initialize a Session.""" app_name: str @@ -74,7 +83,7 @@ class SessionInput(BaseModel): """The state of the session.""" -class EvalCase(BaseModel): +class EvalCase(EvalBaseModel): """An eval case.""" eval_id: str