// Copyright 2017 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef COMPONENTS_ASSIST_RANKER_BASE_PREDICTOR_H_ #define COMPONENTS_ASSIST_RANKER_BASE_PREDICTOR_H_ #include <memory> #include <string> #include "components/assist_ranker/predictor_config.h" #include "components/assist_ranker/ranker_model_loader.h" #include "services/metrics/public/cpp/ukm_source_id.h" class GURL; namespace ukm { class UkmEntryBuilder; } namespace assist_ranker { // Value to use for when no prediction threshold replacement should be applied. // See |GetPredictThresholdReplacement| method. const float kNoPredictThresholdReplacement = …; class Feature; class RankerExample; class RankerModel; // Predictors are objects that provide an interface for prediction, as well as // encapsulate the logic for loading the model and logging. Sub-classes of // BasePredictor implement an interface that depends on the nature of the // supported model. Subclasses of BasePredictor will also need to implement an // Initialize method that will be called once the model is available, and a // static validation function with the following signature: // // static RankerModelStatus ValidateModel(const RankerModel& model); class BasePredictor { … }; } // namespace assist_ranker #endif // COMPONENTS_ASSIST_RANKER_BASE_PREDICTOR_H_