1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "components/assist_ranker/predictor_config_definitions.h"
7 namespace assist_ranker {
9 #if defined(OS_ANDROID)
10 const base::Feature kContextualSearchRankerQuery{
11 "ContextualSearchRankerQuery", base::FEATURE_DISABLED_BY_DEFAULT};
15 const char kContextualSearchModelName[] = "contextual_search_model";
16 const char kContextualSearchLoggingName[] = "ContextualSearch";
17 const char kContextualSearchUmaPrefixName[] = "Search.ContextualSearch.Ranker";
19 const char kContextualSearchDefaultModelUrl[] =
20 "https://www.gstatic.com/chrome/intelligence/assist/ranker/models/"
21 "contextual_search/test_ranker_model_20171109_short_words_v2.pb.bin";
23 const base::FeatureParam<std::string>*
24 GetContextualSearchRankerUrlFeatureParam() {
25 static auto* kContextualSearchRankerUrl = new base::FeatureParam<std::string>(
26 &kContextualSearchRankerQuery, "contextual-search-ranker-model-url",
27 kContextualSearchDefaultModelUrl);
28 return kContextualSearchRankerUrl;
31 // NOTE: This list needs to be kept in sync with tools/metrics/ukm/ukm.xml!
32 // Only features within this list will be logged to UKM.
33 // TODO(chrome-ranker-team) Deprecate the whitelist once it is available through
34 // the UKM generated API.
35 const base::flat_set<std::string>* GetContextualSearchFeatureWhitelist() {
36 static auto* kContextualSearchFeatureWhitelist =
37 new base::flat_set<std::string>({"DidOptIn",
38 "DurationAfterScrollMs",
39 "EntityImpressionsCount",
47 "IsSecondTapOverride",
51 "OutcomeRankerDidPredict",
52 "OutcomeRankerPrediction",
53 "OutcomeWasCardsDataShown",
54 "OutcomeWasPanelOpened",
55 "OutcomeWasQuickActionClicked",
56 "OutcomeWasQuickAnswerSeen",
58 "Previous28DayCtrPercent",
59 "Previous28DayImpressionsCount",
60 "PreviousWeekCtrPercent",
61 "PreviousWeekImpressionsCount",
62 "QuickActionImpressionsCount",
63 "QuickActionsIgnored",
70 return kContextualSearchFeatureWhitelist;
75 const PredictorConfig GetContextualSearchPredictorConfig() {
76 static auto kContextualSearchPredictorConfig = *(new PredictorConfig(
77 kContextualSearchModelName, kContextualSearchLoggingName,
78 kContextualSearchUmaPrefixName, LOG_UKM,
79 GetContextualSearchFeatureWhitelist(), &kContextualSearchRankerQuery,
80 GetContextualSearchRankerUrlFeatureParam()));
81 return kContextualSearchPredictorConfig;
85 } // namespace assist_ranker