1*14675a02SAndroid Build Coastguard Worker// Copyright 2023 Google LLC 2*14675a02SAndroid Build Coastguard Worker// 3*14675a02SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*14675a02SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*14675a02SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*14675a02SAndroid Build Coastguard Worker// 7*14675a02SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*14675a02SAndroid Build Coastguard Worker// 9*14675a02SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*14675a02SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*14675a02SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*14675a02SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*14675a02SAndroid Build Coastguard Worker// limitations under the License. 14*14675a02SAndroid Build Coastguard Worker 15*14675a02SAndroid Build Coastguard Workersyntax = "proto3"; 16*14675a02SAndroid Build Coastguard Worker 17*14675a02SAndroid Build Coastguard Workerpackage fcp.client; 18*14675a02SAndroid Build Coastguard Worker 19*14675a02SAndroid Build Coastguard Workeroption java_package = "com.google.intelligence.fcp.client"; 20*14675a02SAndroid Build Coastguard Workeroption java_multiple_files = true; 21*14675a02SAndroid Build Coastguard Worker 22*14675a02SAndroid Build Coastguard Worker// Describes the result of an example query, as a series of vectors. Example 23*14675a02SAndroid Build Coastguard Worker// iterators invoked using `ExampleQuerySpec` are expected to return a single 24*14675a02SAndroid Build Coastguard Worker// result that is a serialized proto of this type. 25*14675a02SAndroid Build Coastguard Workermessage ExampleQueryResult { 26*14675a02SAndroid Build Coastguard Worker message VectorData { 27*14675a02SAndroid Build Coastguard Worker message Int32Values { 28*14675a02SAndroid Build Coastguard Worker repeated int32 value = 1; 29*14675a02SAndroid Build Coastguard Worker } 30*14675a02SAndroid Build Coastguard Worker 31*14675a02SAndroid Build Coastguard Worker message Int64Values { 32*14675a02SAndroid Build Coastguard Worker repeated int64 value = 1; 33*14675a02SAndroid Build Coastguard Worker } 34*14675a02SAndroid Build Coastguard Worker 35*14675a02SAndroid Build Coastguard Worker message BoolValues { 36*14675a02SAndroid Build Coastguard Worker repeated bool value = 1; 37*14675a02SAndroid Build Coastguard Worker } 38*14675a02SAndroid Build Coastguard Worker 39*14675a02SAndroid Build Coastguard Worker message FloatValues { 40*14675a02SAndroid Build Coastguard Worker repeated float value = 1; 41*14675a02SAndroid Build Coastguard Worker } 42*14675a02SAndroid Build Coastguard Worker 43*14675a02SAndroid Build Coastguard Worker message DoubleValues { 44*14675a02SAndroid Build Coastguard Worker repeated double value = 1; 45*14675a02SAndroid Build Coastguard Worker } 46*14675a02SAndroid Build Coastguard Worker 47*14675a02SAndroid Build Coastguard Worker message StringValues { 48*14675a02SAndroid Build Coastguard Worker repeated string value = 1; 49*14675a02SAndroid Build Coastguard Worker } 50*14675a02SAndroid Build Coastguard Worker 51*14675a02SAndroid Build Coastguard Worker message BytesValues { 52*14675a02SAndroid Build Coastguard Worker repeated bytes value = 1; 53*14675a02SAndroid Build Coastguard Worker } 54*14675a02SAndroid Build Coastguard Worker 55*14675a02SAndroid Build Coastguard Worker message Values { 56*14675a02SAndroid Build Coastguard Worker oneof values { 57*14675a02SAndroid Build Coastguard Worker Int32Values int32_values = 1; 58*14675a02SAndroid Build Coastguard Worker Int64Values int64_values = 2; 59*14675a02SAndroid Build Coastguard Worker BoolValues bool_values = 3; 60*14675a02SAndroid Build Coastguard Worker FloatValues float_values = 4; 61*14675a02SAndroid Build Coastguard Worker DoubleValues double_values = 5; 62*14675a02SAndroid Build Coastguard Worker StringValues string_values = 6; 63*14675a02SAndroid Build Coastguard Worker BytesValues bytes_values = 7; 64*14675a02SAndroid Build Coastguard Worker } 65*14675a02SAndroid Build Coastguard Worker } 66*14675a02SAndroid Build Coastguard Worker 67*14675a02SAndroid Build Coastguard Worker // Maps a name of the result vector to its values. 68*14675a02SAndroid Build Coastguard Worker map<string, Values> vectors = 1; 69*14675a02SAndroid Build Coastguard Worker } 70*14675a02SAndroid Build Coastguard Worker 71*14675a02SAndroid Build Coastguard Worker // Vector data fetched from the example store. 72*14675a02SAndroid Build Coastguard Worker VectorData vector_data = 1; 73*14675a02SAndroid Build Coastguard Worker} 74