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.
Optional. Traffic distribution configuration for the Reasoning Engine.
| JSON representation |
|---|
{ "name": string, "displayName": string, "description": string, "spec": { object ( |
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.
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.
disableMemoryRevisionsboolean
If true, no memory revisions will be created for any requests to the Memory Bank.
Optional. Configuration for organizing structured memories for a particular scope.
| JSON representation |
|---|
{ "generationConfig": { object ( |
GenerationConfig
Configuration for how to generate memories.
modelstring
Optional. The model used to generate memories. Format: projects/{project}/locations/{location}/publishers/google/models/{model}.
Optional. Specifies the default trigger configuration for generating memories using IngestEvents.
| JSON representation |
|---|
{
"model": string,
"generationTriggerConfig": {
object ( |
MemoryGenerationTriggerConfig
Represents configuration for triggering generation.
Optional. Represents the active rule that determines when to flush the buffer. If not set, then the stream will be force flushed immediately.
| JSON representation |
|---|
{
"generationRule": {
object ( |
GenerationTriggerRule
Represents the active rule that determines when to flush the buffer.
eventCountinteger
Optional. Specifies to trigger generation when the event count reaches this limit.
time_based_conditionUnion type
time_based_condition can be only one of the following:Optional. Specifies to trigger generation if the stream is inactive for the specified duration after the most recent event. The duration must have a minute-level granularity.
A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
Optional. Specifies to trigger generation at a fixed interval. The duration must have a minute-level granularity.
A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
| JSON representation |
|---|
{ "eventCount": integer, // time_based_condition "idleDuration": string, "fixedInterval": string // Union type } |
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 } |
TtlConfig
Configuration for automatically setting the TTL ("time-to-live") of the memories in the Memory Bank.
ttlUnion type
ttl can be only one of the following: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".
Optional. The granular TTL configuration of the memories in the Memory Bank.
memory_revision_ttlUnion type
memory_revision_ttl can be only one of the following:Optional. The default TTL duration of the memory revisions in the Memory Bank. This applies to all operations that create a memory revision. If not set, a default TTL of 365 days will be used.
A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
| 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.
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".
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".
Optional. The TTL duration for memories updated via GenerateMemories (GenerateMemoriesResponse.GeneratedMemory.Action.UPDATED). 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 } |
StructuredMemoryConfig
Represents configuration for organizing structured memories for a particular scope.
scopeKeys[]string
Optional. Represents the scope keys (i.e. 'userId') for which to use this config. A request's scope must include all of the provided keys for the config to be used (order does not matter). If empty, then the config will be used for all requests that do not have a more specific config. Only one default config is allowed per Memory Bank.
Optional. Represents configuration of the structured memories' schemas.
| JSON representation |
|---|
{
"scopeKeys": [
string
],
"schemaConfigs": [
{
object ( |
SchemaConfig
Schema configuration for structured memories.
idstring
Required. Represents the id of the schema. Must be 1-63 characters, start with a lowercase letter, and consist of lowercase letters, numbers, and hyphens.
Required. Represents the OpenAPI schema of the structured memories. The schema type cannot be ARRAY when memoryType is STRUCTURED_PROFILE.
Optional. Represents the type of the structured memories associated with the schema. If not set, then STRUCTURED_PROFILE will be used.
| JSON representation |
|---|
{ "id": string, "schema": { object ( |
TrafficConfig
Traffic distribution configuration.
traffic_splitUnion type
traffic_split can be only one of the following:Optional. Manual traffic distribution configuration, where the user specifies the Runtime Revision IDs and the percentage of traffic to send to each.
Optional. Traffic distribution configuration, where all traffic is sent to the latest Runtime Revision.
| JSON representation |
|---|
{ // traffic_split "trafficSplitManual": { object ( |
TrafficSplitManual
Manual traffic distribution configuration, where the user specifies the Runtime Revision IDs and the percentage of traffic to send to each.
A list of traffic targets for the Runtimes Revisions. The sum of percentages must equal to 100.
| JSON representation |
|---|
{
"targets": [
{
object ( |
Target
A single target for the traffic split, specifying a Runtime Revision and the percentage of traffic to send to it.
runtimeRevisionNamestring
Required. The Runtime Revision name to which to send this portion of traffic, if traffic allocation is by Runtime Revision.
percentinteger
Required. Specifies percent of the traffic to this Runtime Revision.
| JSON representation |
|---|
{ "runtimeRevisionName": string, "percent": integer } |
TrafficSplitAlwaysLatest
This type has no fields.
Traffic distribution configuration, where all traffic is sent to the latest Runtime Revision.
Methods |
|
|---|---|
|
Creates a reasoning engine. |
|
Deletes a reasoning engine. |
|
Executes code statelessly. |
|
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. |