Resource: ReasoningEngine
ReasoningEngine provides a customizable runtime for models to determine which actions to take and in which order.
namestring
Identifier. The resource name of the ReasoningEngine. Format: projects/{project}/locations/{location}/reasoningEngines/{reasoningEngine}
displayNamestring
Required. The display name of the ReasoningEngine.
descriptionstring
Optional. The description of the ReasoningEngine.
Optional. Configurations of the ReasoningEngine
Output only. timestamp when this ReasoningEngine was created.
Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".
Output only. timestamp when this ReasoningEngine was most recently updated.
Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".
etagstring
Optional. Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens.
Optional. Configuration for how Agent Engine sub-resources should manage context.
Customer-managed encryption key spec for a ReasoningEngine. If set, this ReasoningEngine and all sub-resources of this ReasoningEngine will be secured by this key.
labelsmap (key: string, value: string)
Labels for the ReasoningEngine.
| JSON representation |
|---|
{ "name": string, "displayName": string, "description": string, "spec": { object ( |
ReasoningEngineSpec
ReasoningEngine configurations
Optional. user provided package spec of the ReasoningEngine. Ignored when users directly specify a deployment image through deploymentSpec.first_party_image_override, but keeping the field_behavior to avoid introducing breaking changes. The deployment_source field should not be set if packageSpec is specified.
Optional. The specification of a Reasoning Engine deployment.
Optional. Declarations for object class methods in OpenAPI specification format.
agentFrameworkstring
Optional. The OSS agent framework used to develop the agent. Currently supported values: "google-adk", "langchain", "langgraph", "ag2", "llama-index", "custom".
Optional. The identity type to use for the Reasoning Engine. If not specified, the serviceAccount field will be used if set, otherwise the default Vertex AI Reasoning Engine service Agent in the project will be used.
deployment_sourceUnion type
package_spec field should not be set if deployment_source is specified. deployment_source can be only one of the following:Deploy from source code files with a defined entrypoint.
serviceAccountstring
Optional. The service account that the Reasoning Engine artifact runs as. It should have "roles/storage.objectViewer" for reading the user project's Cloud Storage and "roles/aiplatform.user" for using Vertex extensions. If not specified, the Vertex AI Reasoning Engine service Agent in the project will be used.
| JSON representation |
|---|
{ "packageSpec": { object ( |
SourceCodeSpec
Specification for deploying from source code.
sourceUnion type
source can be only one of the following:Source code is provided directly in the request.
Source code is in a Git repository managed by Developer Connect.
language_specUnion type
language_spec can be only one of the following:Configuration for a Python application.
| JSON representation |
|---|
{ // source "inlineSource": { object ( |
InlineSource
Specifies source code provided as a byte stream.
Required. Input only. The application source code archive. It must be a compressed tarball (.tar.gz) file.
A base64-encoded string.
| JSON representation |
|---|
{ "sourceArchive": string } |
DeveloperConnectSource
Specifies source code to be fetched from a Git repository managed through the Developer Connect service.
Required. The Developer Connect configuration that defines the specific repository, revision, and directory to use as the source code root.
| JSON representation |
|---|
{
"config": {
object ( |
DeveloperConnectConfig
Specifies the configuration for fetching source code from a Git repository that is managed by Developer Connect. This includes the repository, revision, and directory to use.
gitRepositoryLinkstring
Required. The Developer Connect Git repository link, formatted as projects/*/locations/*/connections/*/gitRepositoryLink/*.
dirstring
Required. Directory, relative to the source root, in which to run the build.
revisionstring
Required. The revision to fetch from the Git repository such as a branch, a tag, a commit SHA, or any Git ref.
| JSON representation |
|---|
{ "gitRepositoryLink": string, "dir": string, "revision": string } |
PythonSpec
Specification for running a Python application from source.
versionstring
Optional. The version of Python to use. Support version includes 3.9, 3.10, 3.11, 3.12, 3.13. If not specified, default value is 3.10.
entrypointModulestring
Optional. The Python module to load as the entrypoint, specified as a fully qualified module name. For example: path.to.agent. If not specified, defaults to "agent".
The project root will be added to Python sys.path, allowing imports to be specified relative to the root.
entrypointObjectstring
Optional. The name of the callable object within the entrypointModule to use as the application If not specified, defaults to "root_agent".
requirementsFilestring
Optional. The path to the requirements file, relative to the source root. If not specified, defaults to "requirements.txt".
| JSON representation |
|---|
{ "version": string, "entrypointModule": string, "entrypointObject": string, "requirementsFile": string } |
PackageSpec
user-provided package specification, containing pickled object and package requirements.
pickleObjectGcsUristring
Optional. The Cloud Storage URI of the pickled python object.
dependencyFilesGcsUristring
Optional. The Cloud Storage URI of the dependency files in tar.gz format.
requirementsGcsUristring
Optional. The Cloud Storage URI of the requirements.txt file
pythonVersionstring
Optional. The Python version. Supported values are 3.9, 3.10, 3.11, 3.12, 3.13. If not specified, the default value is 3.10.
| JSON representation |
|---|
{ "pickleObjectGcsUri": string, "dependencyFilesGcsUri": string, "requirementsGcsUri": string, "pythonVersion": string } |
DeploymentSpec
The specification of a Reasoning Engine deployment.
Optional. Environment variables to be set with the Reasoning Engine deployment. The environment variables can be updated through the reasoningEngines.patch API.
Optional. Environment variables where the value is a secret in Cloud Secret Manager. To use this feature, add 'Secret Manager Secret Accessor' role (roles/secretmanager.secretAccessor) to AI Platform Reasoning Engine service Agent.
Optional. Configuration for PSC-I.
resourceLimitsmap (key: string, value: string)
Optional. Resource limits for each container. Only 'cpu' and 'memory' keys are supported. Defaults to {"cpu": "4", "memory": "4Gi"}.
- The only supported values for CPU are '1', '2', '4', '6' and '8'. For more information, go to https://cloud.google.com/run/docs/configuring/cpu.
- The only supported values for memory are '1Gi', '2Gi', ... '32 Gi'.
- For required cpu on different memory values, go to https://cloud.google.com/run/docs/configuring/memory-limits
minInstancesinteger
Optional. The minimum number of application instances that will be kept running at all times. Defaults to 1. Range: [0, 10].
maxInstancesinteger
Optional. The maximum number of application instances that can be launched to handle increased traffic. Defaults to 100. Range: [1, 1000].
If VPC-SC or PSC-I is enabled, the acceptable range is [1, 100].
containerConcurrencyinteger
Optional. Concurrency for each container and agent server. Recommended value: 2 * cpu + 1. Defaults to 9.
| JSON representation |
|---|
{ "env": [ { object ( |
SecretEnvVar
Represents an environment variable where the value is a secret in Cloud Secret Manager.
namestring
Required. name of the secret environment variable.
Required. Reference to a secret stored in the Cloud Secret Manager that will provide the value for this environment variable.
| JSON representation |
|---|
{
"name": string,
"secretRef": {
object ( |
SecretRef
Reference to a secret stored in the Cloud Secret Manager that will provide the value for this environment variable.
secretstring
Required. The name of the secret in Cloud Secret Manager. Format: {secret_name}.
versionstring
The Cloud Secret Manager secret version. Can be 'latest' for the latest version, an integer for a specific version, or a version alias.
| JSON representation |
|---|
{ "secret": string, "version": string } |
IdentityType
The identity type to use for the Reasoning Engine.
| Enums | |
|---|---|
IDENTITY_TYPE_UNSPECIFIED |
Default value. Use a custom service account if the serviceAccount field is set, otherwise use the default Vertex AI Reasoning Engine service Agent in the project. Same behavior as SERVICE_ACCOUNT. |
SERVICE_ACCOUNT |
Use a custom service account if the serviceAccount field is set, otherwise use the default Vertex AI Reasoning Engine service Agent in the project. |
AGENT_IDENTITY |
Use Agent Identity. The serviceAccount field must not be set. |
ReasoningEngineContextSpec
Configuration for how Agent Engine sub-resources should manage context.
Optional. Specification for a Memory Bank, which manages memories for the Agent Engine.
| JSON representation |
|---|
{
"memoryBankConfig": {
object ( |
MemoryBankConfig
Specification for a Memory Bank.
Optional. Configuration for how to generate memories for the Memory Bank.
Optional. Configuration for how to perform similarity search on memories. If not set, the Memory Bank will use the default embedding model text-embedding-005.
disableMemoryRevisionsboolean
If true, no memory revisions will be created for any requests to the Memory Bank.
| JSON representation |
|---|
{ "generationConfig": { object ( |
GenerationConfig
Configuration for how to generate memories.
modelstring
Required. The model used to generate memories. Format: projects/{project}/locations/{location}/publishers/google/models/{model}.
| JSON representation |
|---|
{ "model": string } |
SimilaritySearchConfig
Configuration for how to perform similarity search on memories.
embeddingModelstring
Required. The model used to generate embeddings to lookup similar memories. Format: projects/{project}/locations/{location}/publishers/google/models/{model}.
| JSON representation |
|---|
{ "embeddingModel": string } |
Methods |
|
|---|---|
|
Creates a reasoning engine. |
|
Deletes a reasoning engine. |
|
Gets a reasoning engine. |
|
Lists reasoning engines in a location. |
|
Updates a reasoning engine. |
|
Queries using a reasoning engine. |
|
Streams queries using a reasoning engine. |