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