# AgentConfig

The config for the YAML schema to create an agent.

## Any of

#### LlmAgentConfig

Type: object

The config for the YAML schema of a LlmAgent.

No Additional Properties

##

#### Agent Class

Type: enum (of string) Default: "LlmAgent"

The value is used to uniquely identify the LlmAgent class. If it is empty, it is by default an LlmAgent.

#### Must be one of:

- "LlmAgent"
- ""

##

#### Name

Type: string

Required. The name of the agent.

##

#### Description

Type: string Default: ""

Optional. The description of the agent.

##

#### Sub Agents

Default: null

Optional. The sub-agents of the agent.

## Any of

Type: array
No Additional Items

#### Each item of this array must be:

#### AgentRefConfig

Type: object

The config for the reference to another agent.

No Additional Properties

##

#### Config Path

Default: null

## Any of

Type: string
Type: null

##

#### Code

Default: null

## Any of

Type: string
Type: null
Type: null

##

#### Before Agent Callbacks

Default: null

Optional. The beforeagentcallbacks of the agent.

Example:

    before_agent_callbacks:
      - name: my_library.security_callbacks.before_agent_callback

## Any of

Type: array
No Additional Items

#### Each item of this array must be:

#### CodeConfig

Type: object

Code reference config for a variable, a function, or a class.

This config is used for configuring callbacks and tools.

No Additional Properties

##

#### Name

Type: string

##

#### Args

Default: null

## Any of

Type: array
No Additional Items

#### Each item of this array must be:

#### ArgumentConfig

Type: object

An argument passed to a function or a class's constructor.

No Additional Properties

##

#### Name

Default: null

## Any of

Type: string
Type: null

##

#### Value

Type: object
Type: null
Type: null

##

#### After Agent Callbacks

Default: null

Optional. The afteragentcallbacks of the agent.

## Any of

Type: array
No Additional Items

#### Each item of this array must be:

#### CodeConfig

Type: object

Code reference config for a variable, a function, or a class.

This config is used for configuring callbacks and tools.

Same definition as CodeConfig
Type: null

##

#### Model

Default: null

Optional. LlmAgent.model. If not set, the model will be inherited from the ancestor.

## Any of

Type: string
Type: null

##

#### Instruction

Type: string

Required. LlmAgent.instruction.

##

#### Disallow Transfer To Parent

Default: null

Optional. LlmAgent.disallowtransferto_parent.

## Any of

Type: boolean
Type: null

##

#### Disallow Transfer To Peers

Default: null

Optional. LlmAgent.disallowtransferto_peers.

## Any of

Type: boolean
Type: null

##

Default: null

Optional. LlmAgent.input_schema.

## Any of

#### CodeConfig

Type: object

Code reference config for a variable, a function, or a class.

This config is used for configuring callbacks and tools.

Same definition as CodeConfig
Type: null

##

Default: null

Optional. LlmAgent.output_schema.

## Any of

#### CodeConfig

Type: object

Code reference config for a variable, a function, or a class.

This config is used for configuring callbacks and tools.

Same definition as CodeConfig
Type: null

##

#### Output Key

Default: null

Optional. LlmAgent.output_key.

## Any of

Type: string
Type: null

##

#### Include Contents

Type: enum (of string) Default: "default"

Optional. LlmAgent.include_contents.

#### Must be one of:

- "default"
- "none"

##

#### Tools

Default: null

Optional. LlmAgent.tools.

Examples:

For ADK built-in tools in `google.adk.tools` package, they can be referenced
directly with the name:

    tools:
      - name: google_search
      - name: load_memory

For user-defined tools, they can be referenced with fully qualified name:

    tools:
      - name: my_library.my_tools.my_tool

For tools that needs to be created via functions:

    tools:
      - name: my_library.my_tools.create_tool
        args:
          - name: param1
            value: value1
          - name: param2
            value: value2

For more advanced tools, instead of specifying arguments in config, it's
recommended to define them in Python files and reference them. E.g.,

    # tools.py
    my_mcp_toolset = MCPToolset(
        connection_params=StdioServerParameters(
            command="npx",
            args=["-y", "@notionhq/notion-mcp-server"],
            env={"OPENAPI_MCP_HEADERS": NOTION_HEADERS},
        )
    )

Then, reference the toolset in config:

    tools:
      - name: tools.my_mcp_toolset

## Any of

Type: array
No Additional Items

#### Each item of this array must be:

#### ToolConfig

Type: object

The configuration for a tool.

The config supports these types of tools:
1. ADK built-in tools
2. User-defined tool instances
3. User-defined tool classes
4. User-defined functions that generate tool instances
5. User-defined function tools

For examples:

1. For ADK built-in tool instances or classes in `google.adk.tools` package,
   they can be referenced directly with the `name` and optionally with
   `args`.

       tools:
         - name: google_search
         - name: AgentTool
           args:
             agent: ./another_agent.yaml
             skip_summarization: true

2. For user-defined tool instances, the `name` is the fully qualified path
   to the tool instance.

       tools:
         - name: my_package.my_module.my_tool

3. For user-defined tool classes (custom tools), the `name` is the fully
   qualified path to the tool class and `args` is the arguments for the tool.

       tools:
         - name: my_package.my_module.my_tool_class
           args:
             my_tool_arg1: value1
             my_tool_arg2: value2

4. For user-defined functions that generate tool instances, the `name` is
   the fully qualified path to the function and `args` is passed to the
   function as arguments.

       tools:
         - name: my_package.my_module.my_tool_function
           args:
             my_function_arg1: value1
             my_function_arg2: value2

   The function must have the following signature:

       def my_function(args: ToolArgsConfig) -> BaseTool:
         ...

5. For user-defined function tools, the `name` is the fully qualified path
   to the function.

       tools:
         - name: my_package.my_module.my_function_tool

   If the above use cases don't suffice, users can define a custom tool config
   by extending BaseToolConfig and override from_config() in the custom tool.

No Additional Properties

##

#### Name

Type: string

The name of the tool.

For ADK built-in tools, `name` is the name of the tool, e.g. `google_search`
or `AgentTool`.

For user-defined tools, the name is the fully qualified path to the tool, e.g.
`my_package.my_module.my_tool`.

##

Default: null

The args for the tool.

## Any of

#### ToolArgsConfig

Type: object

Config to host free key-value pairs for the args in ToolConfig.

##

Additional Properties of any type are allowed.

Type: object
Type: null
Type: null

##

#### Before Model Callbacks

Default: null

Optional. LlmAgent.beforemodelcallbacks.

Example:

    before_model_callbacks:
      - name: my_library.callbacks.before_model_callback

## Any of

Type: array
No Additional Items

#### Each item of this array must be:

#### CodeConfig

Type: object

Code reference config for a variable, a function, or a class.

This config is used for configuring callbacks and tools.

Same definition as CodeConfig
Type: null

##

#### After Model Callbacks

Default: null

Optional. LlmAgent.aftermodelcallbacks.

## Any of

Type: array
No Additional Items

#### Each item of this array must be:

#### CodeConfig

Type: object

Code reference config for a variable, a function, or a class.

This config is used for configuring callbacks and tools.

Same definition as CodeConfig
Type: null

##

#### Before Tool Callbacks

Default: null

Optional. LlmAgent.beforetoolcallbacks.

## Any of

Type: array
No Additional Items

#### Each item of this array must be:

#### CodeConfig

Type: object

Code reference config for a variable, a function, or a class.

This config is used for configuring callbacks and tools.

Same definition as CodeConfig
Type: null

##

#### After Tool Callbacks

Default: null

Optional. LlmAgent.aftertoolcallbacks.

## Any of

Type: array
No Additional Items

#### Each item of this array must be:

#### CodeConfig

Type: object

Code reference config for a variable, a function, or a class.

This config is used for configuring callbacks and tools.

Same definition as CodeConfig
Type: null

##

Default: null

Optional. LlmAgent.generatecontentconfig.

## Any of

#### GenerateContentConfig

Type: object

Optional model configuration parameters.

For more information, see `Content generation parameters <https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/content-generation-parameters>`_.

No Additional Properties

##

Default: null

Used to override HTTP request options.

## Any of

#### HttpOptions

Type: object

HTTP options to be used in each of the requests.

No Additional Properties

##

#### Baseurl

Default: null

The base URL for the AI platform service endpoint.

## Any of

Type: string
Type: null

##

#### Apiversion

Default: null

Specifies the version of the API to use.

## Any of

Type: string
Type: null

##

#### Headers

Default: null

Additional HTTP headers to be sent with the request.

## Any of

Type: object

##

Each additional property must conform to the following schema

Type: string
Type: null

##

#### Timeout

Default: null

Timeout for the request in milliseconds.

## Any of

Type: integer
Type: null

##

#### Clientargs

Default: null

Args passed to the HTTP client.

## Any of

Type: object

##

Additional Properties of any type are allowed.

Type: object
Type: null

##

#### Asyncclientargs

Default: null

Args passed to the async HTTP client.

## Any of

Type: object

##

Additional Properties of any type are allowed.

Type: object
Type: null

##

#### Extrabody

Default: null

Extra parameters to add to the request body.
The structure must match the backend API's request structure.
- VertexAI backend API docs: https://cloud.google.com/vertex-ai/docs/reference/rest
- GeminiAPI backend API docs: https://ai.google.dev/api/rest

## Any of

Type: object

##

Additional Properties of any type are allowed.

Type: object
Type: null

##

Default: null

HTTP retry options for the request.

## Any of

#### HttpRetryOptions

Type: object

HTTP retry options to be used in each of the requests.

No Additional Properties

##

#### Attempts

Default: null

Maximum number of attempts, including the original request.
If 0 or 1, it means no retries.

## Any of

Type: integer
Type: null

##

#### Initialdelay

Default: null

Initial delay before the first retry, in fractions of a second.

## Any of

Type: number
Type: null

##

#### Maxdelay

Default: null

Maximum delay between retries, in fractions of a second.

## Any of

Type: number
Type: null

##

#### Expbase

Default: null

Multiplier by which the delay increases after each attempt.

## Any of

Type: number
Type: null

##

#### Jitter

Default: null

Randomness factor for the delay.

## Any of

Type: number
Type: null

##

#### Httpstatuscodes

Default: null

List of HTTP status codes that should trigger a retry.
If not specified, a default set of retryable codes may be used.

## Any of

Type: array of integer
No Additional Items

#### Each item of this array must be:

Type: integer
Type: null
Type: null
Type: null

##

#### Systeminstruction

Default: null

Instructions for the model to steer it toward better performance.
For example, "Answer as concisely as possible" or "Don't use technical
terms in your response".

## Any of

#### Content

Type: object

Contains the multi-part content of a message.

No Additional Properties

##

#### Parts

Default: null

List of parts that constitute a single message. Each part may have
a different IANA MIME type.

## Any of

Type: array
No Additional Items

#### Each item of this array must be:

#### Part

Type: object

A datatype containing media content.

Exactly one field within a Part should be set, representing the specific type
of content being conveyed. Using multiple fields within the same `Part`
instance is considered invalid.

No Additional Properties

##

Default: null

Metadata for a given video.

## Any of

#### VideoMetadata

Type: object

Describes how the video in the Part should be used by the model.

No Additional Properties

##

#### Fps

Default: null

The frame rate of the video sent to the model. If not specified, the
default value will be 1.0. The fps range is (0.0, 24.0].

## Any of

Type: number
Type: null

##

#### Endoffset

Default: null

Optional. The end offset of the video.

## Any of

Type: string
Type: null

##

#### Startoffset

Default: null

Optional. The start offset of the video.

## Any of

Type: string
Type: null
Type: null

##

#### Thought

Default: null

Indicates if the part is thought from the model.

## Any of

Type: boolean
Type: null

##

Default: null

Optional. Inlined bytes data.

## Any of

#### Blob

Type: object

Content blob.

No Additional Properties

##

#### Displayname

Default: null

Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is not currently used in the Gemini GenerateContent calls.

## Any of

Type: string
Type: null

##

#### Data

Default: null

Required. Raw bytes.

## Any of

Type: string Format: base64url
Type: null

##

#### Mimetype

Default: null

Required. The IANA standard MIME type of the source data.

## Any of

Type: string
Type: null
Type: null

##

Default: null

Optional. URI based data.

## Any of

#### FileData

Type: object

URI based data.

No Additional Properties

##

#### Displayname

Default: null

Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. It is not currently used in the Gemini GenerateContent calls.

## Any of

Type: string
Type: null

##

#### Fileuri

Default: null

Required. URI.

## Any of

Type: string
Type: null

##

#### Mimetype

Default: null

Required. The IANA standard MIME type of the source data.

## Any of

Type: string
Type: null
Type: null

##

#### Thoughtsignature

Default: null

An opaque signature for the thought so it can be reused in subsequent requests.

## Any of

Type: string Format: base64url
Type: null

##

Default: null

Optional. Result of executing the [ExecutableCode].

## Any of

#### CodeExecutionResult

Type: object

Result of executing the [ExecutableCode].

Only generated when using the [CodeExecution] tool, and always follows a
`part` containing the [ExecutableCode].

No Additional Properties

##

Default: null

Required. Outcome of the code execution.

## Any of

#### Outcome

Type: enum (of string)

Required. Outcome of the code execution.

#### Must be one of:

- "OUTCOME_UNSPECIFIED"
- "OUTCOME_OK"
- "OUTCOME_FAILED"
- "OUTCOME_DEADLINE_EXCEEDED"

Type: null

##

#### Output

Default: null

Optional. Contains stdout when code execution is successful, stderr or other description otherwise.

## Any of

Type: string
Type: null
Type: null

##

Default: null

Optional. Code generated by the model that is meant to be executed.

## Any of

#### ExecutableCode

Type: object

Code generated by the model that is meant to be executed, and the result returned to the model.

Generated when using the [CodeExecution] tool, in which the code will be
automatically executed, and a corresponding [CodeExecutionResult] will also be
generated.

No Additional Properties

##

#### Code

Default: null

Required. The code to be executed.

## Any of

Type: string
Type: null

##

Default: null

Required. Programming language of the `code`.

## Any of

#### Language

Type: enum (of string)

Required. Programming language of the `code`.

#### Must be one of:

- "LANGUAGE_UNSPECIFIED"
- "PYTHON"

Type: null
Type: null

##

Default: null

Optional. A predicted [FunctionCall] returned from the model that contains a string representing the [FunctionDeclaration.name] with the parameters and their values.

## Any of

#### FunctionCall

Type: object

A function call.

No Additional Properties

##

#### Id

Default: null

The unique id of the function call. If populated, the client to execute the
`function_call` and return the response with the matching `id`.

## Any of

Type: string
Type: null

##

#### Args

Default: null

Optional. The function parameters and values in JSON object format. See [FunctionDeclaration.parameters] for parameter details.

## Any of

Type: object

##

Additional Properties of any type are allowed.

Type: object
Type: null

##

#### Name

Default: null

Required. The name of the function to call. Matches [FunctionDeclaration.name].

## Any of

Type: string
Type: null
Type: null

##

Default: null

Optional. The result output of a [FunctionCall] that contains a string representing the [FunctionDeclaration.name] and a structured JSON object containing any output from the function call. It is used as context to the model.

## Any of

#### FunctionResponse

Type: object

A function response.

No Additional Properties

##

#### Willcontinue

Default: null

Signals that function call continues, and more responses will be returned, turning the function call into a generator. Is only applicable to NONBLOCKING function calls (see FunctionDeclaration.behavior for details), ignored otherwise. If false, the default, future responses will not be considered. Is only applicable to NONBLOCKING function calls, is ignored otherwise. If set to false, future responses will not be considered. It is allowed to return empty `response` with `will_continue=False` to signal that the function call is finished.

## Any of

Type: boolean
Type: null

##

Default: null

Specifies how the response should be scheduled in the conversation. Only applicable to NONBLOCKING function calls, is ignored otherwise. Defaults to WHENIDLE.

## Any of

#### FunctionResponseScheduling

Type: enum (of string)

Specifies how the response should be scheduled in the conversation.

#### Must be one of:

- "SCHEDULING_UNSPECIFIED"
- "SILENT"
- "WHEN_IDLE"
- "INTERRUPT"

Type: null

##

#### Id

Default: null

Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.

## Any of

Type: string
Type: null

##

#### Name

Default: null

Required. The name of the function to call. Matches [FunctionDeclaration.name] and [FunctionCall.name].

## Any of

Type: string
Type: null

##

#### Response

Default: null

Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output.

## Any of

Type: object

##

Additional Properties of any type are allowed.

Type: object
Type: null
Type: null

##

#### Text

Default: null

Optional. Text part (can be code).

## Any of

Type: string
Type: null
Type: null

##

#### Role

Default: null

Optional. The producer of the content. Must be either 'user' or
'model'. Useful to set for multi-turn conversations, otherwise can be
empty. If role is not specified, SDK will determine the role.

## Any of

Type: string
Type: null
Type: array
No Additional Items

#### Each item of this array must be:

## Any of

#### File

Type: object

A file uploaded to the API.

No Additional Properties

##

#### Name

Default: null

The `File` resource name. The ID (name excluding the "files/" prefix) can contain up to 40 characters that are lowercase alphanumeric or dashes (-). The ID cannot start or end with a dash. If the name is empty on create, a unique name will be generated. Example: `files/123-456`

## Any of

Type: string
Type: null

##

#### Displayname

Default: null

Optional. The human-readable display name for the `File`. The display name must be no more than 512 characters in length, including spaces. Example: 'Welcome Image'

## Any of

Type: string
Type: null

##

#### Mimetype

Default: null

Output only. MIME type of the file.

## Any of

Type: string
Type: null

##

#### Sizebytes

Default: null

Output only. Size of the file in bytes.

## Any of

Type: integer
Type: null

##

#### Createtime

Default: null

Output only. The timestamp of when the `File` was created.

## Any of

Type: string Format: date-time
Type: null

##

#### Expirationtime

Default: null

Output only. The timestamp of when the `File` will be deleted. Only set if the `File` is scheduled to expire.

## Any of

Type: string Format: date-time
Type: null

##

#### Updatetime

Default: null

Output only. The timestamp of when the `File` was last updated.

## Any of

Type: string Format: date-time
Type: null

##

#### Sha256Hash

Default: null

Output only. SHA-256 hash of the uploaded bytes. The hash value is encoded in base64 format.

## Any of

Type: string
Type: null

##

#### Uri

Default: null

Output only. The URI of the `File`.

## Any of

Type: string
Type: null

##

#### Downloaduri

Default: null

Output only. The URI of the `File`, only set for downloadable (generated) files.

## Any of

Type: string
Type: null

##

Default: null

Output only. Processing state of the File.

## Any of

#### FileState

Type: enum (of string)

State for the lifecycle of a File.

#### Must be one of:

- "STATE_UNSPECIFIED"
- "PROCESSING"
- "ACTIVE"
- "FAILED"

Type: null

##

Default: null

Output only. The source of the `File`.

## Any of

#### FileSource

Type: enum (of string)

Source of the File.

#### Must be one of:

- "SOURCE_UNSPECIFIED"
- "UPLOADED"
- "GENERATED"

Type: null

##

#### Videometadata

Default: null

Output only. Metadata for a video.

## Any of

Type: object

##

Additional Properties of any type are allowed.

Type: object
Type: null

##

Default: null

Output only. Error status if File processing failed.

## Any of

#### FileStatus

Type: object

Status of a File that uses a common error model.

No Additional Properties

##

#### Details

Default: null

A list of messages that carry the error details. There is a common set of message types for APIs to use.

## Any of

Type: array of object
No Additional Items

#### Each item of this array must be:

Type: object

##

Additional Properties of any type are allowed.

Type: object
Type: null

##

#### Message

Default: null

A list of messages that carry the error details. There is a common set of message types for APIs to use.

## Any of

Type: string
Type: null

##

#### Code

Default: null

The status code. 0 for OK, 1 for CANCELLED

## Any of

Type: integer
Type: null
Type: null

#### Part

Type: object

A datatype containing media content.

Exactly one field within a Part should be set, representing the specific type
of content being conveyed. Using multiple fields within the same `Part`
instance is considered invalid.

Same definition as Part
Type: string

#### File

Type: object

A file uploaded to the API.

Same definition as File

#### Part

Type: object

A datatype containing media content.

Exactly one field within a Part should be set, representing the specific type
of content being conveyed. Using multiple fields within the same `Part`
instance is considered invalid.

Same definition as Part
Type: string
Type: null

##

#### Temperature

Default: null

Value that controls the degree of randomness in token selection.
Lower temperatures are good for prompts that require a less open-ended or
creative response, while higher temperatures can lead to more diverse or
creative results.

## Any of

Type: number
Type: null

##

#### Topp

Default: null

Tokens are selected from the most to least probable until the sum
of their probabilities equals this value. Use a lower value for less
random responses and a higher value for more random responses.

## Any of

Type: number
Type: null

##

#### Topk

Default: null

For each token selection step, the `top_k` tokens with the
highest probabilities are sampled. Then tokens are further filtered based
on `top_p` with the final token selected using temperature sampling. Use
a lower number for less random responses and a higher number for more
random responses.

## Any of

Type: number
Type: null

##

#### Candidatecount

Default: null

Number of response variations to return.

## Any of

Type: integer
Type: null

##

#### Maxoutputtokens

Default: null

Maximum number of tokens that can be generated in the response.

## Any of

Type: integer
Type: null

##

#### Stopsequences

Default: null

List of strings that tells the model to stop generating text if one
of the strings is encountered in the response.

## Any of

Type: array of string
No Additional Items

#### Each item of this array must be:

Type: string
Type: null

##

#### Responselogprobs

Default: null

Whether to return the log probabilities of the tokens that were
chosen by the model at each step.

## Any of

Type: boolean
Type: null

##

#### Logprobs

Default: null

Number of top candidate tokens to return the log probabilities for
at each generation step.

## Any of

Type: integer
Type: null

##

#### Presencepenalty

Default: null

Positive values penalize tokens that already appear in the
generated text, increasing the probability of generating more diverse
content.

## Any of

Type: number
Type: null

##

#### Frequencypenalty

Default: null

Positive values penalize tokens that repeatedly appear in the
generated text, increasing the probability of generating more diverse
content.

## Any of

Type: number
Type: null

##

#### Seed

Default: null

When `seed` is fixed to a specific number, the model makes a best
effort to provide the same response for repeated requests. By default, a
random number is used.

## Any of

Type: integer
Type: null

##

#### Responsemimetype

Default: null

Output response mimetype of the generated candidate text.
Supported mimetype:
- `text/plain`: (default) Text output.
- `application/json`: JSON response in the candidates.
The model needs to be prompted to output the appropriate response type,
otherwise the behavior is undefined.
This is a preview feature.

## Any of

Type: string
Type: null

##

#### Responseschema

Default: null

The `Schema` object allows the definition of input and output data types.
These types can be objects, but also primitives and arrays.
Represents a select subset of an OpenAPI 3.0 schema
object.
If set, a compatible responsemimetype must also be set.
Compatible mimetypes: `application/json`: Schema for JSON response.

## Any of

Type: object

##

Additional Properties of any type are allowed.

Type: object

#### Schema

Type: object

Schema is used to define the format of input/output data.

Represents a select subset of an OpenAPI 3.0 schema
object. More fields may
be added in the future as needed.

No Additional Properties

##

#### Additionalproperties

Default: null

Optional. Can either be a boolean or an object; controls the presence of additional properties.

## Any of

Type: object
Type: null

##

#### Defs

Default: null

Optional. A map of definitions for use by `ref` Only allowed at the root of the schema.

## Any of

Type: object

##

Each additional property must conform to the following schema

#### Schema

Type: object

Schema is used to define the format of input/output data.

Represents a select subset of an OpenAPI 3.0 schema
object. More fields may
be added in the future as needed.

Same definition as Schema
Type: null

##

#### Ref

Default: null

Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring

## Any of

Type: string
Type: null

##

#### Anyof

Default: null

Optional. The value should be validated against any (one or more) of the subschemas in the list.

## Any of

Type: array
No Additional Items

#### Each item of this array must be:

#### Schema

Type: object

Schema is used to define the format of input/output data.

Represents a select subset of an OpenAPI 3.0 schema
object. More fields may
be added in the future as needed.

Same definition as Schema
Type: null

##

#### Default

Default: null

Optional. Default value of the data.

## Any of

Type: object
Type: null

##

#### Description

Default: null

Optional. The description of the data.

## Any of

Type: string
Type: null

##

#### Enum

Default: null

Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]}

## Any of

Type: array of string
No Additional Items

#### Each item of this array must be:

Type: string
Type: null

##

#### Example

Default: null

Optional. Example of the object. Will only populated when the object is the root.

## Any of

Type: object
Type: null

##

#### Format

Default: null

Optional. The format of the data. Supported formats: for NUMBER type: "float", "double" for INTEGER type: "int32", "int64" for STRING type: "email", "byte", etc

## Any of

Type: string
Type: null

##

Default: null

Optional. SCHEMA FIELDS FOR TYPE ARRAY Schema of the elements of Type.ARRAY.

## Any of

#### Schema

Type: object

Schema is used to define the format of input/output data.

Represents a select subset of an OpenAPI 3.0 schema
object. More fields may
be added in the future as needed.

Same definition as Schema
Type: null

##

#### Maxitems

Default: null

Optional. Maximum number of the elements for Type.ARRAY.

## Any of

Type: integer
Type: null

##

#### Maxlength

Default: null

Optional. Maximum length of the Type.STRING

## Any of

Type: integer
Type: null

##

#### Maxproperties

Default: null

Optional. Maximum number of the properties for Type.OBJECT.

## Any of

Type: integer
Type: null

##

#### Maximum

Default: null

Optional. Maximum value of the Type.INTEGER and Type.NUMBER

## Any of

Type: number
Type: null

##

#### Minitems

Default: null

Optional. Minimum number of the elements for Type.ARRAY.

## Any of

Type: integer
Type: null

##

#### Minlength

Default: null

Optional. SCHEMA FIELDS FOR TYPE STRING Minimum length of the Type.STRING

## Any of

Type: integer
Type: null

##

#### Minproperties

Default: null

Optional. Minimum number of the properties for Type.OBJECT.

## Any of

Type: integer
Type: null

##

#### Minimum

Default: null

Optional. SCHEMA FIELDS FOR TYPE INTEGER and NUMBER Minimum value of the Type.INTEGER and Type.NUMBER

## Any of

Type: number
Type: null

##

#### Nullable

Default: null

Optional. Indicates if the value may be null.

## Any of

Type: boolean
Type: null

##

#### Pattern

Default: null

Optional. Pattern of the Type.STRING to restrict a string to a regular expression.

## Any of

Type: string
Type: null

##

#### Properties

Default: null

Optional. SCHEMA FIELDS FOR TYPE OBJECT Properties of Type.OBJECT.

## Any of

Type: object

##

Each additional property must conform to the following schema

#### Schema

Type: object

Schema is used to define the format of input/output data.

Represents a select subset of an OpenAPI 3.0 schema
object. More fields may
be added in the future as needed.

Same definition as Schema
Type: null

##

#### Propertyordering

Default: null

Optional. The order of the properties. Not a standard field in open api spec. Only used to support the order of the properties.

## Any of

Type: array of string
No Additional Items

#### Each item of this array must be:

Type: string
Type: null

##

#### Required

Default: null

Optional. Required properties of Type.OBJECT.

## Any of

Type: array of string
No Additional Items

#### Each item of this array must be:

Type: string
Type: null

##

#### Title

Default: null

Optional. The title of the Schema.

## Any of

Type: string
Type: null

##

Default: null

Optional. The type of the data.

## Any of

#### Type

Type: enum (of string)

Optional. The type of the data.

#### Must be one of:

- "TYPE_UNSPECIFIED"
- "STRING"
- "NUMBER"
- "INTEGER"
- "BOOLEAN"
- "ARRAY"
- "OBJECT"
- "NULL"

Type: null
Type: null

##

#### Responsejsonschema

Default: null

Optional. Output schema of the generated response.
This is an alternative to `response_schema` that accepts JSON
Schema. If set, `response_schema` must be
omitted, but `response_mime_type` is required. While the full JSON Schema
may be sent, not all features are supported. Specifically, only the
following properties are supported: - `$id` - `$defs` - `$ref` - `$anchor`
- `type` - `format` - `title` - `description` - `enum` (for strings and
numbers) - `items` - `prefixItems` - `minItems` - `maxItems` - `minimum` -
`maximum` - `anyOf` - `oneOf` (interpreted the same as `anyOf`) -
`properties` - `additionalProperties` - `required` The non-standard
`propertyOrdering` property may also be set. Cyclic references are
unrolled to a limited degree and, as such, may only be used within
non-required properties. (Nullable properties are not sufficient.) If
`$ref` is set on a sub-schema, no other properties, except for than those
starting as a `$`, may be set.

## Any of

Type: object
Type: null

##

Default: null

Configuration for model router requests.

## Any of

#### GenerationConfigRoutingConfig

Type: object

The configuration for routing the request to a specific model.

No Additional Properties

##

Default: null

Automated routing.

## Any of

#### GenerationConfigRoutingConfigAutoRoutingMode

Type: object

When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference.

No Additional Properties

##

#### Modelroutingpreference

Default: null

The model routing preference.

## Any of

Type: enum (of string)

#### Must be one of:

- "UNKNOWN"
- "PRIORITIZE_QUALITY"
- "BALANCED"
- "PRIORITIZE_COST"

Type: null
Type: null

##

Default: null

Manual routing.

## Any of

#### GenerationConfigRoutingConfigManualRoutingMode

Type: object

When manual routing is set, the specified model will be used directly.

No Additional Properties

##

#### Modelname

Default: null

The model name to use. Only the public LLM models are accepted. See Supported models.

## Any of

Type: string
Type: null
Type: null
Type: null

##

Default: null

Configuration for model selection.

## Any of

#### ModelSelectionConfig

Type: object

Config for model selection.

No Additional Properties

##

Default: null

Options for feature selection preference.

## Any of

#### FeatureSelectionPreference

Type: enum (of string)

Options for feature selection preference.

#### Must be one of:

- "FEATURE_SELECTION_PREFERENCE_UNSPECIFIED"
- "PRIORITIZE_QUALITY"
- "BALANCED"
- "PRIORITIZE_COST"

Type: null
Type: null

##

#### Safetysettings

Default: null

Safety settings in the request to block unsafe content in the
response.

## Any of

Type: array
No Additional Items

#### Each item of this array must be:

#### SafetySetting

Type: object

Safety settings.

No Additional Properties

##

Default: null

Determines if the harm block method uses probability or probability
and severity scores.

## Any of

#### HarmBlockMethod

Type: enum (of string)

Optional.

Specify if the threshold is used for probability or severity score. If not
specified, the threshold is used for probability score.

#### Must be one of:

- "HARM_BLOCK_METHOD_UNSPECIFIED"
- "SEVERITY"
- "PROBABILITY"

Type: null

##

Default: null

Required. Harm category.

## Any of

#### HarmCategory

Type: enum (of string)

Required. Harm category.

#### Must be one of:

- "HARM_CATEGORY_UNSPECIFIED"
- "HARM_CATEGORY_HATE_SPEECH"
- "HARM_CATEGORY_DANGEROUS_CONTENT"
- "HARM_CATEGORY_HARASSMENT"
- "HARM_CATEGORY_SEXUALLY_EXPLICIT"
- "HARM_CATEGORY_CIVIC_INTEGRITY"
- "HARM_CATEGORY_IMAGE_HATE"
- "HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT"
- "HARM_CATEGORY_IMAGE_HARASSMENT"
- "HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT"

Type: null

##

Default: null

Required. The harm block threshold.

## Any of

#### HarmBlockThreshold

Type: enum (of string)

Required. The harm block threshold.

#### Must be one of:

- "HARM_BLOCK_THRESHOLD_UNSPECIFIED"
- "BLOCK_LOW_AND_ABOVE"
- "BLOCK_MEDIUM_AND_ABOVE"
- "BLOCK_ONLY_HIGH"
- "BLOCK_NONE"
- "OFF"

Type: null
Type: null

##

#### Tools

Default: null

Code that enables the system to interact with external systems to
perform an action outside of the knowledge and scope of the model.

## Any of

Type: array
No Additional Items

#### Each item of this array must be:

## Any of

#### Tool

Type: object

Tool details of a tool that the model may use to generate a response.

No Additional Properties

##

#### Functiondeclarations

Default: null

List of function declarations that the tool supports.

## Any of

Type: array
No Additional Items

#### Each item of this array must be:

#### FunctionDeclaration

Type: object

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

The inputs are based on `OpenAPI 3.0 specifications <https://spec.openapis.org/oas/v3.0.3>`_.

No Additional Properties

##

Default: null

Defines the function behavior.

## Any of

#### Behavior

Type: enum (of string)

Defines the function behavior. Defaults to `BLOCKING`.

#### Must be one of:

- "UNSPECIFIED"
- "BLOCKING"
- "NON_BLOCKING"

Type: null

##

#### Description

Default: null

Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.

## Any of

Type: string
Type: null

##

#### Name

Default: null

Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots and dashes, with a maximum length of 64.

## Any of

Type: string
Type: null

##

Default: null

Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1

## Any of

#### Schema

Type: object

Schema is used to define the format of input/output data.

Represents a select subset of an OpenAPI 3.0 schema
object. More fields may
be added in the future as needed.

Same definition as Schema
Type: null

##

#### Parametersjsonschema

Default: null

Optional. Describes the parameters to the function in JSON Schema format. The schema must describe an object where the properties are the parameters to the function. For example: `{ "type": "object", "properties": { "name": { "type": "string" }, "age": { "type": "integer" } }, "additionalProperties": false, "required": ["name", "age"], "propertyOrdering": ["name", "age"] }` This field is mutually exclusive with `parameters`.

## Any of

Type: object
Type: null

##

Default: null

Optional. Describes the output from this function in JSON Schema format. Reflects the Open API 3.03 Response Object. The Schema defines the type used for the response value of the function.

## Any of

#### Schema

Type: object

Schema is used to define the format of input/output data.

Represents a select subset of an OpenAPI 3.0 schema
object. More fields may
be added in the future as needed.

Same definition as Schema
Type: null

##

#### Responsejsonschema

Default: null

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`.

## Any of

Type: object
Type: null
Type: null

##

Default: null

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.

## Any of

#### Retrieval

Type: object

Defines a retrieval tool that model can call to access external knowledge.

No Additional Properties

##

#### Disableattribution

Default: null

Optional. Deprecated. This option is no longer supported.

## Any of

Type: boolean
Type: null

##

Default: null

Use data source powered by external API for grounding.

## Any of

#### ExternalApi

Type: object

Retrieve from data source powered by external API for grounding.

The external API is not owned by Google, but need to follow the pre-defined
API spec.

No Additional Properties

##

Default: null

The authentication config to access the API. Deprecated. Please use auth_config instead.

## Any of

#### ApiAuth

Type: object

The generic reusable api auth config.

Deprecated. Please use AuthConfig (google/cloud/aiplatform/master/auth.proto)
instead.

No Additional Properties

##

Default: null

The API secret.

## Any of

#### ApiAuthApiKeyConfig

Type: object

The API secret.

No Additional Properties

##

#### Apikeysecretversion

Default: null

Required. The SecretManager secret version resource name storing API key. e.g. projects/{project}/secrets/{secret}/versions/{version}

## Any of

Type: string
Type: null

##

#### Apikeystring

Default: null

The API key string. Either this or `api_key_secret_version` must be set.

## Any of

Type: string
Type: null
Type: null
Type: null

##

Default: null

The API spec that the external API implements.

## Any of

#### ApiSpec

Type: enum (of string)

The API spec that the external API implements.

#### Must be one of:

- "API_SPEC_UNSPECIFIED"
- "SIMPLE_SEARCH"
- "ELASTIC_SEARCH"

Type: null

##

Default: null

The authentication config to access the API.

## Any of

#### AuthConfig

Type: object

Auth configuration to run the extension.

No Additional Properties

##

Default: null

Config for API key auth.

## Any of

#### ApiKeyConfig

Type: object

Config for authentication with API key.

No Additional Properties

##

#### Apikeystring

Default: null

The API key to be used in the request directly.

## Any of

Type: string
Type: null
Type: null

##

Default: null

Type of auth scheme.

## Any of

#### AuthType

Type: enum (of string)

Type of auth scheme.

#### Must be one of:

- "AUTH_TYPE_UNSPECIFIED"
- "NO_AUTH"
- "API_KEY_AUTH"
- "HTTP_BASIC_AUTH"
- "GOOGLE_SERVICE_ACCOUNT_AUTH"
- "OAUTH"
- "OIDC_AUTH"

Type: null

##

Default: null

Config for Google Service Account auth.

## Any of

#### AuthConfigGoogleServiceAccountConfig

Type: object

Config for Google Service Account Authentication.

No Additional Properties

##

#### Serviceaccount

Default: null

Optional. The service account that the extension execution service runs as. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified service account. - If not specified, the Vertex AI Extension Service Agent will be used to execute the Extension.

## Any of

Type: string
Type: null
Type: null

##

Default: null

Config for HTTP Basic auth.

## Any of

#### AuthConfigHttpBasicAuthConfig

Type: object

Config for HTTP Basic Authentication.

No Additional Properties

##

#### Credentialsecret

Default: null

Required. The name of the SecretManager secret version resource storing the base64 encoded credentials. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.

## Any of

Type: string
Type: null
Type: null

##

Default: null

Config for user oauth.

## Any of

#### AuthConfigOauthConfig

Type: object

Config for user oauth.

No Additional Properties

##

#### Accesstoken

Default: null

Access token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtimeauthconfig]] at request time.

## Any of

Type: string
Type: null

##

#### Serviceaccount

Default: null

The service account used to generate access tokens for executing the Extension. - If the service account is specified, the `iam.serviceAccounts.getAccessToken` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the provided service account.

## Any of

Type: string
Type: null
Type: null

##

Default: null

Config for user OIDC auth.

## Any of

#### AuthConfigOidcConfig

Type: object

Config for user OIDC auth.

No Additional Properties

##

#### Idtoken

Default: null

OpenID Connect formatted ID token for extension endpoint. Only used to propagate token from [[ExecuteExtensionRequest.runtimeauthconfig]] at request time.

## Any of

Type: string
Type: null

##

#### Serviceaccount

Default: null

The service account used to generate an OpenID Connect (OIDC)-compatible JWT token signed by the Google OIDC Provider (accounts.google.com) for extension endpoint (https://cloud.google.com/iam/docs/create-short-lived-credentials-direct#sa-credentials-oidc). - The audience for the token will be set to the URL in the server url defined in the OpenApi spec. - If the service account is provided, the service account should grant `iam.serviceAccounts.getOpenIdToken` permission to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents).

## Any of

Type: string
Type: null
Type: null
Type: null

##

Default: null

Parameters for the elastic search API.

## Any of

#### ExternalApiElasticSearchParams

Type: object

The search parameters to use for the ELASTIC_SEARCH spec.

No Additional Properties

##

#### Index

Default: null

The ElasticSearch index to use.

## Any of

Type: string
Type: null

##

#### Numhits

Default: null

Optional. Number of hits (chunks) to request. When specified, it is passed to Elasticsearch as the `num_hits` param.

## Any of

Type: integer
Type: null

##

#### Searchtemplate

Default: null

The ElasticSearch search template to use.

## Any of

Type: string
Type: null
Type: null

##

#### Endpoint

Default: null

The endpoint of the external API. The system will call the API at this endpoint to retrieve the data for grounding. Example: https://acme.com:443/search

## Any of

Type: string
Type: null

##

Default: null

Parameters for the simple search API.

## Any of

#### ExternalApiSimpleSearchParams

Type: object

The search parameters to use for SIMPLE_SEARCH spec.

Type: null
Type: null

##

Default: null

Set to use data source powered by Vertex AI Search.

## Any of

#### VertexAISearch

Type: object

Retrieve from Vertex AI Search datastore or engine for grounding.

datastore and engine are mutually exclusive. See
https://cloud.google.com/products/agent-builder

No Additional Properties

##

#### Datastorespecs

Default: null

Specifications that define the specific DataStores to be searched, along with configurations for those data stores. This is only considered for Engines with multiple data stores. It should only be set if engine is used.

## Any of

Type: array
No Additional Items

#### Each item of this array must be:

#### VertexAISearchDataStoreSpec

Type: object

Define data stores within engine to filter on in a search call and configurations for those data stores.

For more information, see
https://cloud.google.com/generative-ai-app-builder/docs/reference/rpc/google.cloud.discoveryengine.v1#datastorespec

No Additional Properties

##

#### Datastore

Default: null

Full resource name of DataStore, such as Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`

## Any of

Type: string
Type: null

##

#### Filter

Default: null

Optional. Filter specification to filter documents in the data store specified by data_store field. For more information on filtering, see Filtering

## Any of

Type: string
Type: null
Type: null

##

#### Datastore

Default: null

Optional. Fully-qualified Vertex AI Search data store resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`

## Any of

Type: string
Type: null

##

#### Engine

Default: null

Optional. Fully-qualified Vertex AI Search engine resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`

## Any of

Type: string
Type: null

##

#### Filter

Default: null

Optional. Filter strings to be passed to the search API.

## Any of

Type: string
Type: null

##

#### Maxresults

Default: null

Optional. Number of search results to return per query. The default value is 10. The maximumm allowed value is 10.

## Any of

Type: integer
Type: null
Type: null

##

Default: null

Set to use data source powered by Vertex RAG store. User data is uploaded via the VertexRagDataService.

## Any of

#### VertexRagStore

Type: object

Retrieve from Vertex RAG Store for grounding.

No Additional Properties

##

#### Ragcorpora

Default: null

Optional. Deprecated. Please use rag_resources instead.

## Any of

Type: array of string
No Additional Items

#### Each item of this array must be:

Type: string
Type: null

##

#### Ragresources

Default: null

Optional. The representation of the rag source. It can be used to specify corpus only or ragfiles. Currently only support one corpus or multiple files from one corpus. In the future we may open up multiple corpora support.

## Any of

Type: array
No Additional Items

#### Each item of this array must be:

#### VertexRagStoreRagResource

Type: object

The definition of the Rag resource.

No Additional Properties

##

#### Ragcorpus

Default: null

Optional. RagCorpora resource name. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`

## Any of

Type: string
Type: null

##

#### Ragfileids

Default: null

Optional. ragfileid. The files should be in the same ragcorpus set in ragcorpus field.

## Any of

Type: array of string
No Additional Items

#### Each item of this array must be:

Type: string
Type: null
Type: null

##

Default: null

Optional. The retrieval config for the Rag query.

## Any of

#### RagRetrievalConfig

Type: object

Specifies the context retrieval config.

No Additional Properties

##

Default: null

Optional. Config for filters.

## Any of

#### RagRetrievalConfigFilter

Type: object

Config for filters.

No Additional Properties

##

#### Metadatafilter

Default: null

Optional. String for metadata filtering.

## Any of

Type: string
Type: null

##

#### Vectordistancethreshold

Default: null

Optional. Only returns contexts with vector distance smaller than the threshold.

## Any of

Type: number
Type: null

##

#### Vectorsimilaritythreshold

Default: null

Optional. Only returns contexts with vector similarity larger than the threshold.

## Any of

Type: number
Type: null
Type: null

##

Default: null

Optional. Config for Hybrid Search.

## Any of

#### RagRetrievalConfigHybridSearch

Type: object

Config for Hybrid Search.

No Additional Properties

##

#### Alpha

Default: null

Optional. Alpha value controls the weight between dense and sparse vector search results. The range is [0, 1], while 0 means sparse vector search only and 1 means dense vector search only. The default value is 0.5 which balances sparse and dense vector search equally.

## Any of

Type: number
Type: null
Type: null

##

Default: null

Optional. Config for ranking and reranking.

## Any of

#### RagRetrievalConfigRanking

Type: object

Config for ranking and reranking.

No Additional Properties

##

Default: null

Optional. Config for LlmRanker.

## Any of

#### RagRetrievalConfigRankingLlmRanker

Type: object

Config for LlmRanker.

No Additional Properties

##

#### Modelname

Default: null

Optional. The model name used for ranking. See Supported models.

## Any of

Type: string
Type: null
Type: null

##

Default: null

Optional. Config for Rank Service.

## Any of

#### RagRetrievalConfigRankingRankService

Type: object

Config for Rank Service.

No Additional Properties

##

#### Modelname

Default: null

Optional. The model name of the rank service. Format: `semantic-ranker-512@latest`

## Any of

Type: string
Type: null
Type: null
Type: null

##

#### Topk

Default: null

Optional. The number of contexts to retrieve.

## Any of

Type: integer
Type: null
Type: null

##

#### Similaritytopk

Default: null

Optional. Number of top k results to return from the selected corpora.

## Any of

Type: integer
Type: null

##

#### Storecontext

Default: null

Optional. Currently only supported for Gemini Multimodal Live API. In Gemini Multimodal Live API, if `store_context` bool is specified, Gemini will leverage it to automatically memorize the interactions between the client and Gemini, and retrieve context when needed to augment the response generation for users' ongoing and future interactions.

## Any of

Type: boolean
Type: null

##

#### Vectordistancethreshold

Default: null

Optional. Only return results with vector distance smaller than the threshold.

## Any of

Type: number
Type: null
Type: null
Type: null

##

Default: null

Optional. Google Search tool type. Specialized retrieval tool
that is powered by Google Search.

## Any of

#### GoogleSearch

Type: object

Tool to support Google Search in Model. Powered by Google.

No Additional Properties

##

Default: null

Optional. Filter search results to a specific time range.
If customers set a start time, they must set an end time (and vice versa).

## Any of

#### Interval

Type: object

Represents a time interval, encoded as a start time (inclusive) and an end time (exclusive).

The start time must be less than or equal to the end time.
When the start equals the end time, the interval is an empty interval.
(matches no time)
When both start and end are unspecified, the interval matches any time.

No Additional Properties

##

#### Starttime

Default: null

The start time of the interval.

## Any of

Type: string Format: date-time
Type: null

##

#### Endtime

Default: null

The end time of the interval.

## Any of

Type: string Format: date-time
Type: null
Type: null
Type: null

##

Default: null

Optional. GoogleSearchRetrieval tool type. Specialized retrieval tool that is powered by Google search.

## Any of

#### GoogleSearchRetrieval

Type: object

Tool to retrieve public web data for grounding, powered by Google.

No Additional Properties

##

Default: null

Specifies the dynamic retrieval configuration for the given source.

## Any of

#### DynamicRetrievalConfig

Type: object

Describes the options to customize dynamic retrieval.

No Additional Properties

##

Default: null

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

## Any of

#### DynamicRetrievalConfigMode

Type: enum (of string)

Config for the dynamic retrieval config mode.

#### Must be one of:

- "MODE_UNSPECIFIED"
- "MODE_DYNAMIC"

Type: null

##

#### Dynamicthreshold

Default: null

Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.

## Any of

Type: number
Type: null
Type: null
Type: null

##

Default: null

Optional. Enterprise web search tool type. Specialized retrieval
tool that is powered by Vertex AI Search and Sec4 compliance.

## Any of

#### EnterpriseWebSearch

Type: object

Tool to search public web data, powered by Vertex AI Search and Sec4 compliance.

Type: null

##

Default: null

Optional. Google Maps tool type. Specialized retrieval tool
that is powered by Google Maps.

## Any of

#### GoogleMaps

Type: object

Tool to support Google Maps in Model.

No Additional Properties

##

Default: null

Optional. Auth config for the Google Maps tool.

## Any of

#### AuthConfig

Type: object

Auth configuration to run the extension.

Same definition as AuthConfig
Type: null
Type: null

##

Default: null

Optional. Tool to support URL context retrieval.

## Any of

#### UrlContext

Type: object

Tool to support URL context retrieval.

Type: null

##

Default: null

Optional. CodeExecution tool type. Enables the model to execute code as part of generation.

## Any of

#### ToolCodeExecution

Type: object

Tool that executes code generated by the model, and automatically returns the result to the model.

See also [ExecutableCode]and [CodeExecutionResult] which are input and output
to this tool.

Type: null

##

Default: null

Optional. Tool to support the model interacting directly with the computer. If enabled, it automatically populates computer-use specific Function Declarations.

## Any of

#### ToolComputerUse

Type: object

Tool to support computer use.

No Additional Properties

##

Default: null

Required. The environment being operated.

## Any of

#### Environment

Type: enum (of string)

Required. The environment being operated.

#### Must be one of:

- "ENVIRONMENT_UNSPECIFIED"
- "ENVIRONMENT_BROWSER"

Type: null
Type: null

#### Tool

Type: object

Definition for a tool the client can call.

##

#### Name

Type: string

##

#### Title

Default: null

## Any of

Type: string
Type: null

##

#### Description

Default: null

## Any of

Type: string
Type: null

##

#### Inputschema

Type: object

##

Additional Properties of any type are allowed.

Type: object

##

#### Outputschema

Default: null

## Any of

Type: object

##

Additional Properties of any type are allowed.

Type: object
Type: null

##

Default: null

## Any of

#### ToolAnnotations

Type: object

Additional properties describing a Tool to clients.

NOTE: all properties in ToolAnnotations are hints.
They are not guaranteed to provide a faithful description of
tool behavior (including descriptive properties like `title`).

Clients should never make tool use decisions based on ToolAnnotations
received from untrusted servers.

##

#### Title

Default: null

## Any of

Type: string
Type: null

##

#### Readonlyhint

Default: null

## Any of

Type: boolean
Type: null

##

#### Destructivehint

Default: null

## Any of

Type: boolean
Type: null

##

#### Idempotenthint

Default: null

## Any of

Type: boolean
Type: null

##

#### Openworldhint

Default: null

## Any of

Type: boolean
Type: null

##

Additional Properties of any type are allowed.

Type: object
Type: null

##

#### Meta

Default: null

## Any of

Type: object

##

Additional Properties of any type are allowed.

Type: object
Type: null

##

Additional Properties of any type are allowed.

Type: object
Type: null

##

Default: null

Associates model output to a specific function call.

## Any of

#### ToolConfig

Type: object

Tool config.

This config is shared for all tools provided in the request.

No Additional Properties

##

Default: null

Optional. Function calling config.

## Any of

#### FunctionCallingConfig

Type: object

Function calling config.

No Additional Properties

##

Default: null

Optional. Function calling mode.

## Any of

#### FunctionCallingConfigMode

Type: enum (of string)

Config for the function calling config mode.

#### Must be one of:

- "MODE_UNSPECIFIED"
- "AUTO"
- "ANY"
- "NONE"

Type: null

##

#### Allowedfunctionnames

Default: null

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.

## Any of

Type: array of string
No Additional Items

#### Each item of this array must be:

Type: string
Type: null
Type: null

##

Default: null

Optional. Retrieval config.

## Any of

#### RetrievalConfig

Type: object

Retrieval config.

No Additional Properties

##

Default: null

Optional. The location of the user.

## Any of

#### LatLng

Type: object

An object that represents a latitude/longitude pair.

This is expressed as a pair of doubles to represent degrees latitude and
degrees longitude. Unless specified otherwise, this object must conform to the
<a href="https://en.wikipedia.org/wiki/World_Geodetic_System#1984_version">
WGS84 standard</a>. Values must be within normalized ranges.

No Additional Properties

##

#### Latitude

Default: null

The latitude in degrees. It must be in the range [-90.0, +90.0].

## Any of

Type: number
Type: null

##

#### Longitude

Default: null

The longitude in degrees. It must be in the range [-180.0, +180.0]

## Any of

Type: number
Type: null
Type: null

##

#### Languagecode

Default: null

The language code of the user.

## Any of

Type: string
Type: null
Type: null
Type: null

##

#### Labels

Default: null

Labels with user-defined metadata to break down billed charges.

## Any of

Type: object

##

Each additional property must conform to the following schema

Type: string
Type: null

##

#### Cachedcontent

Default: null

Resource name of a context cache that can be used in subsequent
requests.

## Any of

Type: string
Type: null

##

#### Responsemodalities

Default: null

The requested modalities of the response. Represents the set of
modalities that the model can return.

## Any of

Type: array of string
No Additional Items

#### Each item of this array must be:

Type: string
Type: null

##

Default: null

If specified, the media resolution specified will be used.

## Any of

#### MediaResolution

Type: enum (of string)

The media resolution to use.

#### Must be one of:

- "MEDIA_RESOLUTION_UNSPECIFIED"
- "MEDIA_RESOLUTION_LOW"
- "MEDIA_RESOLUTION_MEDIUM"
- "MEDIA_RESOLUTION_HIGH"

Type: null

##

#### Speechconfig

Default: null

The speech generation configuration.

## Any of

#### SpeechConfig

Type: object

The speech generation configuration.

No Additional Properties

##

Default: null

The configuration for the speaker to use.

## Any of

#### VoiceConfig

Type: object

The configuration for the voice to use.

No Additional Properties

##

Default: null

The configuration for the speaker to use.

## Any of

#### PrebuiltVoiceConfig

Type: object

The configuration for the prebuilt speaker to use.

No Additional Properties

##

#### Voicename

Default: null

The name of the prebuilt voice to use.

## Any of

Type: string
Type: null
Type: null
Type: null

##

Default: null

The configuration for the multi-speaker setup.
It is mutually exclusive with the voice_config field.

## Any of

#### MultiSpeakerVoiceConfig

Type: object

The configuration for the multi-speaker setup.

No Additional Properties

##

#### Speakervoiceconfigs

Default: null

The configuration for the speaker to use.

## Any of

Type: array
No Additional Items

#### Each item of this array must be:

#### SpeakerVoiceConfig

Type: object

The configuration for the speaker to use.

No Additional Properties

##

#### Speaker

Default: null

The name of the speaker to use. Should be the same as in the
prompt.

## Any of

Type: string
Type: null

##

Default: null

The configuration for the voice to use.

## Any of

#### VoiceConfig

Type: object

The configuration for the voice to use.

Same definition as VoiceConfig
Type: null
Type: null
Type: null

##

#### Languagecode

Default: null

Language code (ISO 639. e.g. en-US) for the speech synthesization.
Only available for Live API.

## Any of

Type: string
Type: null
Type: string
Type: null

##

#### Audiotimestamp

Default: null

If enabled, audio timestamp will be included in the request to the
model.

## Any of

Type: boolean
Type: null

##

Default: null

The configuration for automatic function calling.

## Any of

#### AutomaticFunctionCallingConfig

Type: object

The configuration for automatic function calling.

No Additional Properties

##

#### Disable

Default: null

Whether to disable automatic function calling.
If not set or set to False, will enable automatic function calling.
If set to True, will disable automatic function calling.

## Any of

Type: boolean
Type: null

##

#### Maximumremotecalls

Default: 10

If automatic function calling is enabled,
maximum number of remote calls for automatic function calling.
This number should be a positive integer.
If not set, SDK will set maximum number of remote calls to 10.

## Any of

Type: integer
Type: null

##

#### Ignorecallhistory

Default: null

If automatic function calling is enabled,
whether to ignore call history to the response.
If not set, SDK will set ignorecallhistory to false,
and will append the call history to
GenerateContentResponse.automaticfunctioncalling_history.

## Any of

Type: boolean
Type: null
Type: null

##

Default: null

The thinking features configuration.

## Any of

#### ThinkingConfig

Type: object

The thinking features configuration.

No Additional Properties

##

#### Includethoughts

Default: null

Indicates whether to include thoughts in the response. If true, thoughts are returned only if the model supports thought and thoughts are available.

## Any of

Type: boolean
Type: null

##

#### Thinkingbudget

Default: null

Indicates the thinking budget in tokens. 0 is DISABLED. -1 is AUTOMATIC. The default values and allowed ranges are model dependent.

## Any of

Type: integer
Type: null
Type: null
Type: null

#### LoopAgentConfig

Type: object

The config for the YAML schema of a LoopAgent.

No Additional Properties

##

#### Agent Class

Type: const Default: "LoopAgent"

The value is used to uniquely identify the LoopAgent class.

Specific value: `"LoopAgent"`

##

#### Name

Type: string

Required. The name of the agent.

##

#### Description

Type: string Default: ""

Optional. The description of the agent.

##

#### Sub Agents

Default: null

Optional. The sub-agents of the agent.

## Any of

Type: array
No Additional Items

#### Each item of this array must be:

#### AgentRefConfig

Type: object

The config for the reference to another agent.

Same definition as AgentRefConfig
Type: null

##

#### Before Agent Callbacks

Default: null

Optional. The beforeagentcallbacks of the agent.

Example:

    before_agent_callbacks:
      - name: my_library.security_callbacks.before_agent_callback

## Any of

Type: array
No Additional Items

#### Each item of this array must be:

#### CodeConfig

Type: object

Code reference config for a variable, a function, or a class.

This config is used for configuring callbacks and tools.

Same definition as CodeConfig
Type: null

##

#### After Agent Callbacks

Default: null

Optional. The afteragentcallbacks of the agent.

## Any of

Type: array
No Additional Items

#### Each item of this array must be:

#### CodeConfig

Type: object

Code reference config for a variable, a function, or a class.

This config is used for configuring callbacks and tools.

Same definition as CodeConfig
Type: null

##

#### Max Iterations

Default: null

Optional. LoopAgent.max_iterations.

## Any of

Type: integer
Type: null

#### ParallelAgentConfig

Type: object

The config for the YAML schema of a ParallelAgent.

No Additional Properties

##

#### Agent Class

Type: const Default: "ParallelAgent"

The value is used to uniquely identify the ParallelAgent class.

Specific value: `"ParallelAgent"`

##

#### Name

Type: string

Required. The name of the agent.

##

#### Description

Type: string Default: ""

Optional. The description of the agent.

##

#### Sub Agents

Default: null

Optional. The sub-agents of the agent.

## Any of

Type: array
No Additional Items

#### Each item of this array must be:

#### AgentRefConfig

Type: object

The config for the reference to another agent.

Same definition as AgentRefConfig
Type: null

##

#### Before Agent Callbacks

Default: null

Optional. The beforeagentcallbacks of the agent.

Example:

    before_agent_callbacks:
      - name: my_library.security_callbacks.before_agent_callback

## Any of

Type: array
No Additional Items

#### Each item of this array must be:

#### CodeConfig

Type: object

Code reference config for a variable, a function, or a class.

This config is used for configuring callbacks and tools.

Same definition as CodeConfig
Type: null

##

#### After Agent Callbacks

Default: null

Optional. The afteragentcallbacks of the agent.

## Any of

Type: array
No Additional Items

#### Each item of this array must be:

#### CodeConfig

Type: object

Code reference config for a variable, a function, or a class.

This config is used for configuring callbacks and tools.

Same definition as CodeConfig
Type: null

#### SequentialAgentConfig

Type: object

The config for the YAML schema of a SequentialAgent.

No Additional Properties

##

#### Agent Class

Type: const Default: "SequentialAgent"

The value is used to uniquely identify the SequentialAgent class.

Specific value: `"SequentialAgent"`

##

#### Name

Type: string

Required. The name of the agent.

##

#### Description

Type: string Default: ""

Optional. The description of the agent.

##

#### Sub Agents

Default: null

Optional. The sub-agents of the agent.

## Any of

Type: array
No Additional Items

#### Each item of this array must be:

#### AgentRefConfig

Type: object

The config for the reference to another agent.

Same definition as AgentRefConfig
Type: null

##

#### Before Agent Callbacks

Default: null

Optional. The beforeagentcallbacks of the agent.

Example:

    before_agent_callbacks:
      - name: my_library.security_callbacks.before_agent_callback

## Any of

Type: array
No Additional Items

#### Each item of this array must be:

#### CodeConfig

Type: object

Code reference config for a variable, a function, or a class.

This config is used for configuring callbacks and tools.

Same definition as CodeConfig
Type: null

##

#### After Agent Callbacks

Default: null

Optional. The afteragentcallbacks of the agent.

## Any of

Type: array
No Additional Items

#### Each item of this array must be:

#### CodeConfig

Type: object

Code reference config for a variable, a function, or a class.

This config is used for configuring callbacks and tools.

Same definition as CodeConfig
Type: null

#### BaseAgentConfig

Type: object

The config for the YAML schema of a BaseAgent.

Do not use this class directly. It's the base class for all agent configs.

##

#### Agent Class

Default: "BaseAgent"

Required. The class of the agent. The value is used to differentiate among different agent classes.

## Any of

Type: const
Specific value: `"BaseAgent"`
Type: string

##

#### Name

Type: string

Required. The name of the agent.

##

#### Description

Type: string Default: ""

Optional. The description of the agent.

##

#### Sub Agents

Default: null

Optional. The sub-agents of the agent.

## Any of

Type: array
No Additional Items

#### Each item of this array must be:

#### AgentRefConfig

Type: object

The config for the reference to another agent.

Same definition as AgentRefConfig
Type: null

##

#### Before Agent Callbacks

Default: null

Optional. The beforeagentcallbacks of the agent.

Example:

    before_agent_callbacks:
      - name: my_library.security_callbacks.before_agent_callback

## Any of

Type: array
No Additional Items

#### Each item of this array must be:

#### CodeConfig

Type: object

Code reference config for a variable, a function, or a class.

This config is used for configuring callbacks and tools.

Same definition as CodeConfig
Type: null

##

#### After Agent Callbacks

Default: null

Optional. The afteragentcallbacks of the agent.

## Any of

Type: array
No Additional Items

#### Each item of this array must be:

#### CodeConfig

Type: object

Code reference config for a variable, a function, or a class.

This config is used for configuring callbacks and tools.

Same definition as CodeConfig
Type: null

##

Additional Properties of any type are allowed.

Type: object