// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
syntax = "proto2";
option optimize_for = LITE_RUNTIME;
package segmentation_platform.proto;
import "components/segmentation_platform/public/proto/model_metadata.proto";
import "components/segmentation_platform/public/proto/prediction_result.proto";
import "components/segmentation_platform/public/proto/segmentation_platform.proto";
// Partial training data set with only inputs, used when observation period has
// not ended.
message TrainingData {
// Input training data.
repeated float inputs = 1;
// The time at which inputs were recorded.
optional int64 decision_timestamp = 2;
// The training collection request id.
optional int64 request_id = 3;
// The time at which output should be ready to be recorded.
optional int64 observation_trigger_timestamp = 4;
}
// Top level message for a segment. Contains both the model metadata and
// prediction results.
// Next tag: 6
message SegmentInfo {
// Segment target.
optional SegmentId segment_id = 1;
// Cached copy of the segment metadata which is important in case the metadata
// is temporarily not available in the future. It also contains the relevant
// information regarding things like the TTL for a prediction result.
optional SegmentationModelMetadata model_metadata = 2;
// The last prediction result for this segment.
optional PredictionResult prediction_result = 3;
// The model version defined in ModeInfo in optimization guide, given by
// optimization guide API after ModeInfo is fetched.
optional int64 model_version = 4;
// The time that a new version of model from optimization guide is available
// and the metadta is persisted to this proto, in seconds since windows epoch.
// Could be empty for data persisted before this field is added in M101.
optional int64 model_update_time_s = 5;
// Model source indicating if model is a client model or a server model.
optional ModelSource model_source = 6;
// Partial training data awaiting observation time to finish collection.
repeated TrainingData training_data = 7;
}
// Used to test that the model evaluation score for given segment supports the
// new PredictionResult proto.
message LegacyPredictionResultForTesting {
// The result is the confidence rating from the model evaluation.
optional float result = 1;
// The time when the prediction was made, in terms of the number of
// microseconds since Windows epoch.
optional int64 timestamp_us = 2;
}