Skip to content

Commit effe5c4

Browse files
Google APIscopybara-github
authored andcommitted
feat: add streaming function call argument API changes
docs: A comment for field `name` in message `.google.cloud.aiplatform.v1.FunctionCall` is changed docs: A comment for field `args` in message `.google.cloud.aiplatform.v1.FunctionCall` is changed PiperOrigin-RevId: 842549490
1 parent 8c06c1e commit effe5c4

File tree

1 file changed

+48
-4
lines changed

1 file changed

+48
-4
lines changed

google/cloud/aiplatform/v1/tool.proto

Lines changed: 48 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -234,13 +234,51 @@ message FunctionDeclaration {
234234
// representing the [FunctionDeclaration.name] and a structured JSON object
235235
// containing the parameters and their values.
236236
message FunctionCall {
237-
// Required. The name of the function to call.
237+
// Optional. The name of the function to call.
238238
// Matches [FunctionDeclaration.name].
239-
string name = 1 [(google.api.field_behavior) = REQUIRED];
239+
string name = 1 [(google.api.field_behavior) = OPTIONAL];
240240

241-
// Optional. Required. The function parameters and values in JSON object
242-
// format. See [FunctionDeclaration.parameters] for parameter details.
241+
// Optional. The function parameters and values in JSON object format.
242+
// See [FunctionDeclaration.parameters] for parameter details.
243243
google.protobuf.Struct args = 2 [(google.api.field_behavior) = OPTIONAL];
244+
245+
// Optional. The partial argument value of the function call.
246+
// If provided, represents the arguments/fields that are streamed
247+
// incrementally.
248+
repeated PartialArg partial_args = 4 [(google.api.field_behavior) = OPTIONAL];
249+
250+
// Optional. Whether this is the last part of the FunctionCall.
251+
// If true, another partial message for the current FunctionCall is expected
252+
// to follow.
253+
bool will_continue = 5 [(google.api.field_behavior) = OPTIONAL];
254+
}
255+
256+
// Partial argument value of the function call.
257+
message PartialArg {
258+
// The delta of field value being streamed.
259+
oneof delta {
260+
// Optional. Represents a null value.
261+
google.protobuf.NullValue null_value = 2
262+
[(google.api.field_behavior) = OPTIONAL];
263+
264+
// Optional. Represents a double value.
265+
double number_value = 3 [(google.api.field_behavior) = OPTIONAL];
266+
267+
// Optional. Represents a string value.
268+
string string_value = 4 [(google.api.field_behavior) = OPTIONAL];
269+
270+
// Optional. Represents a boolean value.
271+
bool bool_value = 5 [(google.api.field_behavior) = OPTIONAL];
272+
}
273+
274+
// Required. A JSON Path (RFC 9535) to the argument being streamed.
275+
// https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
276+
string json_path = 1 [(google.api.field_behavior) = REQUIRED];
277+
278+
// Optional. Whether this is not the last part of the same json_path.
279+
// If true, another PartialArg message for the current json_path is expected
280+
// to follow.
281+
bool will_continue = 6 [(google.api.field_behavior) = OPTIONAL];
244282
}
245283

246284
// A datatype containing media that is part of a `FunctionResponse` message.
@@ -558,6 +596,12 @@ message FunctionCallingConfig {
558596
// will predict a function call from the set of function names provided.
559597
repeated string allowed_function_names = 2
560598
[(google.api.field_behavior) = OPTIONAL];
599+
600+
// Optional. When set to true, arguments of a single function call will be
601+
// streamed out in multiple parts/contents/responses. Partial parameter
602+
// results will be returned in the [FunctionCall.partial_args] field.
603+
bool stream_function_call_arguments = 4
604+
[(google.api.field_behavior) = OPTIONAL];
561605
}
562606

563607
// Retrieval config.

0 commit comments

Comments
 (0)