Alojar agentes de IA en Cloud Run

En esta página se destacan los casos prácticos para alojar agentes de IA en Cloud Run.

Los agentes de IA son entidades de software autónomas que usan sistemas basados en LLMs para percibir, decidir y actuar con el fin de alcanzar objetivos. A medida que se crean más agentes autónomos, su capacidad para comunicarse y colaborar se vuelve crucial.

Para obtener una introducción a los agentes de IA, consulta ¿Qué es un agente de IA?

Casos prácticos de agentes de IA en Cloud Run

Puedes implementar agentes de IA como servicios de Cloud Run para orquestar un conjunto de tareas asíncronas y proporcionar información a través de varias interacciones de solicitud-respuesta.

Un servicio de Cloud Run es un endpoint de API escalable para la lógica principal de tu aplicación. Gestiona de forma eficiente a varios usuarios simultáneos mediante el escalado automático, rápido y bajo demanda de las instancias.

Arquitectura de agente de IA en Cloud Run

Una arquitectura de agente de IA típica implementada en Cloud Run puede incluir varios componentes de Google Cloud y de fuera de Google Cloud:

Los cuatro componentes de un agente de IA alojado en Cloud Run.
Imagen 1. Arquitectura de un agente de IA en Cloud Run.

En el diagrama se muestra lo siguiente:

  • Plataforma de alojamiento: Cloud Run es una plataforma de alojamiento para ejecutar agentes y ofrece las siguientes ventajas:

    • Permite ejecutar cualquier framework de agentes para crear diferentes tipos de agentes y arquitecturas de agentes. Algunos ejemplos de frameworks de agentes son Agent Development Kit (ADK), Dify, LangGraph y n8n.
    • Proporciona funciones integradas para gestionar tu agente. Por ejemplo, Cloud Run proporciona una identidad de servicio integrada que puedes usar como identidad de agente para llamar a APIs con credenciales seguras y automáticas. Google Cloud
    • Permite conectar tu framework de agente a otros servicios. Puedes conectar tu agente a herramientas propias o de terceros implementadas en Cloud Run. Por ejemplo, para obtener visibilidad de las tareas y las ejecuciones de tu agente, puedes implementar y usar herramientas como Langfuse y Arize.
  • Interacciones con el agente: Cloud Run admite respuestas HTTP de streaming para el usuario y WebSockets para las interacciones en tiempo real.

  • Modelos de IA generativa: la capa de orquestación llama a los modelos para obtener funciones de razonamiento. Estos modelos se pueden alojar en servicios como los siguientes:

  • Memoria: los agentes suelen necesitar memoria para conservar el contexto y aprender de las interacciones anteriores. Puedes usar los siguientes servicios:

    • Memorystore para Redis para la memoria a corto plazo.
    • Firestore para la memoria a largo plazo, como almacenar el historial de conversaciones o recordar las preferencias del usuario.
  • Base de datos de vectores: para la generación aumentada por recuperación (RAG) o para obtener datos estructurados, usa una base de datos de vectores para consultar información específica de una entidad o realizar una búsqueda de vectores en las inserciones. Usa la extensión pgvector con los siguientes servicios:

  • Herramientas: el orquestador usa herramientas para llevar a cabo tareas específicas con el fin de interactuar con servicios, APIs o sitios web externos. Esto puede incluir:

    • Model Context Protocol (MCP): usa este protocolo estandarizado para comunicarte con herramientas externas que se ejecutan a través de un servidor MCP.
    • Utilidades básicas: cálculos matemáticos precisos, conversiones de tiempo u otras utilidades similares.
    • Llamadas a APIs: haz llamadas a otras APIs internas o de terceros (acceso de lectura o escritura).
    • Generación de imágenes o gráficos: crea contenido visual de forma rápida y eficaz.
    • Automatización del navegador y del SO: ejecuta un sistema operativo gráfico completo o sin interfaz gráfica en instancias de contenedor para permitir que el agente navegue por la Web, extraiga información de sitios web o realice acciones mediante clics y entradas de teclado.
    • Ejecución de código: ejecuta código en un entorno seguro con un espacio aislado multicapa, con un mínimo de permisos de gestión de identidades y accesos o sin ellos.

Siguientes pasos