Cloud SQL を使用した生成 AI RAG

このガイドは、Google が提供するチャットアプリ用テンプレートである Cloud SQL を使用する生成 AI の RAG テンプレートを理解する際に役立ちます。このテンプレートは、検索拡張生成(RAG)を使用するチャット アプリケーションの作成方法を示しています。ユーザーがアプリで質問すると、ベクトルとしてデータベースに保存されている情報に基づいて回答が提供されます。

使用するプロダクト

このアプリケーションには、次の Google Cloud プロダクトが含まれています。

  • Cloud Load Balancing(省略可): Google Cloudで高パフォーマンスでスケーラブルなロード バランシングを行うサービス。
  • Vertex AI: ML モデルと AI アプリケーションのトレーニングおよびデプロイ、アプリケーションで使用する LLM のカスタマイズが可能な機械学習(ML)プラットフォーム。
  • Cloud SQL:Google Cloud インフラストラクチャ上でフルマネージドされる、MySQL、PostgreSQL、SQL Server データベース用のクラウドベースのサービス。
  • Cloud Run: サーバーレスのコンテナ化アプリを構築してデプロイできるフルマネージド サービス。Google Cloud がスケーリングなどのインフラストラクチャ タスクを処理します。
  • Secret Manager: API キー、パスワード、証明書、その他のセンシティブ データを保存するための安全で便利なストレージ システム。

アーキテクチャ

次の図は、アプリケーションのコンポーネントと接続を示しています。

デザイン キャンバスの生成 AI RAG アプリケーション。このアプリケーションには、フロントエンド、取得、AI、シークレット管理、データベースのコンポーネントが含まれています。

アプリケーションのリクエスト処理フローは次のとおりです。

  1. Cloud SQL の PostgreSQL データベースにデータを読み込みます。
  2. Vertex AI は、テキスト フィールドのエンベディングを作成し、ベクトルとして保存します。
  3. Cloud Load Balancing フロントエンドは外部リクエストを受信し、Cloud Load Balancing バックエンドにトラフィックを分散します。
  4. Cloud Load Balancing バックエンドは、トラフィックを Cloud Run フロントエンド サービスに分散します。
  5. フロントエンド サービスは、生成 AI を呼び出すために検索サービスと通信します。
  6. バックエンド サービスがリクエストをエンベディングに変換し、既存のエンベディングを検索します。
  7. 検索サービスは、エンベディング検索からの自然言語の結果と元のプロンプトを Vertex AI に送信して、レスポンスを作成します。

次のステップ