REST Resource: projects.locations.collections.engines.assistants.agents

Recurso: Agente

Realiza una tarea específica predefinida.

Representación JSON
{
  "name": string,
  "displayName": string,
  "description": string,
  "icon": {
    object (Image)
  },
  "createTime": string,
  "updateTime": string,
  "authorizations": [
    string
  ],
  "authorizationConfig": {
    object (AuthorizationConfig)
  },
  "dataStoreSpecs": {
    object (DataStoreSpecs)
  },
  "state": enum (State),
  "toolSettings": {
    object (AgentToolSettings)
  },
  "agentInvocationSpec": {
    object (AgentInvocationSpec)
  },
  "languageCode": string,
  "starterPrompts": [
    {
      object (StarterPrompt)
    }
  ],
  "customPlaceholderText": string,
  "sharingConfig": {
    object (SharingConfig)
  },

  // Union field definition can be only one of the following:
  "adkAgentDefinition": {
    object (AdkAgentDefinition)
  },
  "managedAgentDefinition": {
    object (ManagedAgentDefinition)
  },
  "a2aAgentDefinition": {
    object (A2AAgentDefinition)
  },
  "dialogflowAgentDefinition": {
    object (DialogflowAgentDefinition)
  }
  // End of list of possible types for union field definition.

  // Union field agent_state_reason can be only one of the following:
  "suspensionReason": string,
  "rejectionReason": string,
  "deploymentFailureReason": string
  // End of list of possible types for union field agent_state_reason.
}
Campos
name

string

Es el identificador. Es el nombre del recurso del agente. Formato: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}/agents/{agent}

displayName

string

Obligatorio. Es el nombre visible del agente. Un LLM podría usar esta descripción para seleccionar automáticamente un agente que responda a una consulta del usuario.

description

string

Obligatorio. Es una descripción del agente legible por humanos. Un LLM podría usar esta descripción para seleccionar automáticamente un agente que responda a una consulta del usuario.

icon

object (Image)

Es opcional. Ícono que representa al agente en la IU.

createTime

string (Timestamp format)

Solo salida. Es la marca de tiempo de la creación de este agente.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Solo salida. Es la marca de tiempo de la actualización más reciente de este agente.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

authorizations[]
(deprecated)

string

Es opcional. Obsoleto: Usa Agent.authorization_config en su lugar. Es la lista de autorizaciones requeridas para este agente.

authorizationConfig

object (AuthorizationConfig)

Es opcional. Son las autorizaciones que requiere el agente.

dataStoreSpecs

object (DataStoreSpecs)

Es opcional. Son los DataStoreSpecs asociados con el agente. Si no se configura este campo, se usarán todos los almacenes de datos del motor.

state

enum (State)

Solo salida. Es el estado del ciclo de vida del agente.

toolSettings
(deprecated)

object (AgentToolSettings)

Es opcional. OBSOLETO: En su lugar, usa agentInvocationSpec.

agentInvocationSpec

object (AgentInvocationSpec)

Es opcional. Es la especificación de invocación del agente, que el LLM usa para decidir cuándo usar el agente.

languageCode

string

Es opcional. Es el código del idioma del texto en los campos description, displayName y starterPrompts.

starterPrompts[]

object (StarterPrompt)

Es opcional. Son las sugerencias de instrucciones iniciales que se muestran al usuario en la página de destino del agente.

customPlaceholderText

string

Es opcional. Es el texto de marcador de posición personalizado que aparece en el cuadro de texto antes de que el usuario ingrese texto.

sharingConfig

object (SharingConfig)

Es opcional. Es la configuración de uso compartido del agente.

Campo de unión definition. Es la definición del agente. LINT.IfChange(definition) definition solo puede ser una de las siguientes opciones:
adkAgentDefinition

object (AdkAgentDefinition)

Es opcional. El comportamiento del agente se define como un agente del ADK.

managedAgentDefinition

object (ManagedAgentDefinition)

Es opcional. Es el comportamiento del agente administrado por Google.

a2aAgentDefinition

object (A2AAgentDefinition)

Es opcional. El comportamiento del agente se define como un agente A2A.

dialogflowAgentDefinition

object (DialogflowAgentDefinition)

Es opcional. El comportamiento del agente se define como un agente de Dialogflow.

Campo de unión agent_state_reason. Es el motivo por el que el agente se encuentra en su estado actual. agent_state_reason puede ser solo uno de los parámetros siguientes:
suspensionReason

string

Solo salida. Es el motivo por el que se suspendió al agente. Solo se establece si el estado es SUSPENDED.

rejectionReason

string

Solo salida. Es el motivo por el que se rechazó al agente. Solo se establece si el estado es PRIVATE y se llegó a él por rechazo.

deploymentFailureReason

string

Solo salida. Es el motivo por el que falló la implementación del agente. Solo se establece si el estado es DEPLOYMENT_FAILED.

AdkAgentDefinition

Almacena la definición de un agente que usa el ADK y se implementa en Agent Engine (anteriormente conocido como Reasoning Engine).

Representación JSON
{
  "toolSettings": {
    object (AgentToolSettings)
  },
  "provisionedReasoningEngine": {
    object (ProvisionedReasoningEngine)
  },
  "authorizations": [
    string
  ]
}
Campos
toolSettings
(deprecated)

object (AgentToolSettings)

Es opcional. Son los parámetros que definen cómo se presenta el agente al LLM del planificador. OBSOLETO: Usa Agent.agent_invocation_spec en su lugar.

provisionedReasoningEngine

object (ProvisionedReasoningEngine)

Es opcional. Es el motor de razonamiento al que está conectado el agente.

authorizations[]
(deprecated)

string

Es opcional. OBSOLETO: Usa Agent.authorizations en su lugar. Son los nombres de los recursos de las autorizaciones requeridas. Si el usuario no está autorizado, el servicio devolverá una cantidad de URIs de autorización que el usuario debe abrir en un navegador y autorizar. Una vez que se otorgan todas las autorizaciones, el usuario puede volver a intentar la búsqueda y las autorizaciones se reenviarán al agente.

Formato: projects/{project}/locations/{location}/authorizations/{authorization}

AgentToolSettings

OBSOLETO: Usa AgentInvocationSpec en su lugar. Es la configuración de la herramienta que representa al agente para el LLM del planificador de Agentspace.

Representación JSON
{
  "toolDescription": string,
  "inputParameterName": string,
  "inputParameterDescription": string
}
Campos
toolDescription

string

Obligatorio. Un LLM podría usar esta descripción para indicar cuándo se debe usar el agente.

inputParameterName

string

Es opcional. Nombre del parámetro para la llamada a función. El nombre de este parámetro le dará una pista al LLM sobre el tipo de contenido que se espera que contenga el parámetro, p.ej., una "pregunta", un "comando", una "búsqueda", etcétera.

inputParameterDescription

string

Es opcional. Descripción del parámetro para la llamada a función. Esta descripción le proporcionará al LLM más información sobre el parámetro, p. ej., qué tipo de contenido se espera que se pase y qué acciones se deben realizar en él.

ProvisionedReasoningEngine

Realiza un seguimiento del motor de razonamiento al que está conectado el agente. Este mensaje no tiene como objetivo hacer un seguimiento del ciclo de vida del agente. En cambio, solo se usa para definir parámetros para conectarse al agente que ya se implementó en un motor de inferencia.

Representación JSON
{
  "reasoningEngine": string
}
Campos
reasoningEngine

string

Obligatorio. Es el motor de razonamiento al que está conectado el agente. Formato: projects/{project}/locations/{location}/reasoningEngines/{reasoningEngine}

ManagedAgentDefinition

Almacena la definición de un agente administrado por Google.

Representación JSON
{
  "toolSettings": {
    object (AgentToolSettings)
  },
  "authorizations": [
    string
  ],
  "deploymentInfo": {
    object (DeploymentInfo)
  },

  // Union field agent_config can be only one of the following:
  "dataScienceAgentConfig": {
    object (DataScienceAgentConfig)
  }
  // End of list of possible types for union field agent_config.
}
Campos
toolSettings
(deprecated)

object (AgentToolSettings)

Es opcional. Son los parámetros que definen cómo se presenta el agente al LLM del planificador. OBSOLETO: Usa Agent.agent_invocation_spec en su lugar.

authorizations[]
(deprecated)

string

Es opcional. OBSOLETO: Usa Agent.authorizations en su lugar. Son los nombres de los recursos de las autorizaciones requeridas. Si el usuario no está autorizado, el servicio devolverá una cantidad de URIs de autorización que el usuario debe abrir en un navegador y autorizar. Una vez que se otorgan todas las autorizaciones, el usuario puede volver a intentar la búsqueda y las autorizaciones se reenviarán al agente.

Formato: projects/{project}/locations/{location}/authorizations/{authorization}

deploymentInfo

object (DeploymentInfo)

Solo salida. Es la información de implementación automática del agente.

Campo de unión agent_config. Es la configuración específica del tipo de agente. agent_config puede ser solo uno de los parámetros siguientes:
dataScienceAgentConfig

object (DataScienceAgentConfig)

Es opcional. Es la configuración específica de los agentes de ciencia de datos prediseñados de Google. Esta estructura de datos está diseñada para almacenar la configuración de la implementación y el tiempo de solicitud del agente.

DataScienceAgentConfig

Es la configuración específica de los agentes de ciencia de datos prediseñados de Google. Esta estructura de datos está diseñada para almacenar la configuración de la implementación y el tiempo de solicitud del agente.

Representación JSON
{
  "bqProjectId": string,
  "bqDatasetId": string,
  "blocklistTables": [
    string
  ],
  "allowlistTables": [
    string
  ],
  "nlQueryConfig": {
    object (NlQueryConfig)
  }
}
Campos
bqProjectId

string

Obligatorio. Es el ID del proyecto de BigQuery en el que se encuentra el conjunto de datos.

bqDatasetId

string

Obligatorio. Es el ID del conjunto de datos de BigQuery que se usará para el agente. El conjunto de datos debe estar en el proyecto especificado por bqProjectId.

blocklistTables[]

string

Es opcional. Son las tablas de BigQuery que se bloquearán para que el agente no las use.

allowlistTables[]

string

Es opcional. Tablas de BigQuery que se pueden usar por el agente.

nlQueryConfig

object (NlQueryConfig)

Es opcional. Es la configuración proporcionada por el cliente.

NlQueryConfig

Define la configuración proporcionada por el cliente específica para la traducción de lenguaje natural a código SQL o Python.

Representación JSON
{
  "nl2sqlPrompt": string,
  "nl2pyPrompt": string,
  "nl2sqlExamples": [
    {
      object (Nl2SqlExample)
    }
  ],
  "schemaDescription": string,
  "bqSqlGenUseCustomPrompt": boolean
}
Campos
nl2sqlPrompt

string

Es opcional. El cliente proporcionó instrucciones de NL2SQL

nl2pyPrompt

string

Es opcional. El cliente proporcionó instrucciones para que el LLM escriba código de Python para el análisis de datos.

nl2sqlExamples[]

object (Nl2SqlExample)

Es opcional. Son los ejemplos de NL2SQL que proporcionó el cliente, incluidos los datos de entrada y el código SQL esperado.

schemaDescription

string

Es opcional. Es la descripción en lenguaje natural del esquema del conjunto de datos de BigQuery.

bqSqlGenUseCustomPrompt

boolean

Es opcional. Indica si se debe usar la instrucción personalizada para el servicio de BigQuery SQL Gen.

Nl2SqlExample

Es un solo ejemplo de NL2SQL.

Representación JSON
{
  "query": string,
  "expectedSql": string,
  "expectedResponse": string
}
Campos
query

string

Es opcional. Es la pregunta en lenguaje natural que se responderá.

expectedSql

string

Es opcional. Es el resultado esperado de SQL.

expectedResponse

string

Es opcional. Es la respuesta esperada a la búsqueda.

DeploymentInfo

Es la información de implementación automática del agente.

Representación JSON
{
  "operation": string,
  "finishTime": string
}
Campos
operation

string

Solo salida. Es el recurso de operación de larga duración para la implementación. Se puede usar para sondear el estado de la implementación. Cuando finalice la implementación, este campo estará vacío. Si falla la implementación,el campo contendrá el nombre del recurso del LRO fallido, pero el recurso de la operación en sí se borrará automáticamente después de un tiempo.

finishTime

string (Timestamp format)

Solo salida. Hora de finalización de la Deployment: Solo se configura si la implementación finalizó o falló.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

A2AAgentDefinition

Es la definición almacenada de un agente que usa A2A.

Representación JSON
{
  "cloudMarketplaceConfig": {
    object (CloudMarketplaceConfig)
  },

  // Union field agent_card can be only one of the following:
  "jsonAgentCard": string,
  "remoteAgentCard": {
    object (RemoteAgentcard)
  }
  // End of list of possible types for union field agent_card.
}
Campos
cloudMarketplaceConfig

object (CloudMarketplaceConfig)

Es opcional. Es la configuración específica para los agentes implementados desde Cloud Marketplace.

Campo de unión agent_card. El nombre, las capacidades, la información de autorización, etc., del agente de la tienda agent_card solo pueden ser uno de los siguientes:
jsonAgentCard

string

Es opcional. La tarjeta del agente es una cadena JSON.

remoteAgentCard

object (RemoteAgentcard)

Es opcional. Tarjeta de agente remoto (externo).

RemoteAgentcard

Es la definición de una tarjeta de agente alojada de forma remota.

Representación JSON
{
  "uri": string
}
Campos
uri

string

Obligatorio. Es el URI de la tarjeta del agente.

CloudMarketplaceConfig

Es la configuración específica para los agentes implementados desde Cloud Marketplace.

Representación JSON
{
  "entitlement": string,
  "order": string
}
Campos
entitlement

string

Obligatorio. Es el derecho de Marketplace con el que se asocia este agente. Formato: projects/{project}/entitlements/{entitlement}.

order

string

Solo salida. Es el pedido de Marketplace al que pertenece este agente. Formato: billingAccounts/{billingAccount}/orders/{order}

DialogflowAgentDefinition

Es la definición almacenada de un agente que usa un agente de Dialogflow.

Representación JSON
{
  "toolSettings": {
    object (AgentToolSettings)
  },
  "dialogflowAgent": string
}
Campos
toolSettings
(deprecated)

object (AgentToolSettings)

Es opcional. Son los parámetros que definen cómo se presenta el agente al LLM del planificador. OBSOLETO: En su lugar, usa agentInvocationSpec.

dialogflowAgent

string

Obligatorio. Es el nombre del recurso del agente de Dialogflow subyacente. Formato: projects/{project}/locations/{location}/agents/{agent}

Imagen

Representa una imagen.

Representación JSON
{

  // Union field storage_method can be only one of the following:
  "uri": string,
  "content": string
  // End of list of possible types for union field storage_method.
}
Campos
Campo de unión storage_method. Puede ser un URI o el contenido codificado como una cadena base64. storage_method puede ser solo uno de los parámetros siguientes:
uri

string

Es el URI de la imagen.

content

string

Contenido del archivo de imagen codificado en Base64.

AuthorizationConfig

Describe las autorizaciones requeridas.

Representación JSON
{
  "toolAuthorizations": [
    string
  ],
  "agentAuthorization": string
}
Campos
toolAuthorizations[]

string

Es opcional. Es la lista de autorizaciones requeridas para que el agente acceda a otros recursos. Los tokens de Auth se pasarán al agente como parte del cuerpo de la solicitud.

agentAuthorization

string

Es opcional. Es la autorización que se requiere para invocar al agente. Los tokens de Auth se pasarán al agente como parte del encabezado de autorización de la solicitud.

DataStoreSpecs

Representa un conjunto de especificaciones del almacén de datos.

Representación JSON
{
  "specs": [
    {
      object (DataStoreSpec)
    }
  ]
}
Campos
specs[]

object (DataStoreSpec)

Es opcional. Son especificaciones que definen los DataStores para filtrar en una llamada de búsqueda y las configuraciones de esos almacenes de datos. Esto solo se considera para los Engines con varios almacenes de datos.

Estado

Son los valores posibles para el estado del ciclo de vida del agente.

Enums
STATE_UNSPECIFIED El estado no se especifica.
CONFIGURED El agente está configurado, pero aún no se activó ninguna implementación.
DEPLOYING Se está implementando el agente.
DISABLED El agente solo está disponible para los administradores.
DEPLOYMENT_FAILED No se pudo implementar el agente.
PRIVATE El agente solo está disponible para su creador.
ENABLED El agente está disponible para los usuarios que tienen acceso.
SUSPENDED El agente no está disponible temporalmente, pero los usuarios que tienen acceso pueden verlo.

AgentInvocationSpec

Es la especificación de invocación del agente, que el LLM usa para decidir cuándo invocarlo.

Representación JSON
{
  "description": string
}
Campos
description

string

Obligatorio. Es la descripción que guía al LLM sobre cuándo invocar al agente. Una buena descripción explica de forma clara y concisa las capacidades del agente, por ejemplo: "Este agente puede reservar vuelos y consultar sus estados".

StarterPrompt

Es la sugerencia de instrucción inicial que se le muestra al usuario en la página de destino del agente.

Representación JSON
{
  "text": string
}
Campos
text

string

Obligatorio. Es el texto de la instrucción inicial.

SharingConfig

Es la configuración relacionada con el uso compartido.

Representación JSON
{
  "scope": enum (Scope)
}
Campos
scope

enum (Scope)

Es opcional. Es el alcance del uso compartido del agente.

Alcance

Es el alcance del uso compartido del agente.

Enums
SCOPE_UNSPECIFIED Valor predeterminado. Se comporta como RESTRICTED.
RESTRICTED El agente se comparte según la política de IAM.
ALL_USERS El agente se comparte con todos los usuarios.

Métodos

create

Crea un Agent.

delete

Borra un Agent.

deploy

Implementa un Agent.

get

Obtiene un Agent.

list

Enumera todos los objetos Agent de un objeto Assistant que creó el llamador.

patch

Actualiza un Agent

rejectAgent

Rechaza un agente ofrecido al público.

requestAgentReview

Presenta un agente a los administradores, ya que lo pone a disposición para su revisión.

withdrawAgent

Retira un agente ofrecido al público.