Resource: ReasoningEngine
ReasoningEngine provides a customizable runtime for models to determine which actions to take and in which order.
name 
 
  string 
 
Identifier. The resource name of the ReasoningEngine. Format: projects/{project}/locations/{location}/reasoningEngines/{reasoningEngine} 
displayName 
 
  string 
 
Required. The display name of the ReasoningEngine.
description 
 
  string 
 
Optional. The description of the ReasoningEngine.
spec 
 
  object (  ReasoningEngineSpec 
 
) 
 
Optional. Configurations of the ReasoningEngine
createTime 
 
  string (  Timestamp 
 
format) 
 
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" 
.
updateTime 
 
  string (  Timestamp 
 
format) 
 
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" 
.
etag 
 
  string 
 
Optional. Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens.
contextSpec 
 
  object (  ReasoningEngineContextSpec 
 
) 
 
Optional. Configuration for how Agent Engine sub-resources should manage context.
encryptionSpec 
 
  object (  EncryptionSpec 
 
) 
 
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.
labels 
 
  map (key: string, value: string) 
 
Labels for the ReasoningEngine.
| JSON representation | 
|---|
| { "name" : string , "displayName" : string , "description" : string , "spec" : { object ( | 
ReasoningEngineSpec
ReasoningEngine configurations
packageSpec 
 
  object (  PackageSpec 
 
) 
 
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.
deploymentSpec 
 
  object (  DeploymentSpec 
 
) 
 
Optional. The specification of a Reasoning Engine deployment.
classMethods[] 
 
  object (  Struct 
 
format) 
 
Optional. Declarations for object class methods in OpenAPI specification format.
agentFramework 
 
  string 
 
Optional. The OSS agent framework used to develop the agent. Currently supported values: "google-adk", "langchain", "langgraph", "ag2", "llama-index", "custom".
deployment_source 
 
  Union type 
 
 package_spec 
field should not be set if deployment_source 
is specified. deployment_source 
can be only one of the following:sourceCodeSpec 
 
  object (  SourceCodeSpec 
 
) 
 
Deploy from source code files with a defined entrypoint.
serviceAccount 
 
  string 
 
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.
source 
 
  Union type 
 
 source 
can be only one of the following:inlineSource 
 
  object (  InlineSource 
 
) 
 
Source code is provided directly in the request.
language_spec 
 
  Union type 
 
 language_spec 
can be only one of the following:pythonSpec 
 
  object (  PythonSpec 
 
) 
 
Configuration for a Python application.
| JSON representation | 
|---|
| { // source "inlineSource" : { object ( | 
InlineSource
Specifies source code provided as a byte stream.
sourceArchive 
 
  string ( bytes 
format) 
 
Required. Input only. The application source code archive, provided as a compressed tarball (.tar.gz) file.
A base64-encoded string.
| JSON representation | 
|---|
| { "sourceArchive" : string } | 
PythonSpec
Specification for running a Python application from source.
version 
 
  string 
 
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.
entrypointModule 
 
  string 
 
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.
entrypointObject 
 
  string 
 
Optional. The name of the callable object within the entrypointModule 
to use as the application If not specified, defaults to "root_agent".
requirementsFile 
 
  string 
 
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.
pickleObjectGcsUri 
 
  string 
 
Optional. The Cloud Storage URI of the pickled python object.
dependencyFilesGcsUri 
 
  string 
 
Optional. The Cloud Storage URI of the dependency files in tar.gz format.
requirementsGcsUri 
 
  string 
 
Optional. The Cloud Storage URI of the requirements.txt 
file
pythonVersion 
 
  string 
 
Optional. The Python version. Currently support 3.8, 3.9, 3.10, 3.11. If not specified, default value is 3.10.
| JSON representation | 
|---|
| { "pickleObjectGcsUri" : string , "dependencyFilesGcsUri" : string , "requirementsGcsUri" : string , "pythonVersion" : string } | 
DeploymentSpec
The specification of a Reasoning Engine deployment.
env[] 
 
  object (  EnvVar 
 
) 
 
Optional. Environment variables to be set with the Reasoning Engine deployment. The environment variables can be updated through the reasoningEngines.patch API.
secretEnv[] 
 
  object (  SecretEnvVar 
 
) 
 
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.
pscInterfaceConfig 
 
  object (  PscInterfaceConfig 
 
) 
 
Optional. Configuration for PSC-I.
resourceLimits 
 
  map (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
minInstances 
 
  integer 
 
Optional. The minimum number of application instances that will be kept running at all times. Defaults to 1. Range: [0, 10].
maxInstances 
 
  integer 
 
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].
containerConcurrency 
 
  integer 
 
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.
name 
 
  string 
 
Required. name of the secret environment variable.
secretRef 
 
  object (  SecretRef 
 
) 
 
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.
secret 
 
  string 
 
Required. The name of the secret in Cloud Secret Manager. Format: {secret_name}.
version 
 
  string 
 
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 } | 
ReasoningEngineContextSpec
Configuration for how Agent Engine sub-resources should manage context.
memoryBankConfig 
 
  object (  MemoryBankConfig 
 
) 
 
Optional. Specification for a Memory Bank, which manages memories for the Agent Engine.
| JSON representation | 
|---|
|  { 
 "memoryBankConfig" 
 : 
 { 
 object (  | 
MemoryBankConfig
Specification for a Memory Bank.
generationConfig 
 
  object (  GenerationConfig 
 
) 
 
Optional. Configuration for how to generate memories for the Memory Bank.
similaritySearchConfig 
 
  object (  SimilaritySearchConfig 
 
) 
 
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 
.
disableMemoryRevisions 
 
  boolean 
 
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.
model 
 
  string 
 
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.
| 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. | 

