Alojar aplicaciones y agentes de IA en Cloud Run

En esta página se destacan algunos casos prácticos para usar Cloud Run como plataforma de alojamiento en los siguientes casos prácticos de IA:

Alojar aplicaciones de IA en Cloud Run

Las aplicaciones de IA usan modelos de IA para funcionar o realizar una tarea específica. Por ejemplo, una aplicación de IA puede usar un modelo de IA para resumir documentos o ser una interfaz de chat que use una base de datos de vectores para obtener más contexto.

Cloud Run es una de las infraestructuras de alojamiento de aplicaciones que proporciona un entorno totalmente gestionado para tus cargas de trabajo de aplicaciones de IA. Cloud Run se integra con modelos de IA como la API de Gemini, los endpoints de Vertex AI o los modelos alojados en un servicio de Cloud Run habilitado para GPU. Cloud Run también se integra con Cloud SQL para PostgreSQL y AlloyDB para PostgreSQL, dos bases de datos que ofrecen la extensión pgvector para la generación aumentada de recuperación (RAG).

Alojar agentes de IA en Cloud Run

Los agentes de IA combinan la inteligencia de los modelos de IA avanzados con el acceso a herramientas para realizar acciones en nombre del usuario y bajo su control.

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

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 fuera de Google Cloud:

Arquitectura de un agente de IA en Cloud Run

  1. Servicio y orquestación: un servicio de Cloud Run actúa como un endpoint de API escalable y puede gestionar varios usuarios simultáneos mediante el escalado automático, rápido y bajo demanda de instancias. Este servicio ejecuta la lógica principal del agente, a menudo mediante un framework de orquestación de IA, como LangGraph o Agent Development Kit (ADK). Esta capa coordina las llamadas a otros componentes. Cloud Run admite el streaming de respuestas HTTP al usuario mediante WebSockets. La identidad de servicio integrada de Cloud Run proporciona credenciales seguras y automáticas para llamar a Google Cloud APIs sin tener que gestionar claves de API.

  2. Modelos de IA: la capa de orquestación llama a los modelos para obtener funciones de razonamiento. Pueden ser:

  3. Memoria: los agentes suelen necesitar memoria para conservar el contexto y aprender de las interacciones anteriores.

    • La memoria a corto plazo se puede implementar conectando Cloud Run a Memorystore para Redis.
    • La memoria a largo plazo para almacenar el historial de conversaciones o recordar las preferencias del usuario se puede implementar conectando Cloud Run a Firestore, una base de datos NoSQL escalable y sin servidor.
  4. Bases de datos y recuperación: para la generación aumentada por recuperación (RAG) o la obtención de datos estructurados:

  5. Herramientas: el orquestador usa herramientas para llevar a cabo tareas específicas para las que los modelos no son adecuados o para interactuar con servicios, APIs o sitios web externos. Esto puede incluir:

    • Utilidades básicas: el servicio de Cloud Run de orquestación puede ejecutar cálculos matemáticos precisos, conversiones de tiempo u otras utilidades similares.
    • Llamadas a APIs: hacer llamadas a otras APIs internas o de terceros (acceso de lectura o escritura).
    • Generación de imágenes o gráficos: usa modelos de generación de imágenes o ejecuta bibliotecas de gráficos para crear contenido visual de forma rápida y eficaz.
    • Automatización de navegadores y sistemas operativos: ejecuta un sistema operativo gráfico completo o sin interfaz en instancias de contenedores para permitir que el agente navegue por la Web, extraiga información de sitios web o realice acciones mediante clics y entradas de teclado. El servicio de Cloud Run devuelve píxeles de pantallas. Usa bibliotecas como Puppeteer para controlar el navegador.
    • Ejecución de código: Cloud Run proporciona un entorno seguro con un espacio aislado de varias capas y se puede configurar en el servicio de ejecución de código con permisos de gestión de identidades y accesos mínimos o nulos. Un trabajo de Cloud Run se puede usar para ejecutar código de forma asíncrona, y un servicio de Cloud Run con una concurrencia de 1 se puede usar para la ejecución síncrona.

Siguientes pasos