Skip to content

Commit c288189

Browse files
Google APIscopybara-github
authored andcommitted
feat: add FunctionResponsePart and excluded_predefined_functions in ComputerUse
PiperOrigin-RevId: 820916199
1 parent d9bfa3b commit c288189

File tree

1 file changed

+72
-0
lines changed

1 file changed

+72
-0
lines changed

google/cloud/aiplatform/v1beta1/tool.proto

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,15 @@ message Tool {
9999

100100
// Required. The environment being operated.
101101
Environment environment = 1 [(google.api.field_behavior) = REQUIRED];
102+
103+
// Optional. By default, [predefined
104+
// functions](https://cloud.google.com/vertex-ai/generative-ai/docs/computer-use#supported-actions)
105+
// are included in the final model call. Some of them can be explicitly
106+
// excluded from being automatically included. This can serve two purposes:
107+
// 1. Using a more restricted / different action space.
108+
// 2. Improving the definitions / instructions of predefined functions.
109+
repeated string excluded_predefined_functions = 2
110+
[(google.api.field_behavior) = OPTIONAL];
102111
}
103112

104113
// Optional. Function tool type.
@@ -275,6 +284,64 @@ message FunctionCall {
275284
google.protobuf.Struct args = 2 [(google.api.field_behavior) = OPTIONAL];
276285
}
277286

287+
// A datatype containing media that is part of a `FunctionResponse` message.
288+
//
289+
// A `FunctionResponsePart` consists of data which has an associated datatype. A
290+
// `FunctionResponsePart` can only contain one of the accepted types in
291+
// `FunctionResponsePart.data`.
292+
//
293+
// A `FunctionResponsePart` must have a fixed IANA MIME type identifying the
294+
// type and subtype of the media if the `inline_data` field is filled with raw
295+
// bytes.
296+
message FunctionResponsePart {
297+
// The data of the function response part.
298+
oneof data {
299+
// Inline media bytes.
300+
FunctionResponseBlob inline_data = 1;
301+
302+
// URI based data.
303+
FunctionResponseFileData file_data = 2;
304+
}
305+
}
306+
307+
// Raw media bytes for function response.
308+
//
309+
// Text should not be sent as raw bytes, use the 'text' field.
310+
message FunctionResponseBlob {
311+
// Required. The IANA standard MIME type of the source data.
312+
string mime_type = 1 [(google.api.field_behavior) = REQUIRED];
313+
314+
// Required. Raw bytes.
315+
bytes data = 2 [(google.api.field_behavior) = REQUIRED];
316+
317+
// Optional. Display name of the blob.
318+
//
319+
// Used to provide a label or filename to distinguish blobs.
320+
//
321+
// This field is only returned in PromptMessage for prompt management.
322+
// It is currently used in the Gemini GenerateContent calls only when server
323+
// side tools (code_execution, google_search, and url_context) are enabled.
324+
string display_name = 4 [(google.api.field_behavior) = OPTIONAL];
325+
}
326+
327+
// URI based data for function response.
328+
message FunctionResponseFileData {
329+
// Required. The IANA standard MIME type of the source data.
330+
string mime_type = 1 [(google.api.field_behavior) = REQUIRED];
331+
332+
// Required. URI.
333+
string file_uri = 2 [(google.api.field_behavior) = REQUIRED];
334+
335+
// Optional. Display name of the file data.
336+
//
337+
// Used to provide a label or filename to distinguish file datas.
338+
//
339+
// This field is only returned in PromptMessage for prompt management.
340+
// It is currently used in the Gemini GenerateContent calls only when server
341+
// side tools (code_execution, google_search, and url_context) are enabled.
342+
string display_name = 3 [(google.api.field_behavior) = OPTIONAL];
343+
}
344+
278345
// The result output from a [FunctionCall] that contains a string representing
279346
// the [FunctionDeclaration.name] and a structured JSON object containing any
280347
// output from the function is used as context to the model. This should contain
@@ -293,6 +360,11 @@ message FunctionResponse {
293360
// error details (if any). If "output" and "error" keys are not specified,
294361
// then whole "response" is treated as function output.
295362
google.protobuf.Struct response = 2 [(google.api.field_behavior) = REQUIRED];
363+
364+
// Optional. Ordered `Parts` that constitute a function response. Parts may
365+
// have different IANA MIME types.
366+
repeated FunctionResponsePart parts = 4
367+
[(google.api.field_behavior) = OPTIONAL];
296368
}
297369

298370
// Code generated by the model that is meant to be executed, and the result

0 commit comments

Comments
 (0)