xref: /aosp_15_r20/external/federated-compute/fcp/client/example_query_result.proto (revision 14675a029014e728ec732f129a32e299b2da0601)
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