-
Notifications
You must be signed in to change notification settings - Fork 602
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: [generativelanguage] Add GoogleSearch tool type (#5929)
* feat: Add v1alpha feat: Add BidiGenerateContent + all the necessary protos feat: Add TuningMultiturnExample PiperOrigin-RevId: 713078684 Source-Link: googleapis/googleapis@ae0e102 Source-Link: googleapis/googleapis-gen@970d7ef Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWFpLWdlbmVyYXRpdmVsYW5ndWFnZS8uT3dsQm90LnlhbWwiLCJoIjoiOTcwZDdlZjhkYTg0NDc0NGYxZGU4ZDUyN2E5NGViZDI1ZGM3NTM4NCJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * feat: Add civic_integrity toggle docs: Update safety filter list to include civic_integrity feat: Add image_safety block_reason + finish_reason PiperOrigin-RevId: 713079488 Source-Link: googleapis/googleapis@23553a9 Source-Link: googleapis/googleapis-gen@28d6444 Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWFpLWdlbmVyYXRpdmVsYW5ndWFnZS8uT3dsQm90LnlhbWwiLCJoIjoiMjhkNjQ0NDQyZGM5YmIzZDBkM2Q2ZjFlZTVmM2EwMjJmOGZmMGM5NCJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * feat: Add GoogleSearch tool type feat: Add return type `Schema response` to function declarations feat: Add id to FunctionCall and FunctionResponse feat: Add civic_integrity toggle to generation_config feat: Add response_modalities to generation_config feat: Add voice_config to generation_config docs: Update safety filter list to include civic_integrity feat: Add image_safety block_reason + finish_reason PiperOrigin-RevId: 713080033 Source-Link: googleapis/googleapis@130b113 Source-Link: googleapis/googleapis-gen@d3455ba Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWFpLWdlbmVyYXRpdmVsYW5ndWFnZS8uT3dsQm90LnlhbWwiLCJoIjoiZDM0NTViYWIyN2E1YzdmOGMzOWU1MzQ4MjY0OTQ2OGJhYTAyMWNlMCJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> Co-authored-by: d-goog <[email protected]>
- Loading branch information
1 parent
866f6b0
commit e5a665a
Showing
129 changed files
with
122,312 additions
and
2,483 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
147 changes: 147 additions & 0 deletions
147
...gle-ai-generativelanguage/protos/google/ai/generativelanguage/v1alpha/cache_service.proto
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,147 @@ | ||
// Copyright 2024 Google LLC | ||
// | ||
// Licensed under the Apache License, Version 2.0 (the "License"); | ||
// you may not use this file except in compliance with the License. | ||
// You may obtain a copy of the License at | ||
// | ||
// http://www.apache.org/licenses/LICENSE-2.0 | ||
// | ||
// Unless required by applicable law or agreed to in writing, software | ||
// distributed under the License is distributed on an "AS IS" BASIS, | ||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
// See the License for the specific language governing permissions and | ||
// limitations under the License. | ||
|
||
syntax = "proto3"; | ||
|
||
package google.ai.generativelanguage.v1alpha; | ||
|
||
import "google/ai/generativelanguage/v1alpha/cached_content.proto"; | ||
import "google/api/annotations.proto"; | ||
import "google/api/client.proto"; | ||
import "google/api/field_behavior.proto"; | ||
import "google/api/resource.proto"; | ||
import "google/protobuf/empty.proto"; | ||
import "google/protobuf/field_mask.proto"; | ||
|
||
option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1alpha/generativelanguagepb;generativelanguagepb"; | ||
option java_multiple_files = true; | ||
option java_outer_classname = "CacheServiceProto"; | ||
option java_package = "com.google.ai.generativelanguage.v1alpha"; | ||
|
||
// API for managing cache of content (CachedContent resources) that can be used | ||
// in GenerativeService requests. This way generate content requests can benefit | ||
// from preprocessing work being done earlier, possibly lowering their | ||
// computational cost. It is intended to be used with large contexts. | ||
service CacheService { | ||
option (google.api.default_host) = "generativelanguage.googleapis.com"; | ||
|
||
// Lists CachedContents. | ||
rpc ListCachedContents(ListCachedContentsRequest) | ||
returns (ListCachedContentsResponse) { | ||
option (google.api.http) = { | ||
get: "/v1alpha/cachedContents" | ||
}; | ||
option (google.api.method_signature) = ""; | ||
} | ||
|
||
// Creates CachedContent resource. | ||
rpc CreateCachedContent(CreateCachedContentRequest) returns (CachedContent) { | ||
option (google.api.http) = { | ||
post: "/v1alpha/cachedContents" | ||
body: "cached_content" | ||
}; | ||
option (google.api.method_signature) = "cached_content"; | ||
} | ||
|
||
// Reads CachedContent resource. | ||
rpc GetCachedContent(GetCachedContentRequest) returns (CachedContent) { | ||
option (google.api.http) = { | ||
get: "/v1alpha/{name=cachedContents/*}" | ||
}; | ||
option (google.api.method_signature) = "name"; | ||
} | ||
|
||
// Updates CachedContent resource (only expiration is updatable). | ||
rpc UpdateCachedContent(UpdateCachedContentRequest) returns (CachedContent) { | ||
option (google.api.http) = { | ||
patch: "/v1alpha/{cached_content.name=cachedContents/*}" | ||
body: "cached_content" | ||
}; | ||
option (google.api.method_signature) = "cached_content,update_mask"; | ||
} | ||
|
||
// Deletes CachedContent resource. | ||
rpc DeleteCachedContent(DeleteCachedContentRequest) | ||
returns (google.protobuf.Empty) { | ||
option (google.api.http) = { | ||
delete: "/v1alpha/{name=cachedContents/*}" | ||
}; | ||
option (google.api.method_signature) = "name"; | ||
} | ||
} | ||
|
||
// Request to list CachedContents. | ||
message ListCachedContentsRequest { | ||
// Optional. The maximum number of cached contents to return. The service may | ||
// return fewer than this value. If unspecified, some default (under maximum) | ||
// number of items will be returned. The maximum value is 1000; values above | ||
// 1000 will be coerced to 1000. | ||
int32 page_size = 1 [(google.api.field_behavior) = OPTIONAL]; | ||
|
||
// Optional. A page token, received from a previous `ListCachedContents` call. | ||
// Provide this to retrieve the subsequent page. | ||
// | ||
// When paginating, all other parameters provided to `ListCachedContents` must | ||
// match the call that provided the page token. | ||
string page_token = 2 [(google.api.field_behavior) = OPTIONAL]; | ||
} | ||
|
||
// Response with CachedContents list. | ||
message ListCachedContentsResponse { | ||
// List of cached contents. | ||
repeated CachedContent cached_contents = 1; | ||
|
||
// A token, which can be sent as `page_token` to retrieve the next page. | ||
// If this field is omitted, there are no subsequent pages. | ||
string next_page_token = 2; | ||
} | ||
|
||
// Request to create CachedContent. | ||
message CreateCachedContentRequest { | ||
// Required. The cached content to create. | ||
CachedContent cached_content = 1 [(google.api.field_behavior) = REQUIRED]; | ||
} | ||
|
||
// Request to read CachedContent. | ||
message GetCachedContentRequest { | ||
// Required. The resource name referring to the content cache entry. | ||
// Format: `cachedContents/{id}` | ||
string name = 1 [ | ||
(google.api.field_behavior) = REQUIRED, | ||
(google.api.resource_reference) = { | ||
type: "generativelanguage.googleapis.com/CachedContent" | ||
} | ||
]; | ||
} | ||
|
||
// Request to update CachedContent. | ||
message UpdateCachedContentRequest { | ||
// Required. The content cache entry to update | ||
CachedContent cached_content = 1 [(google.api.field_behavior) = REQUIRED]; | ||
|
||
// The list of fields to update. | ||
google.protobuf.FieldMask update_mask = 2; | ||
} | ||
|
||
// Request to delete CachedContent. | ||
message DeleteCachedContentRequest { | ||
// Required. The resource name referring to the content cache entry | ||
// Format: `cachedContents/{id}` | ||
string name = 1 [ | ||
(google.api.field_behavior) = REQUIRED, | ||
(google.api.resource_reference) = { | ||
type: "generativelanguage.googleapis.com/CachedContent" | ||
} | ||
]; | ||
} |
125 changes: 125 additions & 0 deletions
125
...le-ai-generativelanguage/protos/google/ai/generativelanguage/v1alpha/cached_content.proto
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,125 @@ | ||
// Copyright 2024 Google LLC | ||
// | ||
// Licensed under the Apache License, Version 2.0 (the "License"); | ||
// you may not use this file except in compliance with the License. | ||
// You may obtain a copy of the License at | ||
// | ||
// http://www.apache.org/licenses/LICENSE-2.0 | ||
// | ||
// Unless required by applicable law or agreed to in writing, software | ||
// distributed under the License is distributed on an "AS IS" BASIS, | ||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
// See the License for the specific language governing permissions and | ||
// limitations under the License. | ||
|
||
syntax = "proto3"; | ||
|
||
package google.ai.generativelanguage.v1alpha; | ||
|
||
import "google/ai/generativelanguage/v1alpha/content.proto"; | ||
import "google/api/field_behavior.proto"; | ||
import "google/api/resource.proto"; | ||
import "google/protobuf/duration.proto"; | ||
import "google/protobuf/timestamp.proto"; | ||
|
||
option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1alpha/generativelanguagepb;generativelanguagepb"; | ||
option java_multiple_files = true; | ||
option java_outer_classname = "CachedContentProto"; | ||
option java_package = "com.google.ai.generativelanguage.v1alpha"; | ||
|
||
// Content that has been preprocessed and can be used in subsequent request | ||
// to GenerativeService. | ||
// | ||
// Cached content can be only used with model it was created for. | ||
message CachedContent { | ||
option (google.api.resource) = { | ||
type: "generativelanguage.googleapis.com/CachedContent" | ||
pattern: "cachedContents/{id}" | ||
plural: "cachedContents" | ||
singular: "cachedContent" | ||
}; | ||
|
||
// Metadata on the usage of the cached content. | ||
message UsageMetadata { | ||
// Total number of tokens that the cached content consumes. | ||
int32 total_token_count = 1; | ||
} | ||
|
||
// Specifies when this resource will expire. | ||
oneof expiration { | ||
// Timestamp in UTC of when this resource is considered expired. | ||
// This is *always* provided on output, regardless of what was sent | ||
// on input. | ||
google.protobuf.Timestamp expire_time = 9; | ||
|
||
// Input only. New TTL for this resource, input only. | ||
google.protobuf.Duration ttl = 10 | ||
[(google.api.field_behavior) = INPUT_ONLY]; | ||
} | ||
|
||
// Optional. Identifier. The resource name referring to the cached content. | ||
// Format: `cachedContents/{id}` | ||
optional string name = 1 [ | ||
(google.api.field_behavior) = IDENTIFIER, | ||
(google.api.field_behavior) = OPTIONAL | ||
]; | ||
|
||
// Optional. Immutable. The user-generated meaningful display name of the | ||
// cached content. Maximum 128 Unicode characters. | ||
optional string display_name = 11 [ | ||
(google.api.field_behavior) = OPTIONAL, | ||
(google.api.field_behavior) = IMMUTABLE | ||
]; | ||
|
||
// Required. Immutable. The name of the `Model` to use for cached content | ||
// Format: `models/{model}` | ||
optional string model = 2 [ | ||
(google.api.field_behavior) = IMMUTABLE, | ||
(google.api.field_behavior) = REQUIRED, | ||
(google.api.resource_reference) = { | ||
type: "generativelanguage.googleapis.com/Model" | ||
} | ||
]; | ||
|
||
// Optional. Input only. Immutable. Developer set system instruction. | ||
// Currently text only. | ||
optional Content system_instruction = 3 [ | ||
(google.api.field_behavior) = OPTIONAL, | ||
(google.api.field_behavior) = IMMUTABLE, | ||
(google.api.field_behavior) = INPUT_ONLY | ||
]; | ||
|
||
// Optional. Input only. Immutable. The content to cache. | ||
repeated Content contents = 4 [ | ||
(google.api.field_behavior) = OPTIONAL, | ||
(google.api.field_behavior) = IMMUTABLE, | ||
(google.api.field_behavior) = INPUT_ONLY | ||
]; | ||
|
||
// Optional. Input only. Immutable. A list of `Tools` the model may use to | ||
// generate the next response | ||
repeated Tool tools = 5 [ | ||
(google.api.field_behavior) = OPTIONAL, | ||
(google.api.field_behavior) = IMMUTABLE, | ||
(google.api.field_behavior) = INPUT_ONLY | ||
]; | ||
|
||
// Optional. Input only. Immutable. Tool config. This config is shared for all | ||
// tools. | ||
optional ToolConfig tool_config = 6 [ | ||
(google.api.field_behavior) = OPTIONAL, | ||
(google.api.field_behavior) = IMMUTABLE, | ||
(google.api.field_behavior) = INPUT_ONLY | ||
]; | ||
|
||
// Output only. Creation time of the cache entry. | ||
google.protobuf.Timestamp create_time = 7 | ||
[(google.api.field_behavior) = OUTPUT_ONLY]; | ||
|
||
// Output only. When the cache entry was last updated in UTC time. | ||
google.protobuf.Timestamp update_time = 8 | ||
[(google.api.field_behavior) = OUTPUT_ONLY]; | ||
|
||
// Output only. Metadata on the usage of the cached content. | ||
UsageMetadata usage_metadata = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; | ||
} |
51 changes: 51 additions & 0 deletions
51
...s/google-ai-generativelanguage/protos/google/ai/generativelanguage/v1alpha/citation.proto
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
// Copyright 2024 Google LLC | ||
// | ||
// Licensed under the Apache License, Version 2.0 (the "License"); | ||
// you may not use this file except in compliance with the License. | ||
// You may obtain a copy of the License at | ||
// | ||
// http://www.apache.org/licenses/LICENSE-2.0 | ||
// | ||
// Unless required by applicable law or agreed to in writing, software | ||
// distributed under the License is distributed on an "AS IS" BASIS, | ||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
// See the License for the specific language governing permissions and | ||
// limitations under the License. | ||
|
||
syntax = "proto3"; | ||
|
||
package google.ai.generativelanguage.v1alpha; | ||
|
||
import "google/api/field_behavior.proto"; | ||
|
||
option go_package = "cloud.google.com/go/ai/generativelanguage/apiv1alpha/generativelanguagepb;generativelanguagepb"; | ||
option java_multiple_files = true; | ||
option java_outer_classname = "CitationProto"; | ||
option java_package = "com.google.ai.generativelanguage.v1alpha"; | ||
|
||
// A collection of source attributions for a piece of content. | ||
message CitationMetadata { | ||
// Citations to sources for a specific response. | ||
repeated CitationSource citation_sources = 1; | ||
} | ||
|
||
// A citation to a source for a portion of a specific response. | ||
message CitationSource { | ||
// Optional. Start of segment of the response that is attributed to this | ||
// source. | ||
// | ||
// Index indicates the start of the segment, measured in bytes. | ||
optional int32 start_index = 1 [(google.api.field_behavior) = OPTIONAL]; | ||
|
||
// Optional. End of the attributed segment, exclusive. | ||
optional int32 end_index = 2 [(google.api.field_behavior) = OPTIONAL]; | ||
|
||
// Optional. URI that is attributed as a source for a portion of the text. | ||
optional string uri = 3 [(google.api.field_behavior) = OPTIONAL]; | ||
|
||
// Optional. License for the GitHub project that is attributed as a source for | ||
// segment. | ||
// | ||
// License info is required for code citations. | ||
optional string license = 4 [(google.api.field_behavior) = OPTIONAL]; | ||
} |
Oops, something went wrong.