このガイドは、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 キー、パスワード、証明書、その他のセンシティブ データを保存するための安全で便利なストレージ システム。
アーキテクチャ
次の図は、アプリケーションのコンポーネントと接続を示しています。
アプリケーションのリクエスト処理フローは次のとおりです。
- Cloud SQL の PostgreSQL データベースにデータを読み込みます。
- Vertex AI は、テキスト フィールドのエンベディングを作成し、ベクトルとして保存します。
- Cloud Load Balancing フロントエンドは外部リクエストを受信し、Cloud Load Balancing バックエンドにトラフィックを分散します。
- Cloud Load Balancing バックエンドは、トラフィックを Cloud Run フロントエンド サービスに分散します。
- フロントエンド サービスは、生成 AI を呼び出すために検索サービスと通信します。
- バックエンド サービスがリクエストをエンベディングに変換し、既存のエンベディングを検索します。
- 検索サービスは、エンベディング検索からの自然言語の結果と元のプロンプトを Vertex AI に送信して、レスポンスを作成します。
次のステップ
- 他の Google 提供のテンプレートを見つけて使用する方法をご確認ください。
- 特定のニーズに合わせてテンプレートをカスタマイズする方法を理解する。
- Google Cloud アーキテクチャ フレームワークで一般的なアーキテクチャのベスト プラクティスを確認する。