// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
syntax = "proto3";
package optimization_guide.proto;
import "components/optimization_guide/proto/features/common_quality_data.proto";
option optimize_for = LITE_RUNTIME;
option java_package = "org.chromium.components.optimization_guide.features.proto";
option java_outer_classname = "HistoryQueryProto";
// DO NOT EDIT THIS FILE DIRECTLY!
//
// This file is generated in g3 and then synced to Chrome. Instead, please
// refer to http://go/chrome-intelligence-feature-protos (Google-internal link),
// and then changes will be synced with Chrome automatically.
message HistoryQueryLoggingData {
HistoryQueryRequest request = 1;
HistoryQueryResponse response = 2;
HistoryQueryQuality quality = 3;
}
// Protos for the AiData representing the flow where Chrome sends the user query
// to the server, the server returns an embedding and the client computes a
// ranking of the documents.
// Next ID: 2
message HistoryQueryRequest {
reserved 1;
}
// Next ID: 3
message HistoryQueryResponse {
reserved 1, 2;
}
// Next Id: 10
message HistoryQueryQuality {
// The history search query entered by the user.
string query = 4;
// The embedding of the history search query.
Embedding query_embedding = 5;
// The version of the embedding model used to compute the query and document
// embeddings.
int64 embedding_model_version = 6;
// The top N (N=3 as of 2024-03-28) documents shown to the user after their
// query. Uses the same order they were shown to the user.
repeated DocumentShown top_documents_shown = 1;
// The number of characters the user entered during this UI interaction.
// This should be the length of the query plus the number of characters that
// were edited.
uint32 num_entered_characters = 2;
// The UI surface the user was on when making this query.
UiSurface ui_surface = 3;
// If specified, this is the number of days of history the user requested
// to search. For example, search may be narrowed to yesterday or last week.
// If absent, all available history is used for search.
optional uint32 num_days = 7;
UserFeedback user_feedback = 8;
// The session id of the user query. Use this to join with HistoryAnswer
// protos from the same session.
string session_id = 9;
}
// Next ID: 5
message DocumentShown {
// The full URL of the document shown to the user.
string url = 2;
repeated PassageData passages = 3;
// Whether the user clicked the shown document.
bool was_clicked = 4;
reserved 1;
}
// Next ID: 4
message PassageData {
// The embedding for this passage.
Embedding embedding = 1;
// The text of the passage.
string text = 2;
// How the passage was scored against the query.
float score = 3;
}
// Next ID: 3
enum UiSurface {
UI_SURFACE_UNSPECIFIED = 0;
UI_SURFACE_HISTORY_PAGE = 1;
UI_SURFACE_OMNIBOX_HISTORY_SCOPE = 2;
}