AlloyDB AI を使用して生成 AI アプリケーションを構築する

AlloyDB AI は、AlloyDB for PostgreSQL と AlloyDB Omni に含まれる機能スイートであり、機械学習(ML)モデルのセマンティック機能と予測機能で AlloyDB のデータを利用できます。このページでは、AlloyDB で利用可能な ML AI 関数の概要について説明します。

ベクトルの保存、インデックス登録、クエリ

標準の pgvector PostgreSQL 拡張機能は AlloyDB 用にカスタマイズされており、vector と呼ばれます。これにより、生成されたエンベディングをベクトル列に保存できます。この拡張機能では、スカラー量子化機能のサポートも追加され、IVF インデックスを作成できます。ストック pgvector で使用できる IVFFlat インデックスまたは HSNW インデックスを作成することもできます。

ベクトルの保存の詳細については、ベクトル エンベディングを保存するをご覧ください。

AlloyDB には、カスタマイズされた vector 拡張機能に加えて、ScaNN アルゴリズムを活用した高効率の最近傍インデックスを実装する alloydb_scann 拡張機能が含まれています。

インデックスの作成とベクトルのクエリの詳細については、インデックスを作成してベクトルをクエリするをご覧ください。

ベクトルクエリのパフォーマンスをチューニングする

インデックスをチューニングして、秒間クエリ数(QPS)とクエリでの再現率のバランスを取ることができます。インデックスのチューニングの詳細については、ベクトルクエリのパフォーマンスをチューニングするをご覧ください。

エンベディングとテキスト予測を生成する

AlloyDB AI では PostgreSQL 構文が拡張され、google_ml_integration 拡張機能を使用してモデルをクエリする関数が 2 つ追加されています。

  • 予測の呼び出し。トランザクション内で SQL を使用してモデルを呼び出します。

  • エンベディングの生成。LLM にテキスト プロンプトを数値ベクトルに変換させます。

    embedding() 関数を使用して Vertex AI モデルをクエリできます。google_ml.embedding() 関数を使用すると、登録済みの Vertex AI、ホスト、サードパーティのモデルをクエリできます。

    これらのベクトル エンベディングは pgvector 関数への入力として適用できます。これには、相対的なセマンティック距離に従ってテキストのサンプルを比較し、並べ替えるメソッドが含まれます。

Vertex AI でクラウド内のモデルを使用する

Vertex AI と連携するように AlloyDB Omni を構成できます。

これにより、アプリケーションには次のようなメリットがあります。

  • アプリケーションで、アクセス権のある Vertex AI Model Garden に保存されている任意のモデルを使用して、予測を呼び出すことができます。

  • アプリケーションで、text-embedding-005 英語モデル LLM を使用してエンベディングを生成できます。

次のステップ