mirror of
https://github.com/googleapis/googleapis.git
synced 2026-08-17 13:06:47 +02:00
1706 lines
65 KiB
Protocol Buffer
1706 lines
65 KiB
Protocol Buffer
// Copyright 2026 Google LLC
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
syntax = "proto3";
|
|
|
|
package google.cloud.ces.v1beta;
|
|
|
|
import "google/api/field_behavior.proto";
|
|
import "google/api/resource.proto";
|
|
import "google/cloud/ces/v1beta/app.proto";
|
|
import "google/cloud/ces/v1beta/common.proto";
|
|
import "google/cloud/ces/v1beta/example.proto";
|
|
import "google/cloud/ces/v1beta/fakes.proto";
|
|
import "google/cloud/ces/v1beta/golden_run.proto";
|
|
import "google/cloud/ces/v1beta/session_service.proto";
|
|
import "google/cloud/ces/v1beta/toolset_tool.proto";
|
|
import "google/protobuf/duration.proto";
|
|
import "google/protobuf/struct.proto";
|
|
import "google/protobuf/timestamp.proto";
|
|
import "google/rpc/status.proto";
|
|
|
|
option go_package = "cloud.google.com/go/ces/apiv1beta/cespb;cespb";
|
|
option java_multiple_files = true;
|
|
option java_outer_classname = "EvaluationProto";
|
|
option java_package = "com.google.cloud.ces.v1beta";
|
|
|
|
// Aggregated metrics for an evaluation or evaluation dataset.
|
|
message AggregatedMetrics {
|
|
// Metrics for a single tool.
|
|
message ToolMetrics {
|
|
// Output only. The name of the tool.
|
|
string tool = 1 [
|
|
(google.api.field_behavior) = OUTPUT_ONLY,
|
|
(google.api.resource_reference) = { type: "ces.googleapis.com/Tool" }
|
|
];
|
|
|
|
// Output only. The number of times the tool passed.
|
|
int32 pass_count = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The number of times the tool failed.
|
|
int32 fail_count = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// Metrics for turn latency.
|
|
message TurnLatencyMetrics {
|
|
// Output only. The average latency of the turns.
|
|
google.protobuf.Duration average_latency = 1
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// Metrics for tool call latency.
|
|
message ToolCallLatencyMetrics {
|
|
// Output only. The name of the tool.
|
|
string tool = 1 [
|
|
(google.api.field_behavior) = OUTPUT_ONLY,
|
|
(google.api.resource_reference) = { type: "ces.googleapis.com/Tool" }
|
|
];
|
|
|
|
// Output only. The average latency of the tool calls.
|
|
google.protobuf.Duration average_latency = 2
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// Metrics for semantic similarity results.
|
|
message SemanticSimilarityMetrics {
|
|
// Output only. The average semantic similarity score (0-4).
|
|
float score = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// Metrics for hallucination results.
|
|
message HallucinationMetrics {
|
|
// Output only. The average hallucination score (0 to 1).
|
|
float score = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// Metrics aggregated per app version.
|
|
message MetricsByAppVersion {
|
|
// Output only. The app version ID.
|
|
string app_version_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Metrics for each tool within this app version.
|
|
repeated ToolMetrics tool_metrics = 2
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Metrics for semantic similarity within this app version.
|
|
repeated SemanticSimilarityMetrics semantic_similarity_metrics = 3
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Metrics for hallucination within this app version.
|
|
repeated HallucinationMetrics hallucination_metrics = 5
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Metrics for tool call latency within this app version.
|
|
repeated ToolCallLatencyMetrics tool_call_latency_metrics = 6
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Metrics for turn latency within this app version.
|
|
repeated TurnLatencyMetrics turn_latency_metrics = 7
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The number of times the evaluation passed.
|
|
int32 pass_count = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The number of times the evaluation failed.
|
|
int32 fail_count = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Metrics aggregated per turn within this app version.
|
|
repeated MetricsByTurn metrics_by_turn = 4
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// Metrics aggregated per turn.
|
|
message MetricsByTurn {
|
|
// Output only. The turn index (0-based).
|
|
int32 turn_index = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Metrics for each tool within this turn.
|
|
repeated ToolMetrics tool_metrics = 2
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Metrics for semantic similarity within this turn.
|
|
repeated SemanticSimilarityMetrics semantic_similarity_metrics = 3
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Metrics for hallucination within this turn.
|
|
repeated HallucinationMetrics hallucination_metrics = 4
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Metrics for tool call latency within this turn.
|
|
repeated ToolCallLatencyMetrics tool_call_latency_metrics = 5
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Metrics for turn latency within this turn.
|
|
repeated TurnLatencyMetrics turn_latency_metrics = 6
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// Output only. Aggregated metrics, grouped by app version ID.
|
|
repeated MetricsByAppVersion metrics_by_app_version = 3
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// An evaluation represents all of the information needed to simulate and
|
|
// evaluate an agent.
|
|
message Evaluation {
|
|
option (google.api.resource) = {
|
|
type: "ces.googleapis.com/Evaluation"
|
|
pattern: "projects/{project}/locations/{location}/apps/{app}/evaluations/{evaluation}"
|
|
plural: "evaluations"
|
|
singular: "evaluation"
|
|
};
|
|
|
|
// Represents a single, checkable requirement.
|
|
message GoldenExpectation {
|
|
// The actual check to perform.
|
|
oneof condition {
|
|
// Optional. Check that a specific tool was called with the parameters.
|
|
ToolCall tool_call = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Check that a specific tool had the expected response.
|
|
ToolResponse tool_response = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Check that the agent responded with the correct response. The
|
|
// role "agent" is implied.
|
|
Message agent_response = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Check that the agent transferred the conversation to a
|
|
// different agent.
|
|
AgentTransfer agent_transfer = 5 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Check that the agent updated the session variables to the
|
|
// expected values. Used to also capture agent variable updates for golden
|
|
// evals.
|
|
google.protobuf.Struct updated_variables = 6
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. The tool response to mock, with the parameters of interest
|
|
// specified. Any parameters not specified will be hallucinated by the
|
|
// LLM.
|
|
ToolResponse mock_tool_response = 7
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Optional. A note for this requirement, useful in reporting when specific
|
|
// checks fail. E.g., "Check_Payment_Tool_Called".
|
|
string note = 1 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// A step defines a singular action to happen during the evaluation.
|
|
message Step {
|
|
// The step to perform.
|
|
oneof step {
|
|
// Optional. User input for the conversation.
|
|
SessionInput user_input = 1 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Transfer the conversation to a different agent.
|
|
AgentTransfer agent_transfer = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Executes an expectation on the current turn.
|
|
GoldenExpectation expectation = 3
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
}
|
|
|
|
// A golden turn defines a single turn in a golden conversation.
|
|
message GoldenTurn {
|
|
// Required. The steps required to replay a golden conversation.
|
|
repeated Step steps = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Optional. The root span of the golden turn for processing and maintaining
|
|
// audio information.
|
|
Span root_span = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// The steps required to replay a golden conversation.
|
|
message Golden {
|
|
// Required. The golden turns required to replay a golden conversation.
|
|
repeated GoldenTurn turns = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Optional. The evaluation expectations to evaluate the replayed
|
|
// conversation against. Format:
|
|
// `projects/{project}/locations/{location}/apps/{app}/evaluationExpectations/{evaluationExpectation}`
|
|
repeated string evaluation_expectations = 3 [
|
|
(google.api.field_behavior) = OPTIONAL,
|
|
(google.api.resource_reference) = {
|
|
type: "ces.googleapis.com/EvaluationExpectation"
|
|
}
|
|
];
|
|
}
|
|
|
|
// The expectation to evaluate the conversation produced by the simulation.
|
|
message ScenarioExpectation {
|
|
// The tool call and response pair to be evaluated.
|
|
message ToolExpectation {
|
|
// Required. The expected tool call, with the parameters of interest
|
|
// specified. Any parameters not specified will be hallucinated by the
|
|
// LLM.
|
|
ToolCall expected_tool_call = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. The tool response to mock, with the parameters of interest
|
|
// specified. Any parameters not specified will be hallucinated by the
|
|
// LLM.
|
|
ToolResponse mock_tool_response = 2
|
|
[(google.api.field_behavior) = REQUIRED];
|
|
}
|
|
|
|
// The expectation to evaluate the conversation produced by the simulation.
|
|
oneof expectation {
|
|
// Optional. The tool call and response pair to be evaluated.
|
|
ToolExpectation tool_expectation = 1
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. The agent response to be evaluated.
|
|
Message agent_response = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
}
|
|
|
|
// The config for a scenario
|
|
message Scenario {
|
|
// Facts about the user as a key value pair.
|
|
message UserFact {
|
|
// Required. The name of the user fact.
|
|
string name = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. The value of the user fact.
|
|
string value = 2 [(google.api.field_behavior) = REQUIRED];
|
|
}
|
|
|
|
// The expected behavior of the user task. This is used to determine whether
|
|
// the scenario is successful.
|
|
enum TaskCompletionBehavior {
|
|
// Behavior unspecified. Will default to TASK_SATISFIED.
|
|
TASK_COMPLETION_BEHAVIOR_UNSPECIFIED = 0;
|
|
|
|
// The user task should be completed successfully.
|
|
TASK_SATISFIED = 1;
|
|
|
|
// The user task should be rejected.
|
|
TASK_REJECTED = 2;
|
|
}
|
|
|
|
// The expected behavior of the user goal. This is used to determine whether
|
|
// the scenario is successful.
|
|
enum UserGoalBehavior {
|
|
// Behavior unspecified. Will default to USER_GOAL_SATISFIED.
|
|
USER_GOAL_BEHAVIOR_UNSPECIFIED = 0;
|
|
|
|
// The user goal should be completed successfully.
|
|
USER_GOAL_SATISFIED = 1;
|
|
|
|
// The user goal should be rejected.
|
|
USER_GOAL_REJECTED = 2;
|
|
|
|
// Ignore the user goal status.
|
|
USER_GOAL_IGNORED = 3;
|
|
}
|
|
|
|
// Required. The task to be targeted by the scenario.
|
|
string task = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Optional. The user facts to be used by the scenario.
|
|
repeated UserFact user_facts = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. The maximum number of turns to simulate. If not specified, the
|
|
// simulation will continue until the task is complete.
|
|
int32 max_turns = 5 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Required. The rubrics to score the scenario against.
|
|
repeated string rubrics = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. The ScenarioExpectations to evaluate the conversation produced
|
|
// by the user simulation.
|
|
repeated ScenarioExpectation scenario_expectations = 3
|
|
[(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Optional. Variables / Session Parameters as context for the session,
|
|
// keyed by variable names. Members of this struct will override any default
|
|
// values set by the system.
|
|
//
|
|
// Note, these are different from user facts, which are facts known to the
|
|
// user. Variables are parameters known to the agent: i.e. MDN (phone
|
|
// number) passed by the telephony system.
|
|
google.protobuf.Struct variable_overrides = 6
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Deprecated. Use user_goal_behavior instead.
|
|
TaskCompletionBehavior task_completion_behavior = 7
|
|
[deprecated = true, (google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. The expected behavior of the user goal.
|
|
UserGoalBehavior user_goal_behavior = 8
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. The evaluation expectations to evaluate the conversation
|
|
// produced by the simulation against. Format:
|
|
// `projects/{project}/locations/{location}/apps/{app}/evaluationExpectations/{evaluationExpectation}`
|
|
repeated string evaluation_expectations = 10 [
|
|
(google.api.field_behavior) = OPTIONAL,
|
|
(google.api.resource_reference) = {
|
|
type: "ces.googleapis.com/EvaluationExpectation"
|
|
}
|
|
];
|
|
}
|
|
|
|
// The inputs for the evaluation
|
|
oneof inputs {
|
|
// Optional. The golden steps to be evaluated.
|
|
Golden golden = 11 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. The config for a scenario.
|
|
Scenario scenario = 12 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Identifier. The unique identifier of this evaluation.
|
|
// Format:
|
|
// `projects/{project}/locations/{location}/apps/{app}/evaluations/{evaluation}`
|
|
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
|
|
|
|
// Required. User-defined display name of the evaluation. Unique within an
|
|
// App.
|
|
string display_name = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Optional. User-defined description of the evaluation.
|
|
string description = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. User defined tags to categorize the evaluation.
|
|
repeated string tags = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Output only. List of evaluation datasets the evaluation belongs to.
|
|
// Format:
|
|
// `projects/{project}/locations/{location}/apps/{app}/evaluationDatasets/{evaluationDataset}`
|
|
repeated string evaluation_datasets = 5 [
|
|
(google.api.field_behavior) = OUTPUT_ONLY,
|
|
(google.api.resource_reference) = {
|
|
type: "ces.googleapis.com/EvaluationDataset"
|
|
}
|
|
];
|
|
|
|
// Output only. Timestamp when the evaluation was created.
|
|
google.protobuf.Timestamp create_time = 8
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The user who created the evaluation.
|
|
string created_by = 13 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Timestamp when the evaluation was last updated.
|
|
google.protobuf.Timestamp update_time = 9
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The user who last updated the evaluation.
|
|
string last_updated_by = 14 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The EvaluationRuns that this Evaluation is associated with.
|
|
repeated string evaluation_runs = 15 [
|
|
(google.api.field_behavior) = OUTPUT_ONLY,
|
|
(google.api.resource_reference) = {
|
|
type: "ces.googleapis.com/EvaluationRun"
|
|
}
|
|
];
|
|
|
|
// Output only. Etag used to ensure the object hasn't changed during a
|
|
// read-modify-write operation. If the etag is empty, the update will
|
|
// overwrite any concurrent changes.
|
|
string etag = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The aggregated metrics for this evaluation across all runs.
|
|
AggregatedMetrics aggregated_metrics = 16
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The latest evaluation result for this evaluation.
|
|
EvaluationResult last_completed_result = 17
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Whether the evaluation is invalid. This can happen if an
|
|
// evaluation is referencing a tool, toolset, or agent that has since been
|
|
// deleted.
|
|
bool invalid = 18 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The last 10 evaluation results for this evaluation. This is
|
|
// only populated if include_last_ten_results is set to true in the
|
|
// ListEvaluationsRequest or GetEvaluationRequest.
|
|
repeated EvaluationResult last_ten_results = 19
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// An evaluation dataset represents a set of evaluations that are grouped
|
|
// together basaed on shared tags.
|
|
message EvaluationDataset {
|
|
option (google.api.resource) = {
|
|
type: "ces.googleapis.com/EvaluationDataset"
|
|
pattern: "projects/{project}/locations/{location}/apps/{app}/evaluationDatasets/{evaluation_dataset}"
|
|
plural: "evaluationDatasets"
|
|
singular: "evaluationDataset"
|
|
};
|
|
|
|
// Identifier. The unique identifier of this evaluation dataset.
|
|
// Format:
|
|
// `projects/{project}/locations/{location}/apps/{app}/evaluationDatasets/{evaluationDataset}`
|
|
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
|
|
|
|
// Required. User-defined display name of the evaluation dataset. Unique
|
|
// within an App.
|
|
string display_name = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Optional. Evaluations that are included in this dataset.
|
|
repeated string evaluations = 3 [
|
|
(google.api.field_behavior) = OPTIONAL,
|
|
(google.api.resource_reference) = { type: "ces.googleapis.com/Evaluation" }
|
|
];
|
|
|
|
// Output only. Timestamp when the evaluation dataset was created.
|
|
google.protobuf.Timestamp create_time = 4
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Timestamp when the evaluation dataset was last updated.
|
|
google.protobuf.Timestamp update_time = 5
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Etag used to ensure the object hasn't changed during a
|
|
// read-modify-write operation. If the etag is empty, the update will
|
|
// overwrite any concurrent changes.
|
|
string etag = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The user who created the evaluation dataset.
|
|
string created_by = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The user who last updated the evaluation dataset.
|
|
string last_updated_by = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The aggregated metrics for this evaluation dataset across all
|
|
// runs.
|
|
AggregatedMetrics aggregated_metrics = 9
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// An evaluation result represents the output of running an Evaluation.
|
|
message EvaluationResult {
|
|
option (google.api.resource) = {
|
|
type: "ces.googleapis.com/EvaluationResult"
|
|
pattern: "projects/{project}/locations/{location}/apps/{app}/evaluations/{evaluation}/results/{evaluation_result}"
|
|
plural: "evaluationResults"
|
|
singular: "evaluationResult"
|
|
};
|
|
|
|
// Specifies the expectation and the result of that expectation.
|
|
message GoldenExpectationOutcome {
|
|
// The result of the tool invocation check.
|
|
message ToolInvocationResult {
|
|
// Output only. The tool invocation parameter correctness score. This
|
|
// indicates the percent of parameters from the expected tool call that
|
|
// were also present in the actual tool call.
|
|
optional float parameter_correctness_score = 1
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The outcome of the tool invocation check. This is
|
|
// determined by comparing the parameter_correctness_score to the
|
|
// threshold. If the score is equal to or above the threshold, the outcome
|
|
// will be PASS. Otherwise, the outcome will be FAIL.
|
|
Outcome outcome = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. A free text explanation for the tool invocation result.
|
|
string explanation = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// The result of the expectation.
|
|
oneof result {
|
|
// Output only. The result of the tool call expectation.
|
|
ToolCall observed_tool_call = 2
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The result of the tool response expectation.
|
|
ToolResponse observed_tool_response = 3
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The result of the agent response expectation.
|
|
Message observed_agent_response = 4
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The result of the agent transfer expectation.
|
|
AgentTransfer observed_agent_transfer = 5
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// Output only. The expectation that was evaluated.
|
|
Evaluation.GoldenExpectation expectation = 1
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The outcome of the expectation.
|
|
Outcome outcome = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The result of the semantic similarity check.
|
|
SemanticSimilarityResult semantic_similarity_result = 7
|
|
[deprecated = true, (google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The result of the tool invocation check.
|
|
ToolInvocationResult tool_invocation_result = 8
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// The result of a single evaluation expectation.
|
|
message EvaluationExpectationResult {
|
|
// Output only. The evaluation expectation.
|
|
// Format:
|
|
// `projects/{project}/locations/{location}/apps/{app}/evaluationExpectations/{evaluation_expectation}`
|
|
string evaluation_expectation = 1 [
|
|
(google.api.field_behavior) = OUTPUT_ONLY,
|
|
(google.api.resource_reference) = {
|
|
type: "ces.googleapis.com/EvaluationExpectation"
|
|
}
|
|
];
|
|
|
|
// Output only. The prompt that was used for the evaluation.
|
|
string prompt = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The outcome of the evaluation expectation.
|
|
Outcome outcome = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The explanation for the result.
|
|
string explanation = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// The result of a golden evaluation.
|
|
message GoldenResult {
|
|
// The result of running a single turn of the golden conversation.
|
|
message TurnReplayResult {
|
|
// Output only. The conversation that was generated for this turn.
|
|
string conversation = 1 [
|
|
(google.api.field_behavior) = OUTPUT_ONLY,
|
|
(google.api.resource_reference) = {
|
|
type: "ces.googleapis.com/Conversation"
|
|
}
|
|
];
|
|
|
|
// Output only. The outcome of each expectation.
|
|
repeated GoldenExpectationOutcome expectation_outcome = 2
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The result of the hallucination check.
|
|
HallucinationResult hallucination_result = 3
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Deprecated. Use OverallToolInvocationResult instead.
|
|
float tool_invocation_score = 4
|
|
[deprecated = true, (google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The overall tool ordered invocation score for this turn.
|
|
// This indicates the overall percent of tools from the expected turn that
|
|
// were actually invoked in the expected order.
|
|
optional float tool_ordered_invocation_score = 5
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Duration of the turn.
|
|
google.protobuf.Duration turn_latency = 6
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The latency of each tool call in the turn.
|
|
repeated ToolCallLatency tool_call_latencies = 7
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The result of the semantic similarity check.
|
|
SemanticSimilarityResult semantic_similarity_result = 8
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The result of the overall tool invocation check.
|
|
OverallToolInvocationResult overall_tool_invocation_result = 9
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Information about the error that occurred during this
|
|
// turn.
|
|
EvaluationErrorInfo error_info = 10
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The latency of spans in the turn.
|
|
repeated SpanLatency span_latencies = 11
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// Output only. The result of running each turn of the golden conversation.
|
|
repeated TurnReplayResult turn_replay_results = 1
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The results of the evaluation expectations.
|
|
repeated EvaluationExpectationResult evaluation_expectation_results = 2
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// The outcome of the evaluation against the rubric.
|
|
message ScenarioRubricOutcome {
|
|
// Output only. The rubric that was used to evaluate the conversation.
|
|
string rubric = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The score of the conversation against the rubric.
|
|
optional float score = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The rater's response to the rubric.
|
|
string score_explanation = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// The outcome of a scenario expectation.
|
|
message ScenarioExpectationOutcome {
|
|
// The observed tool call and response.
|
|
message ObservedToolCall {
|
|
// Output only. The observed tool call.
|
|
ToolCall tool_call = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The observed tool response.
|
|
ToolResponse tool_response = 2
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// The result of the expectation.
|
|
oneof result {
|
|
// Output only. The observed tool call.
|
|
ObservedToolCall observed_tool_call = 2
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The observed agent response.
|
|
Message observed_agent_response = 3
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// Output only. The expectation that was evaluated.
|
|
Evaluation.ScenarioExpectation expectation = 1
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The outcome of the ScenarioExpectation.
|
|
Outcome outcome = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// The outcome of a scenario evaluation.
|
|
message ScenarioResult {
|
|
// Output only. The conversation that was generated in the scenario.
|
|
string conversation = 1 [
|
|
(google.api.field_behavior) = OUTPUT_ONLY,
|
|
(google.api.resource_reference) = {
|
|
type: "ces.googleapis.com/Conversation"
|
|
}
|
|
];
|
|
|
|
// Output only. The task that was used when running the scenario for this
|
|
// result.
|
|
string task = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The user facts that were used by the scenario for this
|
|
// result.
|
|
repeated Evaluation.Scenario.UserFact user_facts = 11
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The outcome of each expectation.
|
|
repeated ScenarioExpectationOutcome expectation_outcomes = 2
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The outcome of the rubric.
|
|
repeated ScenarioRubricOutcome rubric_outcomes = 3
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The result of the hallucination check.
|
|
// There will be one hallucination result for each turn in the conversation.
|
|
repeated HallucinationResult hallucination_result = 4
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The result of the task completion check.
|
|
TaskCompletionResult task_completion_result = 5
|
|
[deprecated = true, (google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The latency of each tool call execution in the conversation.
|
|
repeated ToolCallLatency tool_call_latencies = 6
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The result of the user goal satisfaction check.
|
|
UserGoalSatisfactionResult user_goal_satisfaction_result = 7
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Whether all expectations were satisfied for this turn.
|
|
optional bool all_expectations_satisfied = 8
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Whether the task was completed for this turn. This is a
|
|
// composite of all expectations satisfied, no hallucinations, and user goal
|
|
// satisfaction.
|
|
optional bool task_completed = 9
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The latency of spans in the conversation.
|
|
repeated SpanLatency span_latencies = 12
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The results of the evaluation expectations.
|
|
repeated EvaluationExpectationResult evaluation_expectation_results = 13
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// The latency of a span execution.
|
|
message SpanLatency {
|
|
// The type of span.
|
|
// Additional values may be added in the future.
|
|
enum Type {
|
|
// Default value. This value is unused.
|
|
TYPE_UNSPECIFIED = 0;
|
|
|
|
// Tool call span.
|
|
TOOL = 1;
|
|
|
|
// User callback span.
|
|
USER_CALLBACK = 2;
|
|
|
|
// Guardrail span.
|
|
GUARDRAIL = 3;
|
|
|
|
// LLM span.
|
|
LLM = 4;
|
|
}
|
|
|
|
// The identifier of the specific item based on its type.
|
|
oneof identifier {
|
|
// Output only. The resource name of the guardrail or tool spans.
|
|
string resource = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The toolset tool identifier.
|
|
ToolsetTool toolset = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The name of the LLM span.
|
|
string model = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The name of the user callback span.
|
|
string callback = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// Output only. The type of span.
|
|
Type type = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The display name of the span. Applicable to tool and
|
|
// guardrail spans.
|
|
string display_name = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The start time of span.
|
|
google.protobuf.Timestamp start_time = 6
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The end time of span.
|
|
google.protobuf.Timestamp end_time = 7
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The latency of span.
|
|
google.protobuf.Duration execution_latency = 8
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// The latency of a tool call execution.
|
|
message ToolCallLatency {
|
|
// Output only. The name of the tool that got executed.
|
|
// Format:
|
|
// `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`.
|
|
string tool = 1 [
|
|
(google.api.field_behavior) = OUTPUT_ONLY,
|
|
(google.api.resource_reference) = { type: "ces.googleapis.com/Tool" }
|
|
];
|
|
|
|
// Output only. The display name of the tool.
|
|
string display_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The start time of the tool call execution.
|
|
google.protobuf.Timestamp start_time = 3
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The end time of the tool call execution.
|
|
google.protobuf.Timestamp end_time = 4
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The latency of the tool call execution.
|
|
google.protobuf.Duration execution_latency = 5
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// The result of the hallucination check for a single turn.
|
|
message HallucinationResult {
|
|
// Output only. The hallucination score. Can be -1, 0, 1.
|
|
optional int32 score = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The label associated with each score.
|
|
// Score 1: Justified
|
|
// Score 0: Not Justified
|
|
// Score -1: No Claim To Assess
|
|
string label = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The explanation for the hallucination score.
|
|
string explanation = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// The result of a user goal satisfaction check for a conversation.
|
|
message UserGoalSatisfactionResult {
|
|
// Output only. The user task satisfaction score. Can be -1, 0, 1.
|
|
optional int32 score = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The label associated with each score.
|
|
// Score 1: User Task Satisfied
|
|
// Score 0: User Task Not Satisfied
|
|
// Score -1: User Task Unspecified
|
|
string label = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The explanation for the user task satisfaction score.
|
|
string explanation = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// The result of the semantic similarity check.
|
|
message SemanticSimilarityResult {
|
|
// Output only. The semantic similarity score. Can be 0, 1, 2, 3, or 4.
|
|
optional int32 score = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The label associated with each score.
|
|
// Score 4: Fully Consistent
|
|
// Score 3: Mostly Consistent
|
|
// Score 2: Partially Consistent (Minor Omissions)
|
|
// Score 1: Largely Inconsistent (Major Omissions)
|
|
// Score 0: Completely Inconsistent / Contradictory
|
|
string label = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The explanation for the semantic similarity score.
|
|
string explanation = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The outcome of the semantic similarity check. This is
|
|
// determined by comparing the score to the
|
|
// semantic_similarity_success_threshold. If the score is equal to or above
|
|
// the threshold, the outcome will be PASS. Otherwise, the outcome will be
|
|
// FAIL.
|
|
Outcome outcome = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// The result of the overall tool invocation check.
|
|
message OverallToolInvocationResult {
|
|
// The overall tool invocation score for this turn. This indicates the
|
|
// overall percent of tools from the expected turn that were actually
|
|
// invoked.
|
|
optional float tool_invocation_score = 1;
|
|
|
|
// Output only. The outcome of the tool invocation check. This is determined
|
|
// by comparing the tool_invocation_score to the
|
|
// overall_tool_invocation_correctness_threshold. If the
|
|
// score is equal to or above the threshold, the outcome will be PASS.
|
|
// Otherwise, the outcome will be FAIL.
|
|
Outcome outcome = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// The result of the task completion check for the conversation.
|
|
message TaskCompletionResult {
|
|
// Output only. The task completion score. Can be -1, 0, 1
|
|
optional int32 score = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The label associated with each score.
|
|
// Score 1: Task Completed
|
|
// Score 0: Task Not Completed
|
|
// Score -1: User Goal Undefined
|
|
string label = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The explanation for the task completion score.
|
|
string explanation = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// The outcome of the evaluation or expectation.
|
|
enum Outcome {
|
|
// Evaluation outcome is not specified.
|
|
OUTCOME_UNSPECIFIED = 0;
|
|
|
|
// Evaluation/Expectation passed. In the case of an evaluation, this means
|
|
// that all expectations were met.
|
|
PASS = 1;
|
|
|
|
// Evaluation/Expectation failed. In the case of an evaluation, this means
|
|
// that at least one expectation was not met.
|
|
FAIL = 2;
|
|
}
|
|
|
|
// The state of the evaluation result execution.
|
|
enum ExecutionState {
|
|
// Evaluation result execution state is not specified.
|
|
EXECUTION_STATE_UNSPECIFIED = 0;
|
|
|
|
// Evaluation result execution is running.
|
|
RUNNING = 1;
|
|
|
|
// Evaluation result execution has completed.
|
|
COMPLETED = 2;
|
|
|
|
// Evaluation result execution failed due to an internal error.
|
|
ERROR = 3;
|
|
}
|
|
|
|
// The result of the evaluation. Only populated when the execution_state is
|
|
// COMPLETED.
|
|
oneof result {
|
|
// Output only. The outcome of a golden evaluation.
|
|
GoldenResult golden_result = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The outcome of a scenario evaluation.
|
|
ScenarioResult scenario_result = 8
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// Identifier. The unique identifier of the evaluation result.
|
|
// Format:
|
|
// `projects/{project}/locations/{location}/apps/{app}/evaluations/{evaluation}/results/{result}`
|
|
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
|
|
|
|
// Required. Display name of the Evaluation Result. Unique within an
|
|
// Evaluation. By default, it has the following format:
|
|
// "<evaluation-display-name> result
|
|
// - <timestamp>".
|
|
string display_name = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Output only. Timestamp when the evaluation result was created.
|
|
google.protobuf.Timestamp create_time = 5
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The outcome of the evaluation. Only populated if
|
|
// execution_state is COMPLETE.
|
|
Outcome evaluation_status = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The evaluation run that produced this result.
|
|
// Format:
|
|
// `projects/{project}/locations/{location}/apps/{app}/evaluationRuns/{evaluationRun}`
|
|
string evaluation_run = 6 [
|
|
(google.api.field_behavior) = OUTPUT_ONLY,
|
|
(google.api.resource_reference) = {
|
|
type: "ces.googleapis.com/EvaluationRun"
|
|
}
|
|
];
|
|
|
|
// Output only. The persona used to generate the conversation for the
|
|
// evaluation result.
|
|
EvaluationPersona persona = 17 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Error information for the evaluation result.
|
|
EvaluationErrorInfo error_info = 15
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Deprecated: Use `error_info` instead. Errors encountered
|
|
// during execution.
|
|
google.rpc.Status error = 14
|
|
[deprecated = true, (google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The user who initiated the evaluation run that resulted in
|
|
// this result.
|
|
string initiated_by = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The app version used to generate the conversation that
|
|
// resulted in this result. Format:
|
|
// `projects/{project}/locations/{location}/apps/{app}/versions/{version}`
|
|
string app_version = 10 [
|
|
(google.api.field_behavior) = OUTPUT_ONLY,
|
|
(google.api.resource_reference) = { type: "ces.googleapis.com/AppVersion" }
|
|
];
|
|
|
|
// Output only. The display name of the `app_version` that the evaluation ran
|
|
// against.
|
|
string app_version_display_name = 13
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The changelog of the app version that the evaluation ran
|
|
// against. This is populated if user runs evaluation on latest/draft.
|
|
string changelog = 21 [
|
|
(google.api.field_behavior) = OUTPUT_ONLY,
|
|
(google.api.resource_reference) = { type: "ces.googleapis.com/Changelog" }
|
|
];
|
|
|
|
// Output only. The create time of the changelog of the app version that the
|
|
// evaluation ran against. This is populated if user runs evaluation on
|
|
// latest/draft.
|
|
google.protobuf.Timestamp changelog_create_time = 22
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The state of the evaluation result execution.
|
|
ExecutionState execution_state = 11
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The evaluation thresholds for the result.
|
|
EvaluationMetricsThresholds evaluation_metrics_thresholds = 12
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The configuration used in the evaluation run that resulted in
|
|
// this result.
|
|
EvaluationConfig config = 18 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The method used to run the golden evaluation.
|
|
GoldenRunMethod golden_run_method = 19
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// An evaluation run represents an all the evaluation results from an
|
|
// evaluation execution.
|
|
message EvaluationRun {
|
|
option (google.api.resource) = {
|
|
type: "ces.googleapis.com/EvaluationRun"
|
|
pattern: "projects/{project}/locations/{location}/apps/{app}/evaluationRuns/{evaluation_run}"
|
|
plural: "evaluationRuns"
|
|
singular: "evaluationRun"
|
|
};
|
|
|
|
// The progress of the evaluation run.
|
|
message Progress {
|
|
// Output only. Total number of evaluation results in this run.
|
|
int32 total_count = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Number of completed evaluation results with an outcome of
|
|
// FAIL. (EvaluationResult.execution_state is COMPLETED and
|
|
// EvaluationResult.evaluation_status is FAIL).
|
|
int32 failed_count = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Number of evaluation results that failed to execute.
|
|
// (EvaluationResult.execution_state is ERROR).
|
|
int32 error_count = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Number of evaluation results that finished successfully.
|
|
// (EvaluationResult.execution_state is COMPLETED).
|
|
int32 completed_count = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Number of completed evaluation results with an outcome of
|
|
// PASS. (EvaluationResult.execution_state is COMPLETED and
|
|
// EvaluationResult.evaluation_status is PASS).
|
|
int32 passed_count = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// Contains the summary of passed and failed result counts for a specific
|
|
// evaluation in an evaluation run.
|
|
message EvaluationRunSummary {
|
|
// Output only. Number of passed results for the associated Evaluation in
|
|
// this run.
|
|
int32 passed_count = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Number of failed results for the associated Evaluation in
|
|
// this run.
|
|
int32 failed_count = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Number of error results for the associated Evaluation in
|
|
// this run.
|
|
int32 error_count = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// The type of the evaluations in this run.
|
|
// Additional values may be added in the future.
|
|
enum EvaluationType {
|
|
// Evaluation type is not specified.
|
|
EVALUATION_TYPE_UNSPECIFIED = 0;
|
|
|
|
// Golden evaluation.
|
|
GOLDEN = 1;
|
|
|
|
// Scenario evaluation.
|
|
SCENARIO = 2;
|
|
|
|
// Indicates the run includes a mix of golden and scenario evaluations.
|
|
MIXED = 3;
|
|
}
|
|
|
|
// The state of the evaluation run.
|
|
enum EvaluationRunState {
|
|
// Evaluation run state is not specified.
|
|
EVALUATION_RUN_STATE_UNSPECIFIED = 0;
|
|
|
|
// Evaluation run is running.
|
|
RUNNING = 1;
|
|
|
|
// Evaluation run has completed.
|
|
COMPLETED = 2;
|
|
|
|
// The evaluation run has an error.
|
|
ERROR = 3;
|
|
}
|
|
|
|
// Identifier. The unique identifier of the evaluation run.
|
|
// Format:
|
|
// `projects/{project}/locations/{location}/apps/{app}/evaluationRuns/{evaluationRun}`
|
|
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
|
|
|
|
// Optional. User-defined display name of the evaluation run.
|
|
// default: "<evaluation-dataset-display-name> run - <timestamp>".
|
|
string display_name = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Output only. The evaluation results that are part of this run.
|
|
// Format:
|
|
// `projects/{project}/locations/{location}/apps/{app}/evaluations/{evaluation}/results/{result}`
|
|
repeated string evaluation_results = 3 [
|
|
(google.api.field_behavior) = OUTPUT_ONLY,
|
|
(google.api.resource_reference) = {
|
|
type: "ces.googleapis.com/EvaluationResult"
|
|
}
|
|
];
|
|
|
|
// Output only. Timestamp when the evaluation run was created.
|
|
google.protobuf.Timestamp create_time = 4
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The user who initiated the evaluation run.
|
|
string initiated_by = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The app version to evaluate.
|
|
// Format:
|
|
// `projects/{project}/locations/{location}/apps/{app}/versions/{version}`
|
|
string app_version = 6 [
|
|
(google.api.field_behavior) = OUTPUT_ONLY,
|
|
(google.api.resource_reference) = { type: "ces.googleapis.com/AppVersion" }
|
|
];
|
|
|
|
// Output only. The display name of the `app_version` that the evaluation ran
|
|
// against.
|
|
string app_version_display_name = 13
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The changelog of the app version that the evaluation ran
|
|
// against. This is populated if user runs evaluation on latest/draft.
|
|
string changelog = 22 [
|
|
(google.api.field_behavior) = OUTPUT_ONLY,
|
|
(google.api.resource_reference) = { type: "ces.googleapis.com/Changelog" }
|
|
];
|
|
|
|
// Output only. The create time of the changelog of the app version that the
|
|
// evaluation ran against. This is populated if user runs evaluation on
|
|
// latest/draft.
|
|
google.protobuf.Timestamp changelog_create_time = 23
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The evaluations that are part of this run. The list may
|
|
// contain evaluations of either type. This field is mutually exclusive with
|
|
// `evaluation_dataset`.
|
|
// Format:
|
|
// `projects/{project}/locations/{location}/apps/{app}/evaluations/{evaluation}`
|
|
repeated string evaluations = 7 [
|
|
(google.api.field_behavior) = OUTPUT_ONLY,
|
|
(google.api.resource_reference) = { type: "ces.googleapis.com/Evaluation" }
|
|
];
|
|
|
|
// Output only. The evaluation dataset that this run is associated with. This
|
|
// field is mutually exclusive with `evaluations`. Format:
|
|
// `projects/{project}/locations/{location}/apps/{app}/evaluationDatasets/{evaluationDataset}`
|
|
string evaluation_dataset = 8 [
|
|
(google.api.field_behavior) = OUTPUT_ONLY,
|
|
(google.api.resource_reference) = {
|
|
type: "ces.googleapis.com/EvaluationDataset"
|
|
}
|
|
];
|
|
|
|
// Output only. The type of the evaluations in this run.
|
|
EvaluationType evaluation_type = 9
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The state of the evaluation run.
|
|
EvaluationRunState state = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The progress of the evaluation run.
|
|
Progress progress = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The configuration used in the run.
|
|
EvaluationConfig config = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Deprecated: Use error_info instead. Errors encountered during
|
|
// execution.
|
|
google.rpc.Status error = 14
|
|
[deprecated = true, (google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Error information for the evaluation run.
|
|
EvaluationErrorInfo error_info = 17
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Map of evaluation name to EvaluationRunSummary.
|
|
map<string, EvaluationRunSummary> evaluation_run_summaries = 15
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Latency report for the evaluation run.
|
|
LatencyReport latency_report = 25 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The number of times the evaluations inside the run were run.
|
|
int32 run_count = 16 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The configuration to use for the run per persona.
|
|
repeated PersonaRunConfig persona_run_configs = 18
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Optional. Configuration for running the optimization step after the
|
|
// evaluation run. If not set, the optimization step will not be run.
|
|
OptimizationConfig optimization_config = 19
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Output only. The scheduled evaluation run resource name that created this
|
|
// evaluation run. This field is only set if the evaluation run was created
|
|
// by a scheduled evaluation run.
|
|
// Format:
|
|
// `projects/{project}/locations/{location}/apps/{app}/scheduledEvaluationRuns/{scheduled_evaluation_run}`
|
|
string scheduled_evaluation_run = 20 [
|
|
(google.api.field_behavior) = OUTPUT_ONLY,
|
|
(google.api.resource_reference) = {
|
|
type: "ces.googleapis.com/ScheduledEvaluationRun"
|
|
}
|
|
];
|
|
|
|
// Output only. The method used to run the evaluation.
|
|
GoldenRunMethod golden_run_method = 21
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// Latency report for the evaluation run.
|
|
message LatencyReport {
|
|
// Latency metrics for a component.
|
|
message LatencyMetrics {
|
|
// Output only. The 50th percentile latency.
|
|
google.protobuf.Duration p50_latency = 1
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The 90th percentile latency.
|
|
google.protobuf.Duration p90_latency = 2
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The 99th percentile latency.
|
|
google.protobuf.Duration p99_latency = 3
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The number of times the resource was called.
|
|
int32 call_count = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// Latency metrics for a single tool.
|
|
message ToolLatency {
|
|
// The identifier of the tool.
|
|
oneof tool_identifier {
|
|
// Output only. Format:
|
|
// `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`.
|
|
string tool = 1 [
|
|
(google.api.field_behavior) = OUTPUT_ONLY,
|
|
(google.api.resource_reference) = { type: "ces.googleapis.com/Tool" }
|
|
];
|
|
|
|
// Output only. The toolset tool identifier.
|
|
ToolsetTool toolset_tool = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// Output only. The display name of the tool.
|
|
string tool_display_name = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The latency metrics for the tool.
|
|
LatencyMetrics latency_metrics = 4
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// Latency metrics for a single callback.
|
|
message CallbackLatency {
|
|
// Output only. The stage of the callback.
|
|
string stage = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The latency metrics for the callback.
|
|
LatencyMetrics latency_metrics = 2
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// Latency metrics for a single guardrail.
|
|
message GuardrailLatency {
|
|
// Output only. The name of the guardrail.
|
|
// Format:
|
|
// `projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}`.
|
|
string guardrail = 1 [
|
|
(google.api.field_behavior) = OUTPUT_ONLY,
|
|
(google.api.resource_reference) = { type: "ces.googleapis.com/Guardrail" }
|
|
];
|
|
|
|
// Output only. The display name of the guardrail.
|
|
string guardrail_display_name = 2
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The latency metrics for the guardrail.
|
|
LatencyMetrics latency_metrics = 3
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// Latency metrics for a single LLM call.
|
|
message LlmCallLatency {
|
|
// Output only. The name of the model.
|
|
string model = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The latency metrics for the LLM call.
|
|
LatencyMetrics latency_metrics = 2
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// Output only. Unordered list. Latency metrics for each tool.
|
|
repeated ToolLatency tool_latencies = 1 [
|
|
(google.api.field_behavior) = OUTPUT_ONLY,
|
|
(google.api.field_behavior) = UNORDERED_LIST
|
|
];
|
|
|
|
// Output only. Unordered list. Latency metrics for each callback.
|
|
repeated CallbackLatency callback_latencies = 2 [
|
|
(google.api.field_behavior) = OUTPUT_ONLY,
|
|
(google.api.field_behavior) = UNORDERED_LIST
|
|
];
|
|
|
|
// Output only. Unordered list. Latency metrics for each guardrail.
|
|
repeated GuardrailLatency guardrail_latencies = 3 [
|
|
(google.api.field_behavior) = OUTPUT_ONLY,
|
|
(google.api.field_behavior) = UNORDERED_LIST
|
|
];
|
|
|
|
// Output only. Unordered list. Latency metrics for each LLM call.
|
|
repeated LlmCallLatency llm_call_latencies = 4 [
|
|
(google.api.field_behavior) = OUTPUT_ONLY,
|
|
(google.api.field_behavior) = UNORDERED_LIST
|
|
];
|
|
|
|
// Output only. The total number of sessions considered in the latency report.
|
|
int32 session_count = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// An evaluation expectation represents a specific criteria to evaluate against.
|
|
message EvaluationExpectation {
|
|
option (google.api.resource) = {
|
|
type: "ces.googleapis.com/EvaluationExpectation"
|
|
pattern: "projects/{project}/locations/{location}/apps/{app}/evaluationExpectations/{evaluation_expectation}"
|
|
plural: "evaluationExpectations"
|
|
singular: "evaluationExpectation"
|
|
};
|
|
|
|
// Configuration for LLM-based evaluation criteria.
|
|
message LlmCriteria {
|
|
// Required. The prompt/instructions provided to the LLM judge.
|
|
string prompt = 1 [(google.api.field_behavior) = REQUIRED];
|
|
}
|
|
|
|
// The definition of the criteria used for evaluation.
|
|
oneof criteria {
|
|
// Optional. Evaluation criteria based on an LLM prompt.
|
|
LlmCriteria llm_criteria = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Identifier. The unique identifier of this evaluation expectation.
|
|
// Format:
|
|
// `projects/{project}/locations/{location}/apps/{app}/evaluationExpectations/{evaluation_expectation}`
|
|
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
|
|
|
|
// Required. User-defined display name. Must be unique within the app.
|
|
string display_name = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Optional. User-defined tags for expectations. Can be used to filter
|
|
// expectations.
|
|
repeated string tags = 8 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Output only. Timestamp when the evaluation expectation was created.
|
|
google.protobuf.Timestamp create_time = 4
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Timestamp when the evaluation expectation was last updated.
|
|
google.protobuf.Timestamp update_time = 5
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Etag used to ensure the object hasn't changed during a
|
|
// read-modify-write operation. If the etag is empty, the update will
|
|
// overwrite any concurrent changes.
|
|
string etag = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// EvaluationConfig configures settings for running the evaluation.
|
|
message EvaluationConfig {
|
|
// The channel to evaluate.
|
|
enum EvaluationChannel {
|
|
// Unspecified evaluation channel.
|
|
EVALUATION_CHANNEL_UNSPECIFIED = 0;
|
|
|
|
// Text-only evaluation channel.
|
|
TEXT = 1;
|
|
|
|
// Audio evaluation channel.
|
|
AUDIO = 2;
|
|
}
|
|
|
|
// Optional. Configuration for processing the input audio.
|
|
InputAudioConfig input_audio_config = 1
|
|
[deprecated = true, (google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Configuration for generating the output audio.
|
|
OutputAudioConfig output_audio_config = 2
|
|
[deprecated = true, (google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. The channel to evaluate.
|
|
EvaluationChannel evaluation_channel = 3
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Specifies whether the evaluation should use real tool calls or
|
|
// fake tools.
|
|
EvaluationToolCallBehaviour tool_call_behaviour = 4
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Information about an error encountered during an evaluation execution.
|
|
message EvaluationErrorInfo {
|
|
// The type of error
|
|
enum ErrorType {
|
|
// Unspecified error type.
|
|
ERROR_TYPE_UNSPECIFIED = 0;
|
|
|
|
// Failure during runtime execution.
|
|
RUNTIME_FAILURE = 1;
|
|
|
|
// Failure to retrieve conversation from CES Runtime.
|
|
CONVERSATION_RETRIEVAL_FAILURE = 2;
|
|
|
|
// Failure to calculate a metric / outcome.
|
|
METRIC_CALCULATION_FAILURE = 3;
|
|
|
|
// Failure to update the evaluation.
|
|
EVALUATION_UPDATE_FAILURE = 4;
|
|
|
|
// Ran out of quota.
|
|
QUOTA_EXHAUSTED = 5;
|
|
|
|
// Failure during user simulation.
|
|
USER_SIMULATION_FAILURE = 6;
|
|
}
|
|
|
|
// Output only. The type of error.
|
|
ErrorType error_type = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The error message.
|
|
string error_message = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The session ID for the conversation that caused the error.
|
|
string session_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// Request message for
|
|
// [EvaluationService.RunEvaluation][google.cloud.ces.v1beta.EvaluationService.RunEvaluation].
|
|
message RunEvaluationRequest {
|
|
// Required. The app to evaluate.
|
|
// Format:
|
|
// `projects/{project}/locations/{location}/apps/{app}`
|
|
string app = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = { type: "ces.googleapis.com/App" }
|
|
];
|
|
|
|
// Optional. List of evaluations to run.
|
|
// Format:
|
|
// `projects/{project}/locations/{location}/apps/{app}/evaluations/{evaluation}`
|
|
repeated string evaluations = 2 [
|
|
(google.api.field_behavior) = OPTIONAL,
|
|
(google.api.resource_reference) = { type: "ces.googleapis.com/Evaluation" }
|
|
];
|
|
|
|
// Optional. An evaluation dataset to run.
|
|
// Format:
|
|
// `projects/{project}/locations/{location}/apps/{app}/evaluationDatasets/{evaluationDataset}`
|
|
string evaluation_dataset = 3 [
|
|
(google.api.field_behavior) = OPTIONAL,
|
|
(google.api.resource_reference) = {
|
|
type: "ces.googleapis.com/EvaluationDataset"
|
|
}
|
|
];
|
|
|
|
// Optional. The display name of the evaluation run.
|
|
string display_name = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. The app version to evaluate.
|
|
// Format:
|
|
// `projects/{project}/locations/{location}/apps/{app}/versions/{version}`
|
|
string app_version = 6 [
|
|
(google.api.field_behavior) = OPTIONAL,
|
|
(google.api.resource_reference) = { type: "ces.googleapis.com/AppVersion" }
|
|
];
|
|
|
|
// Optional. The configuration to use for the run.
|
|
EvaluationConfig config = 8 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. The number of times to run the evaluation. If not set, the
|
|
// default value is 1 per golden, and 5 per scenario.
|
|
optional int32 run_count = 9 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. The configuration to use for the run per persona.
|
|
repeated PersonaRunConfig persona_run_configs = 10
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Configuration for running the optimization step after the
|
|
// evaluation run. If not set, the optimization step will not be run.
|
|
OptimizationConfig optimization_config = 11
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. The resource name of the `ScheduledEvaluationRun` that is
|
|
// triggering this evaluation run.
|
|
//
|
|
// If this field is set, the `scheduled_evaluation_run` field on the created
|
|
// `EvaluationRun` resource will be populated from this value.
|
|
// Format:
|
|
// `projects/{project}/locations/{location}/apps/{app}/scheduledEvaluationRuns/{scheduled_evaluation_run}`
|
|
string scheduled_evaluation_run = 12 [
|
|
(google.api.field_behavior) = OPTIONAL,
|
|
(google.api.resource_reference) = {
|
|
type: "ces.googleapis.com/ScheduledEvaluationRun"
|
|
}
|
|
];
|
|
|
|
// Optional. The method to run the evaluation if it is a golden evaluation. If
|
|
// not set, default to STABLE.
|
|
GoldenRunMethod golden_run_method = 13
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Whether to generate a latency report for the evaluation run.
|
|
bool generate_latency_report = 14 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Represents a scheduled evaluation run configuration.
|
|
message ScheduledEvaluationRun {
|
|
option (google.api.resource) = {
|
|
type: "ces.googleapis.com/ScheduledEvaluationRun"
|
|
pattern: "projects/{project}/locations/{location}/apps/{app}/scheduledEvaluationRuns/{scheduled_evaluation_run}"
|
|
plural: "scheduledEvaluationRuns"
|
|
singular: "scheduledEvaluationRun"
|
|
};
|
|
|
|
// Eval scheduling configuration details
|
|
message SchedulingConfig {
|
|
// The frequencies evals can be run at
|
|
enum Frequency {
|
|
// The frequency is unspecified.
|
|
FREQUENCY_UNSPECIFIED = 0;
|
|
|
|
// Indicates a one-time scheduled run that should not repeat
|
|
NONE = 1;
|
|
|
|
// Run the evaluation daily.
|
|
DAILY = 2;
|
|
|
|
// Run the evaluation weekly.
|
|
WEEKLY = 3;
|
|
|
|
// Run the evaluation biweekly.
|
|
BIWEEKLY = 4;
|
|
}
|
|
|
|
// Required. The frequency with which to run the eval
|
|
Frequency frequency = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. Timestamp when the eval should start.
|
|
google.protobuf.Timestamp start_time = 2
|
|
[(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Optional. The days of the week to run the eval. Applicable only for
|
|
// Weekly and Biweekly frequencies. 1 is Monday, 2 is Tuesday, ..., 7 is
|
|
// Sunday.
|
|
repeated int32 days_of_week = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Identifier. The unique identifier of the scheduled evaluation run config.
|
|
// Format:
|
|
// projects/{projectId}/locations/{locationId}/apps/{appId}/scheduledEvaluationRuns/{scheduledEvaluationRunId}
|
|
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
|
|
|
|
// Required. User-defined display name of the scheduled evaluation run config.
|
|
string display_name = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. The RunEvaluationRequest to schedule
|
|
RunEvaluationRequest request = 3 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Optional. User-defined description of the scheduled evaluation run.
|
|
string description = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Required. Configuration for the timing and frequency with which to execute
|
|
// the evaluations.
|
|
SchedulingConfig scheduling_config = 5
|
|
[(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Optional. Whether this config is active
|
|
bool active = 6 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Output only. The last successful EvaluationRun of this scheduled execution.
|
|
// Format:
|
|
// `projects/{project}/locations/{location}/apps/{app}/evaluationRuns/{evaluationRun}`
|
|
string last_completed_run = 7 [
|
|
(google.api.field_behavior) = OUTPUT_ONLY,
|
|
(google.api.resource_reference) = {
|
|
type: "ces.googleapis.com/EvaluationRun"
|
|
}
|
|
];
|
|
|
|
// Output only. The total number of times this run has been executed
|
|
int32 total_executions = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The next time this is scheduled to execute
|
|
google.protobuf.Timestamp next_scheduled_execution_time = 9
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Timestamp when the scheduled evaluation run was created.
|
|
google.protobuf.Timestamp create_time = 10
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The user who created the scheduled evaluation run.
|
|
string created_by = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Timestamp when the evaluation was last updated.
|
|
google.protobuf.Timestamp update_time = 12
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The user who last updated the evaluation.
|
|
string last_updated_by = 13 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Etag used to ensure the object hasn't changed during a
|
|
// read-modify-write operation. If the etag is empty, the update will
|
|
// overwrite any concurrent changes.
|
|
string etag = 14 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// Configuration for running an evaluation for a specific persona.
|
|
message PersonaRunConfig {
|
|
// Optional. The persona to use for the evaluation.
|
|
// Format:
|
|
// `projects/{project}/locations/{location}/apps/{app}/evaluationPersonas/{evaluationPersona}`
|
|
string persona = 1 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. The number of tasks to run for the persona.
|
|
int32 task_count = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Configuration for running the optimization step after the evaluation run.
|
|
message OptimizationConfig {
|
|
// The status of the optimization run.
|
|
enum OptimizationStatus {
|
|
// Optimization status is not specified.
|
|
OPTIMIZATION_STATUS_UNSPECIFIED = 0;
|
|
|
|
// Optimization is running.
|
|
RUNNING = 1;
|
|
|
|
// Optimization has completed.
|
|
COMPLETED = 2;
|
|
|
|
// Optimization failed due to an internal error.
|
|
ERROR = 3;
|
|
}
|
|
|
|
// Optional. Whether to generate a loss report.
|
|
bool generate_loss_report = 1 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Output only. The assistant session to use for the optimization based on
|
|
// this evaluation run. Format:
|
|
// `projects/{project}/locations/{location}/apps/{app}/assistantSessions/{assistantSession}`
|
|
string assistant_session = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The summary of the loss report.
|
|
string report_summary = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Whether to suggest a fix for the losses.
|
|
bool should_suggest_fix = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The status of the optimization run.
|
|
OptimizationStatus status = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The error message if the optimization run failed.
|
|
string error_message = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The generated loss report.
|
|
google.protobuf.Struct loss_report = 7
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|