Hospedar apps e agentes de IA no Cloud Run

Nesta página, destacamos alguns casos de uso do Cloud Run como plataforma de hospedagem para os seguintes casos de uso de IA:

Hospedar aplicativos de IA no Cloud Run

Os aplicativos de IA usam modelos de IA para operar ou realizar uma tarefa específica. Por exemplo, um aplicativo de IA pode usar um modelo de IA para resumir documentos ou ser uma interface de chat que usa um banco de dados vetorial para recuperar mais contexto.

O Cloud Run é uma das infraestruturas de hospedagem de aplicativos que oferece um ambiente totalmente gerenciado para suas cargas de trabalho de aplicativos de IA. O Cloud Run se integra a modelos de IA, como a API Gemini, os endpoints da Vertex AI ou modelos hospedados em um serviço do Cloud Run habilitado para GPU. O Cloud Run também se integra ao Cloud SQL para PostgreSQL e ao AlloyDB para PostgreSQL, que são dois bancos de dados que oferecem a extensão pgvector para geração aumentada por recuperação (RAG, na sigla em inglês).

Hospedar agentes de IA no Cloud Run

Os agentes de IA combinam a inteligência de modelos avançados de IA com o acesso a ferramentas para realizar ações em nome do usuário e sob o controle dele.

É possível implementar agentes de IA como serviços do Cloud Run para orquestrar um conjunto de tarefas assíncronas e fornecer informações aos usuários, envolvendo várias interações de solicitação-resposta.

Arquitetura de agente de IA no Cloud Run

Uma arquitetura típica de agente de IA implantada no Cloud Run pode envolver vários componentes do Google Cloud e fora do Google Cloud:

Arquitetura de um agente de IA no Cloud Run

  1. Serviço e orquestração:um serviço do Cloud Run funciona como um endpoint de API escalonável e pode processar vários usuários simultâneos com o escalonamento automático, rápido e sob demanda de instâncias. Esse serviço executa a lógica principal do agente, geralmente usando um framework de orquestração de IA, como o LangGraph ou o Kit de desenvolvimento de agentes (ADK). Essa camada coordena chamadas para outros componentes. O Cloud Run oferece suporte a streaming de respostas HTTP de volta para o usuário usando WebSockets. A identidade de serviço integrada do Cloud Run fornece credenciais seguras e automáticas para chamar Google Cloud APIs sem gerenciar chaves de API.

  2. Modelos de IA:a camada de orquestração chama modelos para recursos de raciocínio. Elas podem ser:

  3. Memória:os agentes geralmente precisam de memória para reter o contexto e aprender com interações anteriores.

    • A memória de curto prazo pode ser implementada conectando o Cloud Run ao Memorystore para Redis.
    • A memória de longo prazo para armazenar o histórico de conversas ou lembrar as preferências do usuário pode ser implementada conectando o Cloud Run ao Firestore, um banco de dados NoSQL escalonável e sem servidor.
  4. Bancos de dados e recuperação:para Geração Aumentada de Recuperação (RAG) ou busca de dados estruturados:

    • Consulte informações específicas de entidades ou faça pesquisas de similaridade em embeddings conectando o Cloud Run a bancos de dados vetoriais, como o Cloud SQL para PostgreSQL ou o AlloyDB para PostgreSQL, com a extensão pgvector.
  5. Ferramentas:o orquestrador usa ferramentas para realizar tarefas específicas que os modelos não são adequados ou para interagir com serviços, APIs ou sites externos. Isso inclui:

    • Utilitários básicos: cálculos matemáticos precisos, conversões de tempo ou outros utilitários semelhantes podem ser executados no serviço de orquestração do Cloud Run.
    • Chamada de API: faça chamadas para outras APIs internas ou de terceiros (acesso de leitura ou gravação).
    • Geração de imagens ou gráficos: use modelos de geração de imagens ou execute bibliotecas de gráficos para criar conteúdo visual de forma rápida e eficaz.
    • Automação de navegador e SO: execute um sistema operacional sem interface gráfica ou completo em instâncias de contêiner para permitir que o agente navegue na Web, extraia informações de sites ou execute ações usando cliques e entrada de teclado. O serviço do Cloud Run retorna pixels de telas. Use bibliotecas como o Puppeteer para controlar o navegador.
    • Execução de código: o Cloud Run oferece um ambiente seguro com sandbox de várias camadas e pode ser configurado para o serviço de execução de código com o mínimo ou nenhum permissão do IAM. Um job do Cloud Run pode ser usado para executar código de maneira assíncrona, e um serviço do Cloud Run com uma concorrência de 1 pode ser usado para execução síncrona.

A seguir