From 65018b655dbb6038b6daac5860c89974b8ae125e Mon Sep 17 00:00:00 2001 From: Wanlin Du Date: Wed, 7 Jan 2026 13:27:30 -0800 Subject: [PATCH] docs: Regenerate docs for 1.57.0 PiperOrigin-RevId: 853390913 --- docs/genai.html | 1715 +++++++++++++++++++++++++++---------------- docs/genindex.html | 52 +- docs/index.html | 30 +- docs/modules.html | 30 +- docs/objects.inv | Bin 23244 -> 23354 bytes docs/searchindex.js | 2 +- 6 files changed, 1161 insertions(+), 668 deletions(-) diff --git a/docs/genai.html b/docs/genai.html index de6cb277e..04bc569c8 100644 --- a/docs/genai.html +++ b/docs/genai.html @@ -1497,6 +1497,17 @@

Submodules +
+async register_files(*, auth, uris, config=None)
+

Registers gcs files with the file service.

+
+
Return type:
+

RegisterFilesResponse

+
+
+
+
async upload(*, file, config=None)
@@ -1647,6 +1658,17 @@

Submodules +
+register_files(*, auth, uris, config=None)
+

Registers gcs files with the file service.

+
+
Return type:
+

RegisterFilesResponse

+
+
+

+
upload(*, file, config=None)
@@ -2468,7 +2490,7 @@

Submodules class genai.types.Behavior(*values)

Bases: CaseInSensitiveEnum

-

Defines the function behavior. Defaults to BLOCKING.

+

Specifies the function Behavior.

+

Currently only supported by the BidiGenerateContent method. This enum is not +supported in Vertex AI.

BLOCKING = 'BLOCKING'
@@ -21564,7 +21588,7 @@

Submodules "type": "string" }, "Behavior": { - "description": "Defines the function behavior. Defaults to `BLOCKING`.", + "description": "Specifies the function Behavior.\n\nCurrently only supported by the BidiGenerateContent method. This enum is not\nsupported in Vertex AI.", "enum": [ "UNSPECIFIED", "BLOCKING", @@ -21731,37 +21755,37 @@

Submodules "additionalProperties": false, "description": "Describes the options to customize dynamic retrieval.", "properties": { - "mode": { + "dynamicThreshold": { "anyOf": [ { - "$ref": "#/$defs/DynamicRetrievalConfigMode" + "type": "number" }, { "type": "null" } ], "default": null, - "description": "The mode of the predictor to be used in dynamic retrieval." + "description": "Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.", + "title": "Dynamicthreshold" }, - "dynamicThreshold": { + "mode": { "anyOf": [ { - "type": "number" + "$ref": "#/$defs/DynamicRetrievalConfigMode" }, { "type": "null" } ], "default": null, - "description": "Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.", - "title": "Dynamicthreshold" + "description": "The mode of the predictor to be used in dynamic retrieval." } }, "title": "DynamicRetrievalConfig", "type": "object" }, "DynamicRetrievalConfigMode": { - "description": "Config for the dynamic retrieval config mode.", + "description": "The mode of the predictor to be used in dynamic retrieval.", "enum": [ "MODE_UNSPECIFIED", "MODE_DYNAMIC" @@ -22286,7 +22310,8 @@

Submodules "enum": [ "SOURCE_UNSPECIFIED", "UPLOADED", - "GENERATED" + "GENERATED", + "REGISTERED" ], "title": "FileSource", "type": "string" @@ -22432,20 +22457,8 @@

Submodules }, "FunctionDeclaration": { "additionalProperties": false, - "description": "Defines a function that the model can generate JSON inputs for.\n\nThe inputs are based on `OpenAPI 3.0 specifications\n<https://spec.openapis.org/oas/v3.0.3>`_.", + "description": "Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3).\n\nIncluded in this declaration are the function name, description, parameters\nand response type. This FunctionDeclaration is a representation of a block of\ncode that can be used as a `Tool` by the model and executed by the client.", "properties": { - "behavior": { - "anyOf": [ - { - "$ref": "#/$defs/Behavior" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Defines the function behavior." - }, "description": { "anyOf": [ { @@ -22517,6 +22530,18 @@

Submodules "default": null, "description": "Optional. Describes the output from this function in JSON Schema format. The value specified by the schema is the response value of the function. This field is mutually exclusive with `response`.", "title": "Responsejsonschema" + }, + "behavior": { + "anyOf": [ + { + "$ref": "#/$defs/Behavior" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional. Specifies the function Behavior. Currently only supported by the BidiGenerateContent method. This field is not supported in Vertex AI." } }, "title": "FunctionDeclaration", @@ -24454,22 +24479,6 @@

Submodules "additionalProperties": false, "description": "Tool details of a tool that the model may use to generate a response.", "properties": { - "functionDeclarations": { - "anyOf": [ - { - "items": { - "$ref": "#/$defs/FunctionDeclaration" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "default": null, - "description": "List of function declarations that the tool supports.", - "title": "Functiondeclarations" - }, "retrieval": { "anyOf": [ { @@ -24482,18 +24491,6 @@

Submodules "default": null, "description": "Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation. This field is not supported in Gemini API." }, - "googleSearchRetrieval": { - "anyOf": [ - { - "$ref": "#/$defs/GoogleSearchRetrieval" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Optional. Specialized retrieval tool that is powered by Google Search." - }, "computerUse": { "anyOf": [ { @@ -24542,6 +24539,22 @@

Submodules "default": null, "description": "Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance. This field is not supported in Gemini API." }, + "functionDeclarations": { + "anyOf": [ + { + "items": { + "$ref": "#/$defs/FunctionDeclaration" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.", + "title": "Functiondeclarations" + }, "googleMaps": { "anyOf": [ { @@ -24566,6 +24579,18 @@

Submodules "default": null, "description": "Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google." }, + "googleSearchRetrieval": { + "anyOf": [ + { + "$ref": "#/$defs/GoogleSearchRetrieval" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional. Specialized retrieval tool that is powered by Google Search." + }, "urlContext": { "anyOf": [ { @@ -29333,7 +29358,7 @@

Submodules "type": "string" }, "Behavior": { - "description": "Defines the function behavior. Defaults to `BLOCKING`.", + "description": "Specifies the function Behavior.\n\nCurrently only supported by the BidiGenerateContent method. This enum is not\nsupported in Vertex AI.", "enum": [ "UNSPECIFIED", "BLOCKING", @@ -29500,37 +29525,37 @@

Submodules "additionalProperties": false, "description": "Describes the options to customize dynamic retrieval.", "properties": { - "mode": { + "dynamicThreshold": { "anyOf": [ { - "$ref": "#/$defs/DynamicRetrievalConfigMode" + "type": "number" }, { "type": "null" } ], "default": null, - "description": "The mode of the predictor to be used in dynamic retrieval." + "description": "Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.", + "title": "Dynamicthreshold" }, - "dynamicThreshold": { + "mode": { "anyOf": [ { - "type": "number" + "$ref": "#/$defs/DynamicRetrievalConfigMode" }, { "type": "null" } ], "default": null, - "description": "Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.", - "title": "Dynamicthreshold" + "description": "The mode of the predictor to be used in dynamic retrieval." } }, "title": "DynamicRetrievalConfig", "type": "object" }, "DynamicRetrievalConfigMode": { - "description": "Config for the dynamic retrieval config mode.", + "description": "The mode of the predictor to be used in dynamic retrieval.", "enum": [ "MODE_UNSPECIFIED", "MODE_DYNAMIC" @@ -30044,7 +30069,8 @@

Submodules "enum": [ "SOURCE_UNSPECIFIED", "UPLOADED", - "GENERATED" + "GENERATED", + "REGISTERED" ], "title": "FileSource", "type": "string" @@ -30192,33 +30218,33 @@

Submodules "additionalProperties": false, "description": "Function calling config.", "properties": { - "mode": { + "allowedFunctionNames": { "anyOf": [ { - "$ref": "#/$defs/FunctionCallingConfigMode" + "items": { + "type": "string" + }, + "type": "array" }, { "type": "null" } ], "default": null, - "description": "Optional. Function calling mode." + "description": "Optional. Function names to call. Only set when the Mode is ANY. Function names should match [FunctionDeclaration.name]. With mode set to ANY, model will predict a function call from the set of function names provided.", + "title": "Allowedfunctionnames" }, - "allowedFunctionNames": { + "mode": { "anyOf": [ { - "items": { - "type": "string" - }, - "type": "array" + "$ref": "#/$defs/FunctionCallingConfigMode" }, { "type": "null" } ], "default": null, - "description": "Optional. Function names to call. Only set when the Mode is ANY. Function names should match [FunctionDeclaration.name]. With mode set to ANY, model will predict a function call from the set of function names provided.", - "title": "Allowedfunctionnames" + "description": "Optional. Function calling mode." }, "streamFunctionCallArguments": { "anyOf": [ @@ -30238,7 +30264,7 @@

Submodules "type": "object" }, "FunctionCallingConfigMode": { - "description": "Config for the function calling config mode.", + "description": "Function calling mode.", "enum": [ "MODE_UNSPECIFIED", "AUTO", @@ -30251,20 +30277,8 @@

Submodules }, "FunctionDeclaration": { "additionalProperties": false, - "description": "Defines a function that the model can generate JSON inputs for.\n\nThe inputs are based on `OpenAPI 3.0 specifications\n<https://spec.openapis.org/oas/v3.0.3>`_.", + "description": "Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3).\n\nIncluded in this declaration are the function name, description, parameters\nand response type. This FunctionDeclaration is a representation of a block of\ncode that can be used as a `Tool` by the model and executed by the client.", "properties": { - "behavior": { - "anyOf": [ - { - "$ref": "#/$defs/Behavior" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Defines the function behavior." - }, "description": { "anyOf": [ { @@ -30336,6 +30350,18 @@

Submodules "default": null, "description": "Optional. Describes the output from this function in JSON Schema format. The value specified by the schema is the response value of the function. This field is mutually exclusive with `response`.", "title": "Responsejsonschema" + }, + "behavior": { + "anyOf": [ + { + "$ref": "#/$defs/Behavior" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional. Specifies the function Behavior. Currently only supported by the BidiGenerateContent method. This field is not supported in Vertex AI." } }, "title": "FunctionDeclaration", @@ -31698,22 +31724,6 @@

Submodules "additionalProperties": false, "description": "Tool details of a tool that the model may use to generate a response.", "properties": { - "functionDeclarations": { - "anyOf": [ - { - "items": { - "$ref": "#/$defs/FunctionDeclaration" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "default": null, - "description": "List of function declarations that the tool supports.", - "title": "Functiondeclarations" - }, "retrieval": { "anyOf": [ { @@ -31726,18 +31736,6 @@

Submodules "default": null, "description": "Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation. This field is not supported in Gemini API." }, - "googleSearchRetrieval": { - "anyOf": [ - { - "$ref": "#/$defs/GoogleSearchRetrieval" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Optional. Specialized retrieval tool that is powered by Google Search." - }, "computerUse": { "anyOf": [ { @@ -31786,6 +31784,22 @@

Submodules "default": null, "description": "Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance. This field is not supported in Gemini API." }, + "functionDeclarations": { + "anyOf": [ + { + "items": { + "$ref": "#/$defs/FunctionDeclaration" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.", + "title": "Functiondeclarations" + }, "googleMaps": { "anyOf": [ { @@ -31810,6 +31824,18 @@

Submodules "default": null, "description": "Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google." }, + "googleSearchRetrieval": { + "anyOf": [ + { + "$ref": "#/$defs/GoogleSearchRetrieval" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional. Specialized retrieval tool that is powered by Google Search." + }, "urlContext": { "anyOf": [ { @@ -31837,29 +31863,29 @@

Submodules "additionalProperties": false, "description": "Tool config.\n\nThis config is shared for all tools provided in the request.", "properties": { - "functionCallingConfig": { + "retrievalConfig": { "anyOf": [ { - "$ref": "#/$defs/FunctionCallingConfig" + "$ref": "#/$defs/RetrievalConfig" }, { "type": "null" } ], "default": null, - "description": "Optional. Function calling config." + "description": "Optional. Retrieval config." }, - "retrievalConfig": { + "functionCallingConfig": { "anyOf": [ { - "$ref": "#/$defs/RetrievalConfig" + "$ref": "#/$defs/FunctionCallingConfig" }, { "type": "null" } ], "default": null, - "description": "Optional. Retrieval config." + "description": "Optional. Function calling config." } }, "title": "ToolConfig", @@ -38349,35 +38375,35 @@

Submodules "description": "Describes the options to customize dynamic retrieval.", "type": "object", "properties": { - "mode": { + "dynamicThreshold": { "anyOf": [ { - "$ref": "#/$defs/DynamicRetrievalConfigMode" + "type": "number" }, { "type": "null" } ], "default": null, - "description": "The mode of the predictor to be used in dynamic retrieval." + "description": "Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.", + "title": "Dynamicthreshold" }, - "dynamicThreshold": { + "mode": { "anyOf": [ { - "type": "number" + "$ref": "#/$defs/DynamicRetrievalConfigMode" }, { "type": "null" } ], "default": null, - "description": "Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.", - "title": "Dynamicthreshold" + "description": "The mode of the predictor to be used in dynamic retrieval." } }, "$defs": { "DynamicRetrievalConfigMode": { - "description": "Config for the dynamic retrieval config mode.", + "description": "The mode of the predictor to be used in dynamic retrieval.", "enum": [ "MODE_UNSPECIFIED", "MODE_DYNAMIC" @@ -38451,7 +38477,7 @@

Submodules class genai.types.DynamicRetrievalConfigMode(*values)

Bases: CaseInSensitiveEnum

-

Config for the dynamic retrieval config mode.

+

The mode of the predictor to be used in dynamic retrieval.

MODE_DYNAMIC = 'MODE_DYNAMIC'
@@ -39992,7 +40018,8 @@

Submodules "enum": [ "SOURCE_UNSPECIFIED", "UPLOADED", - "GENERATED" + "GENERATED", + "REGISTERED" ], "title": "FileSource", "type": "string" @@ -44376,7 +44403,8 @@

Submodules "enum": [ "SOURCE_UNSPECIFIED", "UPLOADED", - "GENERATED" + "GENERATED", + "REGISTERED" ], "title": "FileSource", "type": "string" @@ -45357,6 +45385,11 @@

SubmodulesGENERATED = 'GENERATED'

+
+
+REGISTERED = 'REGISTERED'
+
+
SOURCE_UNSPECIFIED = 'SOURCE_UNSPECIFIED'
@@ -45963,33 +45996,33 @@

Submodules "description": "Function calling config.", "type": "object", "properties": { - "mode": { + "allowedFunctionNames": { "anyOf": [ { - "$ref": "#/$defs/FunctionCallingConfigMode" + "items": { + "type": "string" + }, + "type": "array" }, { "type": "null" } ], "default": null, - "description": "Optional. Function calling mode." + "description": "Optional. Function names to call. Only set when the Mode is ANY. Function names should match [FunctionDeclaration.name]. With mode set to ANY, model will predict a function call from the set of function names provided.", + "title": "Allowedfunctionnames" }, - "allowedFunctionNames": { + "mode": { "anyOf": [ { - "items": { - "type": "string" - }, - "type": "array" + "$ref": "#/$defs/FunctionCallingConfigMode" }, { "type": "null" } ], "default": null, - "description": "Optional. Function names to call. Only set when the Mode is ANY. Function names should match [FunctionDeclaration.name]. With mode set to ANY, model will predict a function call from the set of function names provided.", - "title": "Allowedfunctionnames" + "description": "Optional. Function calling mode." }, "streamFunctionCallArguments": { "anyOf": [ @@ -46007,7 +46040,7 @@

Submodules }, "$defs": { "FunctionCallingConfigMode": { - "description": "Config for the function calling config mode.", + "description": "Function calling mode.", "enum": [ "MODE_UNSPECIFIED", "AUTO", @@ -46104,7 +46137,7 @@

Submodules class genai.types.FunctionCallingConfigMode(*values)

Bases: CaseInSensitiveEnum

-

Config for the function calling config mode.

+

Function calling mode.

ANY = 'ANY'
@@ -46120,7 +46153,7 @@

Submodules
MODE_UNSPECIFIED = 'MODE_UNSPECIFIED'
-

The function calling config mode is unspecified. Should not be used.

+

Unspecified function calling mode. This value should not be used.

@@ -46132,7 +46165,7 @@

Submodules
VALIDATED = 'VALIDATED'
-

Model decides to predict either a function call or a natural language response, but will validate function calls with constrained decoding. If “allowed_function_names” are set, the predicted function call will be limited to any one of “allowed_function_names”, else the predicted function call will be any one of the provided “function_declarations”.

+

Model is constrained to predict either function calls or natural language response. If “allowed_function_names” are set, the predicted function calls will be limited to any one of “allowed_function_names”, else the predicted function calls will be any one of the provided “function_declarations”.

@@ -46141,8 +46174,10 @@

Submodules pydantic model genai.types.FunctionDeclaration

Bases: BaseModel

-

Defines a function that the model can generate JSON inputs for.

-

The inputs are based on OpenAPI 3.0 specifications.

+

Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3).

+

Included in this declaration are the function name, description, parameters +and response type. This FunctionDeclaration is a representation of a block of +code that can be used as a Tool by the model and executed by the client.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

@@ -46150,21 +46185,9 @@

Submodules Show JSON schema
{
    "title": "FunctionDeclaration",
-   "description": "Defines a function that the model can generate JSON inputs for.\n\nThe inputs are based on `OpenAPI 3.0 specifications\n<https://spec.openapis.org/oas/v3.0.3>`_.",
+   "description": "Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3).\n\nIncluded in this declaration are the function name, description, parameters\nand response type. This FunctionDeclaration is a representation of a block of\ncode that can be used as a `Tool` by the model and executed by the client.",
    "type": "object",
    "properties": {
-      "behavior": {
-         "anyOf": [
-            {
-               "$ref": "#/$defs/Behavior"
-            },
-            {
-               "type": "null"
-            }
-         ],
-         "default": null,
-         "description": "Defines the function behavior."
-      },
       "description": {
          "anyOf": [
             {
@@ -46236,11 +46259,23 @@ 

Submodules "default": null, "description": "Optional. Describes the output from this function in JSON Schema format. The value specified by the schema is the response value of the function. This field is mutually exclusive with `response`.", "title": "Responsejsonschema" + }, + "behavior": { + "anyOf": [ + { + "$ref": "#/$defs/Behavior" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional. Specifies the function Behavior. Currently only supported by the BidiGenerateContent method. This field is not supported in Vertex AI." } }, "$defs": { "Behavior": { - "description": "Defines the function behavior. Defaults to `BLOCKING`.", + "description": "Specifies the function Behavior.\n\nCurrently only supported by the BidiGenerateContent method. This enum is not\nsupported in Vertex AI.", "enum": [ "UNSPECIFIED", "BLOCKING", @@ -46630,7 +46665,7 @@

Submodules
field behavior: Optional[Behavior] = None
-

Defines the function behavior.

+

Optional. Specifies the function Behavior. Currently only supported by the BidiGenerateContent method. This field is not supported in Vertex AI.

Validated by:
Validators:
@@ -70126,6 +70155,20 @@

Submodules +
+field person_generation: Optional[str] = None (alias 'personGeneration')
+

Controls the generation of people. Supported values are: +ALLOW_ALL, ALLOW_ADULT, ALLOW_NONE.

+
+
Validated by:
+
    +
  • _check_field_type_mismatches

  • +
+
+
+

+

@@ -70162,6 +70205,13 @@

Submodules +
+person_generation: Optional[str]
+

Controls the generation of people. Supported values are: +ALLOW_ALL, ALLOW_ADULT, ALLOW_NONE.

+

+

@@ -71665,7 +71715,8 @@

Submodules "enum": [ "SOURCE_UNSPECIFIED", "UPLOADED", - "GENERATED" + "GENERATED", + "REGISTERED" ], "title": "FileSource", "type": "string" @@ -78145,7 +78196,7 @@

Submodules
field documents: Optional[list[Document]] = None
-

The returned `Document`s.

+

The returned `Document`s.

Validated by:
@@ -78995,7 +79046,8 @@

Submodules "enum": [ "SOURCE_UNSPECIFIED", "UPLOADED", - "GENERATED" + "GENERATED", + "REGISTERED" ], "title": "FileSource", "type": "string" @@ -79118,7 +79170,7 @@

Submodules
field files: Optional[list[File]] = None
-

The list of `File`s.

+

The list of `File`s.

Validated by:
@@ -81605,7 +81657,7 @@

Submodules "type": "string" }, "Behavior": { - "description": "Defines the function behavior. Defaults to `BLOCKING`.", + "description": "Specifies the function Behavior.\n\nCurrently only supported by the BidiGenerateContent method. This enum is not\nsupported in Vertex AI.", "enum": [ "UNSPECIFIED", "BLOCKING", @@ -81805,37 +81857,37 @@

Submodules "additionalProperties": false, "description": "Describes the options to customize dynamic retrieval.", "properties": { - "mode": { + "dynamicThreshold": { "anyOf": [ { - "$ref": "#/$defs/DynamicRetrievalConfigMode" + "type": "number" }, { "type": "null" } ], "default": null, - "description": "The mode of the predictor to be used in dynamic retrieval." + "description": "Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.", + "title": "Dynamicthreshold" }, - "dynamicThreshold": { + "mode": { "anyOf": [ { - "type": "number" + "$ref": "#/$defs/DynamicRetrievalConfigMode" }, { "type": "null" } ], "default": null, - "description": "Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.", - "title": "Dynamicthreshold" + "description": "The mode of the predictor to be used in dynamic retrieval." } }, "title": "DynamicRetrievalConfig", "type": "object" }, "DynamicRetrievalConfigMode": { - "description": "Config for the dynamic retrieval config mode.", + "description": "The mode of the predictor to be used in dynamic retrieval.", "enum": [ "MODE_UNSPECIFIED", "MODE_DYNAMIC" @@ -82360,7 +82412,8 @@

Submodules "enum": [ "SOURCE_UNSPECIFIED", "UPLOADED", - "GENERATED" + "GENERATED", + "REGISTERED" ], "title": "FileSource", "type": "string" @@ -82506,20 +82559,8 @@

Submodules }, "FunctionDeclaration": { "additionalProperties": false, - "description": "Defines a function that the model can generate JSON inputs for.\n\nThe inputs are based on `OpenAPI 3.0 specifications\n<https://spec.openapis.org/oas/v3.0.3>`_.", + "description": "Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3).\n\nIncluded in this declaration are the function name, description, parameters\nand response type. This FunctionDeclaration is a representation of a block of\ncode that can be used as a `Tool` by the model and executed by the client.", "properties": { - "behavior": { - "anyOf": [ - { - "$ref": "#/$defs/Behavior" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Defines the function behavior." - }, "description": { "anyOf": [ { @@ -82591,6 +82632,18 @@

Submodules "default": null, "description": "Optional. Describes the output from this function in JSON Schema format. The value specified by the schema is the response value of the function. This field is mutually exclusive with `response`.", "title": "Responsejsonschema" + }, + "behavior": { + "anyOf": [ + { + "$ref": "#/$defs/Behavior" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional. Specifies the function Behavior. Currently only supported by the BidiGenerateContent method. This field is not supported in Vertex AI." } }, "title": "FunctionDeclaration", @@ -85043,31 +85096,6 @@

Submodules "title": "ToolCodeExecution", "type": "object" }, - "ToolExecution": { - "additionalProperties": true, - "description": "Execution-related properties for a tool.", - "properties": { - "taskSupport": { - "anyOf": [ - { - "enum": [ - "forbidden", - "optional", - "required" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Tasksupport" - } - }, - "title": "ToolExecution", - "type": "object" - }, "Type": { "description": "The type of the data.", "enum": [ @@ -85410,22 +85438,6 @@

Submodules "additionalProperties": false, "description": "Tool details of a tool that the model may use to generate a response.", "properties": { - "functionDeclarations": { - "anyOf": [ - { - "items": { - "$ref": "#/$defs/FunctionDeclaration" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "default": null, - "description": "List of function declarations that the tool supports.", - "title": "Functiondeclarations" - }, "retrieval": { "anyOf": [ { @@ -85438,18 +85450,6 @@

Submodules "default": null, "description": "Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation. This field is not supported in Gemini API." }, - "googleSearchRetrieval": { - "anyOf": [ - { - "$ref": "#/$defs/GoogleSearchRetrieval" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Optional. Specialized retrieval tool that is powered by Google Search." - }, "computerUse": { "anyOf": [ { @@ -85498,6 +85498,22 @@

Submodules "default": null, "description": "Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance. This field is not supported in Gemini API." }, + "functionDeclarations": { + "anyOf": [ + { + "items": { + "$ref": "#/$defs/FunctionDeclaration" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.", + "title": "Functiondeclarations" + }, "googleMaps": { "anyOf": [ { @@ -85522,6 +85538,18 @@

Submodules "default": null, "description": "Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google." }, + "googleSearchRetrieval": { + "anyOf": [ + { + "$ref": "#/$defs/GoogleSearchRetrieval" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional. Specialized retrieval tool that is powered by Google Search." + }, "urlContext": { "anyOf": [ { @@ -85626,17 +85654,6 @@

Submodules ], "default": null, "title": "Meta" - }, - "execution": { - "anyOf": [ - { - "$ref": "#/$defs/ToolExecution" - }, - { - "type": "null" - } - ], - "default": null } }, "required": [ @@ -86628,7 +86645,7 @@

Submodules "type": "string" }, "Behavior": { - "description": "Defines the function behavior. Defaults to `BLOCKING`.", + "description": "Specifies the function Behavior.\n\nCurrently only supported by the BidiGenerateContent method. This enum is not\nsupported in Vertex AI.", "enum": [ "UNSPECIFIED", "BLOCKING", @@ -86828,37 +86845,37 @@

Submodules "additionalProperties": false, "description": "Describes the options to customize dynamic retrieval.", "properties": { - "mode": { + "dynamicThreshold": { "anyOf": [ { - "$ref": "#/$defs/DynamicRetrievalConfigMode" + "type": "number" }, { "type": "null" } ], "default": null, - "description": "The mode of the predictor to be used in dynamic retrieval." + "description": "Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.", + "title": "Dynamicthreshold" }, - "dynamicThreshold": { + "mode": { "anyOf": [ { - "type": "number" + "$ref": "#/$defs/DynamicRetrievalConfigMode" }, { "type": "null" } ], "default": null, - "description": "Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.", - "title": "Dynamicthreshold" + "description": "The mode of the predictor to be used in dynamic retrieval." } }, "title": "DynamicRetrievalConfig", "type": "object" }, "DynamicRetrievalConfigMode": { - "description": "Config for the dynamic retrieval config mode.", + "description": "The mode of the predictor to be used in dynamic retrieval.", "enum": [ "MODE_UNSPECIFIED", "MODE_DYNAMIC" @@ -87383,7 +87400,8 @@

Submodules "enum": [ "SOURCE_UNSPECIFIED", "UPLOADED", - "GENERATED" + "GENERATED", + "REGISTERED" ], "title": "FileSource", "type": "string" @@ -87529,20 +87547,8 @@

Submodules }, "FunctionDeclaration": { "additionalProperties": false, - "description": "Defines a function that the model can generate JSON inputs for.\n\nThe inputs are based on `OpenAPI 3.0 specifications\n<https://spec.openapis.org/oas/v3.0.3>`_.", + "description": "Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3).\n\nIncluded in this declaration are the function name, description, parameters\nand response type. This FunctionDeclaration is a representation of a block of\ncode that can be used as a `Tool` by the model and executed by the client.", "properties": { - "behavior": { - "anyOf": [ - { - "$ref": "#/$defs/Behavior" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Defines the function behavior." - }, "description": { "anyOf": [ { @@ -87614,6 +87620,18 @@

Submodules "default": null, "description": "Optional. Describes the output from this function in JSON Schema format. The value specified by the schema is the response value of the function. This field is mutually exclusive with `response`.", "title": "Responsejsonschema" + }, + "behavior": { + "anyOf": [ + { + "$ref": "#/$defs/Behavior" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional. Specifies the function Behavior. Currently only supported by the BidiGenerateContent method. This field is not supported in Vertex AI." } }, "title": "FunctionDeclaration", @@ -89740,31 +89758,6 @@

Submodules "title": "ToolCodeExecution", "type": "object" }, - "ToolExecution": { - "additionalProperties": true, - "description": "Execution-related properties for a tool.", - "properties": { - "taskSupport": { - "anyOf": [ - { - "enum": [ - "forbidden", - "optional", - "required" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Tasksupport" - } - }, - "title": "ToolExecution", - "type": "object" - }, "Type": { "description": "The type of the data.", "enum": [ @@ -90107,22 +90100,6 @@

Submodules "additionalProperties": false, "description": "Tool details of a tool that the model may use to generate a response.", "properties": { - "functionDeclarations": { - "anyOf": [ - { - "items": { - "$ref": "#/$defs/FunctionDeclaration" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "default": null, - "description": "List of function declarations that the tool supports.", - "title": "Functiondeclarations" - }, "retrieval": { "anyOf": [ { @@ -90135,18 +90112,6 @@

Submodules "default": null, "description": "Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation. This field is not supported in Gemini API." }, - "googleSearchRetrieval": { - "anyOf": [ - { - "$ref": "#/$defs/GoogleSearchRetrieval" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Optional. Specialized retrieval tool that is powered by Google Search." - }, "computerUse": { "anyOf": [ { @@ -90195,6 +90160,22 @@

Submodules "default": null, "description": "Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance. This field is not supported in Gemini API." }, + "functionDeclarations": { + "anyOf": [ + { + "items": { + "$ref": "#/$defs/FunctionDeclaration" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.", + "title": "Functiondeclarations" + }, "googleMaps": { "anyOf": [ { @@ -90219,6 +90200,18 @@

Submodules "default": null, "description": "Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google." }, + "googleSearchRetrieval": { + "anyOf": [ + { + "$ref": "#/$defs/GoogleSearchRetrieval" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional. Specialized retrieval tool that is powered by Google Search." + }, "urlContext": { "anyOf": [ { @@ -90323,17 +90316,6 @@

Submodules ], "default": null, "title": "Meta" - }, - "execution": { - "anyOf": [ - { - "$ref": "#/$defs/ToolExecution" - }, - { - "type": "null" - } - ], - "default": null } }, "required": [ @@ -91629,7 +91611,7 @@

Submodules "type": "object" }, "Behavior": { - "description": "Defines the function behavior. Defaults to `BLOCKING`.", + "description": "Specifies the function Behavior.\n\nCurrently only supported by the BidiGenerateContent method. This enum is not\nsupported in Vertex AI.", "enum": [ "UNSPECIFIED", "BLOCKING", @@ -91829,37 +91811,37 @@

Submodules "additionalProperties": false, "description": "Describes the options to customize dynamic retrieval.", "properties": { - "mode": { + "dynamicThreshold": { "anyOf": [ { - "$ref": "#/$defs/DynamicRetrievalConfigMode" + "type": "number" }, { "type": "null" } ], "default": null, - "description": "The mode of the predictor to be used in dynamic retrieval." + "description": "Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.", + "title": "Dynamicthreshold" }, - "dynamicThreshold": { + "mode": { "anyOf": [ { - "type": "number" + "$ref": "#/$defs/DynamicRetrievalConfigMode" }, { "type": "null" } ], "default": null, - "description": "Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.", - "title": "Dynamicthreshold" + "description": "The mode of the predictor to be used in dynamic retrieval." } }, "title": "DynamicRetrievalConfig", "type": "object" }, "DynamicRetrievalConfigMode": { - "description": "Config for the dynamic retrieval config mode.", + "description": "The mode of the predictor to be used in dynamic retrieval.", "enum": [ "MODE_UNSPECIFIED", "MODE_DYNAMIC" @@ -92394,7 +92376,8 @@

Submodules "enum": [ "SOURCE_UNSPECIFIED", "UPLOADED", - "GENERATED" + "GENERATED", + "REGISTERED" ], "title": "FileSource", "type": "string" @@ -92540,20 +92523,8 @@

Submodules }, "FunctionDeclaration": { "additionalProperties": false, - "description": "Defines a function that the model can generate JSON inputs for.\n\nThe inputs are based on `OpenAPI 3.0 specifications\n<https://spec.openapis.org/oas/v3.0.3>`_.", + "description": "Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3).\n\nIncluded in this declaration are the function name, description, parameters\nand response type. This FunctionDeclaration is a representation of a block of\ncode that can be used as a `Tool` by the model and executed by the client.", "properties": { - "behavior": { - "anyOf": [ - { - "$ref": "#/$defs/Behavior" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Defines the function behavior." - }, "description": { "anyOf": [ { @@ -92625,6 +92596,18 @@

Submodules "default": null, "description": "Optional. Describes the output from this function in JSON Schema format. The value specified by the schema is the response value of the function. This field is mutually exclusive with `response`.", "title": "Responsejsonschema" + }, + "behavior": { + "anyOf": [ + { + "$ref": "#/$defs/Behavior" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional. Specifies the function Behavior. Currently only supported by the BidiGenerateContent method. This field is not supported in Vertex AI." } }, "title": "FunctionDeclaration", @@ -94805,31 +94788,6 @@

Submodules "title": "ToolCodeExecution", "type": "object" }, - "ToolExecution": { - "additionalProperties": true, - "description": "Execution-related properties for a tool.", - "properties": { - "taskSupport": { - "anyOf": [ - { - "enum": [ - "forbidden", - "optional", - "required" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Tasksupport" - } - }, - "title": "ToolExecution", - "type": "object" - }, "TurnCoverage": { "description": "Options about which input is included in the user's turn.", "enum": [ @@ -95182,22 +95140,6 @@

Submodules "additionalProperties": false, "description": "Tool details of a tool that the model may use to generate a response.", "properties": { - "functionDeclarations": { - "anyOf": [ - { - "items": { - "$ref": "#/$defs/FunctionDeclaration" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "default": null, - "description": "List of function declarations that the tool supports.", - "title": "Functiondeclarations" - }, "retrieval": { "anyOf": [ { @@ -95210,18 +95152,6 @@

Submodules "default": null, "description": "Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation. This field is not supported in Gemini API." }, - "googleSearchRetrieval": { - "anyOf": [ - { - "$ref": "#/$defs/GoogleSearchRetrieval" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Optional. Specialized retrieval tool that is powered by Google Search." - }, "computerUse": { "anyOf": [ { @@ -95270,6 +95200,22 @@

Submodules "default": null, "description": "Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance. This field is not supported in Gemini API." }, + "functionDeclarations": { + "anyOf": [ + { + "items": { + "$ref": "#/$defs/FunctionDeclaration" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.", + "title": "Functiondeclarations" + }, "googleMaps": { "anyOf": [ { @@ -95294,6 +95240,18 @@

Submodules "default": null, "description": "Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google." }, + "googleSearchRetrieval": { + "anyOf": [ + { + "$ref": "#/$defs/GoogleSearchRetrieval" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional. Specialized retrieval tool that is powered by Google Search." + }, "urlContext": { "anyOf": [ { @@ -95398,17 +95356,6 @@

Submodules ], "default": null, "title": "Meta" - }, - "execution": { - "anyOf": [ - { - "$ref": "#/$defs/ToolExecution" - }, - { - "type": "null" - } - ], - "default": null } }, "required": [ @@ -104170,7 +104117,7 @@

Submodules
field tool_call: Optional[LiveServerToolCall] = None (alias 'toolCall')
-

Request for the client to execute the function_calls and return the responses with the matching `id`s.

+

Request for the client to execute the function_calls and return the responses with the matching `id`s.

Validated by:
  • FileSearchDict (class in genai.types) @@ -2580,14 +2584,14 @@

    F

  • FinishReason (class in genai.types)
  • + + -
  • MODE_DYNAMIC (genai.types.DynamicRetrievalConfigMode attribute) - -
  • MODE_UNSPECIFIED (genai.types.DynamicRetrievalConfigMode attribute)
  • model (genai.types.BatchJob attribute) @@ -5563,6 +5563,10 @@

    P

  • (genai.types.GenerateVideosConfig attribute)
  • (genai.types.GenerateVideosConfigDict attribute) +
  • +
  • (genai.types.ImageConfig attribute) +
  • +
  • (genai.types.ImageConfigDict attribute)
  • (genai.types.RecontextImageConfig attribute)
  • @@ -5580,11 +5584,11 @@

    P

  • PersonGeneration (class in genai.types) -
  • -
  • PHISH_BLOCK_THRESHOLD_UNSPECIFIED (genai.types.PhishBlockThreshold attribute)
  • +
  • register_files() (genai.files.AsyncFiles method) + +
  • +
  • REGISTERED (genai.types.FileSource attribute) +
  • +
  • RegisterFilesConfigDict (class in genai.types) +
  • +
  • RegisterFilesResponseDict (class in genai.types) +
  • relative_publish_time_description (genai.types.GroundingChunkMapsPlaceAnswerSourcesReviewSnippet attribute) +
  • - - @@ -2142,6 +2143,7 @@

    ReferenceFiles.download()
  • Files.get()
  • Files.list()
  • +
  • Files.register_files()
  • Files.upload()
  • @@ -3530,6 +3532,7 @@

    ReferenceFileSource @@ -4483,6 +4486,7 @@

    ReferenceImageConfig.image_size
  • ImageConfig.output_compression_quality
  • ImageConfig.output_mime_type
  • +
  • ImageConfig.person_generation
  • ImageConfigDict
  • ImageDict
  • -
  • Mode -
  • Model
  • +
  • RegisterFilesConfig +
  • +
  • RegisterFilesConfigDict +
  • +
  • RegisterFilesResponse +
  • +
  • RegisterFilesResponseDict +
  • ReplayFile
  • @@ -384,6 +385,7 @@

    googleFiles.download()
  • Files.get()
  • Files.list()
  • +
  • Files.register_files()
  • Files.upload()
  • @@ -1772,6 +1774,7 @@

    google
  • FileSource @@ -2725,6 +2728,7 @@

    googleImageConfig.image_size

  • ImageConfig.output_compression_quality
  • ImageConfig.output_mime_type
  • +
  • ImageConfig.person_generation
  • ImageConfigDict
  • ImageDict
  • -
  • Mode -
  • Model
  • +
  • RegisterFilesConfig +
  • +
  • RegisterFilesConfigDict +
  • +
  • RegisterFilesResponse +
  • +
  • RegisterFilesResponseDict +
  • ReplayFile
    • ReplayFile.interactions
    • ReplayFile.replay_id
    • diff --git a/docs/objects.inv b/docs/objects.inv index e0c3c517a8d5d8c38f18b4d0d1a7d85f4a6ac347..f3f1db949308bd473bb1d00a1d5e44e654d81ec2 100644 GIT binary patch literal 23354 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�ubM)QD#10{8OBzl`M6yxz3+tQ)n_E= zJnz=t&OPi_?zhF-+aDH(=e_6dcH14PKz8oa;`{Hgb7gbM`{(7--S5AE{JhyO?%b~d zV-DG<$2ZZsY0caV#RK^3pd*OCXxsBG9P|@%_P*RHF4dJ zg%$}vtL~zz*}QitqasYBP-G0~=8|jC+{vQR09~71c&s{2>ZVT0DOH0D2$QIR2^kB>qCAZVYSLFJ zqZ*@{jS1~5j02*pr`M=&hUjAGtq_mt8zG*-pw)2`1c7$`X>T-**$u9hb~0Zb^3BpD z^Knf=Bel1Ka~2luy`B*=4=-WlXJPRnr(vo0gNmzM8u>iai1jAa&Z0^{Q&a~^inG+? zIf()q7u;}%f@8-(`DO>w{DO)?zj$OJ+Ps258#@Iab=4k-zUw$~}%3kmj~19f3PXW&>U1e^9TZTVPOQn$qAC zT2maYT6h*9tJ{RMv)b(4-GN>VXZw73TC6r4sGa+`{pPZPs%`w$63^SU`7u|9Tf^Ij z4r6I4BV?b>6Wvu!vGGmFLf5b(kD{P4QKEc?E3DG3(irYX`C1QRl!>I7y)DN-CJ_BGT z(kMJuXNQ@PP<;=tWlYr$uH+`zPgZUw@ploP&QkuVI_?0qoGy)e=5>U4ul`Dd01RXb zLLYjy5c)dIWt_u8>{B1xfX4FGqOwYf7x`&(f(5Km8?reJqc$L`>=0Ba#84K|iE1L1 z-VtrJ{EYcaUIhOgB*$O=IsEru_T`H-Um1y9{aP3Y;%D`n)g`y)cdMV)zrIp`{73(5 z4RG)q_th)izsOM)2>H6QFy-ci literal 23244 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