Desplegar un agente

Para desplegar un agente en Vertex AI Agent Engine, sigue estos pasos:

  1. Cumple los requisitos previos.
  2. (Opcional) Configura tu agente para la implementación.
  3. Crea una instancia de AgentEngine.
  4. (Opcional) Obtén el ID de recurso del agente.
  5. (Opcional) Consulta la lista de operaciones admitidas.
  6. (Opcional) Concede permisos al agente implementado.

También puedes usar las plantillas del paquete inicial de agentes para la implementación.

Requisitos previos

Antes de implementar un agente, asegúrate de que has completado las siguientes tareas:

  1. Configura tu entorno.
  2. Desarrolla un agente.

(Opcional) Configurar el agente para el despliegue

Puedes hacer las siguientes configuraciones opcionales para tu agente:

Crear una instancia de AgentEngine

Para desplegar el agente en Vertex AI, usa client.agent_engines.create para transferir el objeto local_agent junto con cualquier configuración opcional:

remote_agent = client.agent_engines.create(
    agent=local_agent,                                  # Optional.
    config={
        "requirements": requirements,                   # Optional.
        "extra_packages": extra_packages,               # Optional.
        "gcs_dir_name": gcs_dir_name,                   # Optional.
        "display_name": display_name,                   # Optional.
        "description": description,                     # Optional.
        "labels": labels,                               # Optional.
        "env_vars": env_vars,                           # Optional.
        "build_options": build_options,                 # Optional.
        "service_account": service_account,             # Optional.
        "min_instances": min_instances,                 # Optional.
        "max_instances": max_instances,                 # Optional.
        "resource_limits": resource_limits,             # Optional.
        "container_concurrency": container_concurrency, # Optional
        "encryption_spec": encryption_spec,             # Optional.
    },
)

El despliegue tarda unos minutos, durante los cuales se realizan los siguientes pasos en segundo plano:

  1. Se genera un paquete de los siguientes artefactos de forma local:

  2. El paquete se sube a Cloud Storage (en la carpeta correspondiente) para organizar los artefactos.

  3. Los URIs de Cloud Storage de los artefactos correspondientes se especifican en PackageSpec.

  4. El servicio Vertex AI Agent Engine recibe la solicitud, crea contenedores e inicia servidores HTTP en el backend.

La latencia de implementación depende del tiempo total que se tarda en instalar los paquetes necesarios. Una vez desplegado, remote_agent corresponde a una instancia de local_agent que se ejecuta en Vertex AI y se puede consultar o eliminar. Es independiente de las instancias locales del agente.

El objeto remote_agent corresponde a una clase AgentEngine que contiene los siguientes atributos:

  • Un remote_agent.api_resource con información sobre el agente implementado. También puedes llamar a agent.operation_schemas() para que se devuelva la lista de operaciones que admite el agente. Consulta Lista de operaciones admitidas para obtener más información.
  • un remote_agent.api_client que permite interacciones de servicio síncronas.
  • un remote_agent.async_api_client que permite interacciones de servicio asíncronas.

(Opcional) Obtener el ID de recurso del agente

Cada agente implementado tiene un identificador único. Puedes ejecutar el siguiente comando para obtener el nombre del recurso de tu agente implementado:

remote_agent.api_resource.name

La respuesta debería tener el siguiente aspecto:

"projects/PROJECT_NUMBER/locations/LOCATION/reasoningEngines/RESOURCE_ID"

donde

  • PROJECT_ID es el Google Cloud ID del proyecto en el que se ejecuta el agente desplegado.

  • LOCATION es la región en la que se ejecuta el agente desplegado.

  • RESOURCE_ID es el ID del agente implementado como recurso reasoningEngine.

(Opcional) Mostrar las operaciones admitidas

Cada agente implementado tiene una lista de operaciones admitidas. Puedes ejecutar el siguiente comando para obtener la lista de operaciones admitidas por el agente implementado:

remote_agent.operation_schemas()

El esquema de cada operación es un diccionario que documenta la información de un método del agente al que puedes llamar. El conjunto de operaciones admitidas depende del framework que hayas usado para desarrollar tu agente:

(Opcional) Concede permisos al agente implementado

Si el agente implementado necesita permisos adicionales, sigue las instrucciones de Configurar la identidad y los permisos de tu agente.

Siguientes pasos