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 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.
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.
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.
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
user provided package spec like 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 ( |
EnvVar
Represents an environment variable present in a Container or Python Module.
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.
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 } |
PscInterfaceConfig
Configuration for PSC-I.
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
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.
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 } |
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
.
ttlConfig
object (TtlConfig
)
Optional. Configuration for automatic TTL ("time-to-live") of the memories in the Memory Bank. If not set, TTL will not be applied automatically. The TTL can be explicitly set by modifying the expireTime
of each Memory resource.
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.
embeddingModel
string
Required. The model used to generate embeddings to lookup similar memories. Format: projects/{project}/locations/{location}/publishers/google/models/{model}
.
JSON representation |
---|
{ "embeddingModel": string } |
TtlConfig
Configuration for automatically setting the TTL ("time-to-live") of the memories in the Memory Bank.
ttl
Union type
ttl
can be only one of the following:defaultTtl
string (Duration
format)
Optional. The default TTL duration of the memories in the Memory Bank. This applies to all operations that create or update a memory.
A duration in seconds with up to nine fractional digits, ending with 's
'. Example: "3.5s"
.
granularTtlConfig
object (GranularTtlConfig
)
Optional. The granular TTL configuration of the memories in the Memory Bank.
JSON representation |
---|
{
// ttl
"defaultTtl": string,
"granularTtlConfig": {
object ( |
GranularTtlConfig
Configuration for TTL of the memories in the Memory Bank based on the action that created or updated the memory.
createTtl
string (Duration
format)
Optional. The TTL duration for memories uploaded via CreateMemory.
A duration in seconds with up to nine fractional digits, ending with 's
'. Example: "3.5s"
.
generateCreatedTtl
string (Duration
format)
Optional. The TTL duration for memories newly generated via GenerateMemories (GenerateMemoriesResponse.GeneratedMemory.Action.CREATED
).
A duration in seconds with up to nine fractional digits, ending with 's
'. Example: "3.5s"
.
generateUpdatedTtl
string (Duration
format)
Optional. The TTL duration for memories updated via GenerateMemories (GenerateMemoriesResponse.GeneratedMemory.Action.CREATED
). In the case of an UPDATE action, the expireTime
of the existing memory will be updated to the new value (now + TTL).
A duration in seconds with up to nine fractional digits, ending with 's
'. Example: "3.5s"
.
JSON representation |
---|
{ "createTtl": string, "generateCreatedTtl": string, "generateUpdatedTtl": 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. |