REST Resource: projects.locations.reasoningEngines

Resource: ReasoningEngine

ReasoningEngine provides a customizable runtime for models to determine which actions to take and in which order.

Fields
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 uses 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 uses 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.

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.

JSON representation
{
  "name": string,
  "displayName": string,
  "description": string,
  "spec": {
    object (ReasoningEngineSpec)
  },
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "encryptionSpec": {
    object (EncryptionSpec)
  }
}

ReasoningEngineSpec

ReasoningEngine configurations

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

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

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 (PackageSpec)
  },
  "deploymentSpec": {
    object (DeploymentSpec)
  },
  "classMethods": [
    {
      object
    }
  ],
  "agentFramework": string,
  "serviceAccount": string
}

PackageSpec

user provided package spec like pickled object and package requirements.

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

Fields
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"}.

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 (EnvVar)
    }
  ],
  "secretEnv": [
    {
      object (SecretEnvVar)
    }
  ],
  "pscInterfaceConfig": {
    object (PscInterfaceConfig)
  },
  "resourceLimits": {
    string: string,
    ...
  },
  "minInstances": integer,
  "maxInstances": integer,
  "containerConcurrency": integer
}

EnvVar

Represents an environment variable present in a Container or Python Module.

Fields
name string

Required. name of the environment variable. Must be a valid C identifier.

value string

Required. Variables that reference a $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not.

JSON representation
{
  "name": string,
  "value": string
}

SecretEnvVar

Represents an environment variable where the value is a secret in Cloud Secret Manager.

Fields
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)
  }
}

SecretRef

Reference to a secret stored in the Cloud Secret Manager that will provide the value for this environment variable.

Fields
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
}

PscInterfaceConfig

Configuration for PSC-I.

Fields
networkAttachment string

Optional. The name of the Compute Engine network attachment to attach to the resource within the region and user project. To specify this field, you must have already created a network attachment. This field is only used for resources using PSC-I.

dnsPeeringConfigs[] object (DnsPeeringConfig)

Optional. DNS peering configurations. When specified, Vertex AI will attempt to configure DNS peering zones in the tenant project VPC to resolve the specified domains using the target network's Cloud DNS. The user must grant the dns.peer role to the Vertex AI service Agent on the target project.

JSON representation
{
  "networkAttachment": string,
  "dnsPeeringConfigs": [
    {
      object (DnsPeeringConfig)
    }
  ]
}

DnsPeeringConfig

DNS peering configuration. These configurations are used to create DNS peering zones in the Vertex tenant project VPC, enabling resolution of records within the specified domain hosted in the target network's Cloud DNS.

Fields
domain string

Required. The DNS name suffix of the zone being peered to, e.g., "my-internal-domain.corp.". Must end with a dot.

targetProject string

Required. The project id hosting the Cloud DNS managed zone that contains the 'domain'. The Vertex AI service Agent requires the dns.peer role on this project.

targetNetwork string

Required. The VPC network name in the targetProject where the DNS zone specified by 'domain' is visible.

JSON representation
{
  "domain": string,
  "targetProject": string,
  "targetNetwork": string
}

Methods

create

Creates a reasoning engine.

delete

Deletes a reasoning engine.

get

Gets a reasoning engine.

list

Lists reasoning engines in a location.

patch

Updates a reasoning engine.

query

Queries using a reasoning engine.

streamQuery

Streams queries using a reasoning engine.