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

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)
  },
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "encryptionSpec": {
    object (EncryptionSpec)
  },
  "labels": {
    string: string,
    ...
  }
}

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. 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
Defines the source for the deployment. The 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 (PackageSpec)
  },
  "deploymentSpec": {
    object (DeploymentSpec)
  },
  "classMethods": [
    {
      object
    }
  ],
  "agentFramework": string,

  // deployment_source
  "sourceCodeSpec": {
    object (SourceCodeSpec)
  }
  // Union type
  "serviceAccount": string
}

SourceCodeSpec

Specification for deploying from source code.

Fields
source Union type
Specifies where the source code is located. source can be only one of the following:
inlineSource object (InlineSource)

Source code is provided directly in the request.

language_spec Union type
Specifies the language-specific configuration for building and running the code. language_spec can be only one of the following:
pythonSpec object (PythonSpec)

Configuration for a Python application.

JSON representation
{

  // source
  "inlineSource": {
    object (InlineSource)
  }
  // Union type

  // language_spec
  "pythonSpec": {
    object (PythonSpec)
  }
  // Union type
}

InlineSource

Specifies source code provided as a byte stream.

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

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

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
}

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
}

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.