chromium/components/browsing_topics/annotator.h

// Copyright 2023 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_BROWSING_TOPICS_ANNOTATOR_H_
#define COMPONENTS_BROWSING_TOPICS_ANNOTATOR_H_

#include <optional>
#include <string>
#include <vector>

#include "base/functional/callback.h"
#include "components/optimization_guide/core/bert_model_handler.h"

namespace browsing_topics {

// An annotation for a single input to the Annotator.
struct Annotation {};

// An ML-based annotator for using in Browsing Topics. Models are delivered by
// the OptimizationGuide service and processed using the TFLite Support Library.
// Support for a Google-provided lookup table is also included that
// short-circuits the ML model, allowing for better performance on popular pages
// as well as human labels when the ML model is inaccurate.
class Annotator {};

}  // namespace browsing_topics

#endif  // COMPONENTS_BROWSING_TOPICS_ANNOTATOR_H_