Cloud Run で AI アプリとエージェントをホストする

このページでは、次の AI ユースケースのホスティング プラットフォームとして Cloud Run を使用するユースケースについて説明します。

Cloud Run で AI アプリケーションをホストする

AI アプリケーションは、AI モデルを使用して特定のタスクを実行します。たとえば、AI アプリケーションは AI モデルを使用してドキュメントを要約したり、ベクトル データベースを使用してより多くのコンテキストを取得するチャット インターフェースとして機能します。

Cloud Run は、AI アプリケーション ワークロード用のフルマネージド環境を提供するアプリケーション ホスティング インフラストラクチャの一つです。Cloud Run は、Gemini APIVertex AI エンドポイントGPU 対応の Cloud Run サービスでホストされているモデルなどの AI モデルと統合されます。Cloud Run は、Cloud SQL for PostgreSQLAlloyDB for PostgreSQL とも統合されています。これらは、検索拡張生成(RAG)用の pgvector 拡張機能を提供するデータベースです。

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 は、WebSockets を使用してユーザーに HTTP レスポンスをストリーミングできます。Cloud Run の組み込みのサービス ID は、API キーを管理することなく、 Google Cloud API を呼び出すための安全で自動的な認証情報を提供します。

  2. AI モデル: オーケストレーション レイヤは、推論機能のモデルを呼び出します。たとえば、次のようなものがあります。

  3. メモリ: エージェントは、コンテキストを保持し、過去のやり取りから学習するためにメモリを必要とすることがよくあります。

    • 短期記憶は、Cloud Run を Memorystore for Redis に接続することで実装できます。
    • 会話履歴を保存したり、ユーザーの設定を記憶するための長期記憶は、スケーラブルでサーバーレスの NoSQL データベースである Firestore に Cloud Run を接続することで実装できます。
  4. データベースと取得: 検索拡張生成(RAG)または構造化データの取得:

    • pgvector 拡張機能を使用して Cloud Run をベクトル データベース(Cloud SQL for PostgreSQLAlloyDB for PostgreSQL など)に接続し、特定のエンティティ情報をクエリするか、エンベディングで類似性検索を実行します。
  5. ツール: オーケストレーターは、モデルに適していない特定のタスクを実行したり、外部サービス、API、ウェブサイトを操作するためにツールを使用します。これには次のものが含まれます。

    • 基本的なユーティリティ: 正確な算術演算、時刻の換算、その他の同様のユーティリティは、オーケストレートされた Cloud Run サービスで実行できます。
    • API 呼び出し: 他の内部 API またはサードパーティ API(読み取りまたは書き込みアクセス)を呼び出します。
    • 画像やグラフの生成: 画像生成モデルを使用するか、グラフ ライブラリを実行して、ビジュアル コンテンツを迅速かつ効率的に作成します。
    • ブラウザと OS の自動化: コンテナ インスタンス内でヘッドレスまたは完全なグラフィカル オペレーティング システムを実行し、エージェントがウェブをブラウジングしたり、ウェブサイトから情報を抽出したり、クリックやキーボード入力を使用してアクションを実行できるようにします。Cloud Run サービスは、画面のピクセルを返します。Puppeteer などのライブラリを使用してブラウザを制御します。
    • コードの実行: Cloud Run は多層サンドボックス化による安全な環境を提供します。これは、IAM 権限を最小限に抑えたコード実行サービスとして構成できます。Cloud Run ジョブを使用してコードを非同期で実行できます。また、同時実行数が 1Cloud Run サービスを同期実行に使用することもできます。

次のステップ