在 Cloud Run 上托管 AI 应用和代理

本页重点介绍了 Cloud Run 作为以下 AI 用例的托管平台所适用的使用场景:

在 Cloud Run 上托管 AI 应用

AI 应用通过 AI 模型来执行特定操作或任务。例如,AI 应用可以使用 AI 模型总结文档,或作为聊天界面,通过向量数据库检索更多上下文信息。

Cloud Run 是一种应用托管基础架构,可为 AI 应用工作负载提供全托管式环境。Cloud Run 可与 Gemini APIVertex AI 端点等 AI 模型集成,也可集成托管在启用 GPU 的 Cloud Run 服务上的模型。Cloud Run 还与 Cloud SQL for PostgreSQLAlloyDB for PostgreSQL 集成,这两个数据库都提供 pgvector 扩展程序,用于检索增强生成 (RAG)。

在 Cloud Run 上托管 AI 代理

AI 代理结合高级 AI 模型的智能与工具使用能力,在用户的控制下代表用户采取行动。

您可以将 AI 代理实现为 Cloud Run 服务,用于编排一组异步任务,并通过多次请求-响应交互向用户提供信息。

Cloud Run 上的 AI 代理架构

Cloud Run 上部署的典型 AI 代理架构可能包括来自 Google Cloud 以及 Google Cloud外部的多个组件。

Cloud Run 上 AI 代理的架构

  1. 服务和编排:Cloud Run 服务作为可扩缩的 API 端点,可通过自动、按需、快速扩缩容来处理多个并发用户请求。此服务运行核心代理逻辑,通常采用 LangGraph代理开发套件 (ADK) 等 AI 编排框架。此层用于协调对其他组件的调用。Cloud Run 支持使用 WebSocketsHTTP 响应流式传输回用户。Cloud Run 的内置服务身份可提供安全且自动的凭证,以便在无需管理 API 密钥的情况下调用 Google Cloud API。

  2. AI 模型:编排层调用模型以实现推理功能。这些模型可以是:

  3. 记忆:代理通常需要记忆来保留上下文并从过去的互动中学习。

  4. 数据库和检索:对于检索增强生成 (RAG) 或提取结构化数据:

  5. 工具:编排程序使用工具来执行模型不擅长的特定任务,或与外部服务、API 或网站交互。这可能包括:

    • 基本实用程序:如精确的数学计算、时间转换等可在用于编排的 Cloud Run 服务中运行。
    • API 调用:调用其他内部或第三方 API(读写访问权限)。
    • 生成图片或图表:使用图像生成模型或图表库,快速高效地创建可视化内容。
    • 浏览器和操作系统自动化:在容器实例中运行无头或完整的图形操作系统,使代理能够浏览网页、提取网站信息或通过点击和键盘输入执行操作。Cloud Run 服务会返回屏幕像素。使用 Puppeteer 等库来控制浏览器。
    • 代码执行:Cloud Run 提供了一个具有多层沙盒的安全环境,可配置为代码执行服务,几乎无需或完全无需 IAM 权限Cloud Run 作业可用于异步执行代码,而并发数为 1Cloud Run 服务可用于同步执行代码。

后续步骤