@@ -535,6 +535,17 @@ class PromptOptimizerMethod(_common.CaseInSensitiveEnum):
535535 """The data driven prompt optimizer designer for prompts from Android core API."""
536536
537537
538+ class EvaluationExperimentMergeStrategy(_common.CaseInSensitiveEnum):
539+ """Merge strategy for the evaluation experiment."""
540+
541+ MERGE_STRATEGY_UNSPECIFIED = "MERGE_STRATEGY_UNSPECIFIED"
542+ """Unspecified merge strategy."""
543+ SEQUENTIAL_HISTORY = "SEQUENTIAL_HISTORY"
544+ """Default. Runs are treated as an independent, sequential history."""
545+ SHARED_RESULT_SET = "SHARED_RESULT_SET"
546+ """Runs are parallel iterations contributing to a shared result set."""
547+
548+
538549class OptimizationMethod(_common.CaseInSensitiveEnum):
539550 """The method for data driven prompt optimization."""
540551
@@ -22747,6 +22758,73 @@ class ObservabilityEvalCaseDict(TypedDict, total=False):
2274722758ObservabilityEvalCaseOrDict = Union[ObservabilityEvalCase, ObservabilityEvalCaseDict]
2274822759
2274922760
22761+ class EvaluationExperiment(_common.BaseModel):
22762+ """Represents an experiment for iterating on and visualizing evaluation runs."""
22763+
22764+ name: Optional[str] = Field(
22765+ default=None,
22766+ description="""The resource name of the EvaluationExperiment. Format:
22767+ `projects/{project}/locations/{location}/evaluationExperiments/{evaluation_experiment}`.""",
22768+ )
22769+ display_name: Optional[str] = Field(
22770+ default=None, description="""The display name of the evaluation experiment."""
22771+ )
22772+ evaluation_runs: Optional[list[str]] = Field(
22773+ default=None,
22774+ description="""The EvaluationRuns that are part of this experiment.""",
22775+ )
22776+ labels: Optional[dict[str, str]] = Field(
22777+ default=None, description="""Labels for the evaluation experiment."""
22778+ )
22779+ merge_strategy: Optional[EvaluationExperimentMergeStrategy] = Field(
22780+ default=None, description="""Merge strategy for the evaluation experiment."""
22781+ )
22782+ metadata: Optional[dict[str, Any]] = Field(
22783+ default=None,
22784+ description="""Metadata about the evaluation experiment, can be used by the caller
22785+ to store additional tracking information about the experiment.""",
22786+ )
22787+ create_time: Optional[datetime.datetime] = Field(
22788+ default=None, description="""Timestamp when this experiment was created."""
22789+ )
22790+ update_time: Optional[datetime.datetime] = Field(
22791+ default=None, description="""Timestamp when this experiment was last updated."""
22792+ )
22793+
22794+
22795+ class EvaluationExperimentDict(TypedDict, total=False):
22796+ """Represents an experiment for iterating on and visualizing evaluation runs."""
22797+
22798+ name: Optional[str]
22799+ """The resource name of the EvaluationExperiment. Format:
22800+ `projects/{project}/locations/{location}/evaluationExperiments/{evaluation_experiment}`."""
22801+
22802+ display_name: Optional[str]
22803+ """The display name of the evaluation experiment."""
22804+
22805+ evaluation_runs: Optional[list[str]]
22806+ """The EvaluationRuns that are part of this experiment."""
22807+
22808+ labels: Optional[dict[str, str]]
22809+ """Labels for the evaluation experiment."""
22810+
22811+ merge_strategy: Optional[EvaluationExperimentMergeStrategy]
22812+ """Merge strategy for the evaluation experiment."""
22813+
22814+ metadata: Optional[dict[str, Any]]
22815+ """Metadata about the evaluation experiment, can be used by the caller
22816+ to store additional tracking information about the experiment."""
22817+
22818+ create_time: Optional[datetime.datetime]
22819+ """Timestamp when this experiment was created."""
22820+
22821+ update_time: Optional[datetime.datetime]
22822+ """Timestamp when this experiment was last updated."""
22823+
22824+
22825+ EvaluationExperimentOrDict = Union[EvaluationExperiment, EvaluationExperimentDict]
22826+
22827+
2275022828class RubricGroup(_common.BaseModel):
2275122829 """A group of rubrics.
2275222830
0 commit comments