AlloyDB AI は、AlloyDB for PostgreSQL と AlloyDB Omni に含まれる機能スイートであり、機械学習(ML)モデルのセマンティック機能と予測機能をデータに適用できます。このページでは、AlloyDB で利用可能な ML を活用した AI 関数の概要について説明します。
ベクトルの保存、インデックス登録、クエリ
標準の pgvector
PostgreSQL 拡張機能は AlloyDB 用にカスタマイズされており、vector
と呼ばれます。生成されたエンベディングをベクトル列に保存できます。この拡張機能では、スカラー量子化機能のサポートも追加され、IVF
インデックスを作成できます。ストック pgvector
で使用できる IVFFlat
インデックスまたは HSNW
インデックスを作成することもできます。
ベクトルの保存の詳細については、ベクトルを保存するをご覧ください。
AlloyDB には、カスタマイズされた vector
拡張機能に加えて、ScaNN アルゴリズムを活用した高効率の最近傍インデックスを実装する alloydb_scann
拡張機能が含まれています。
インデックスの作成とベクトルのクエリの詳細については、インデックスを作成し、ベクトルをクエリするをご覧ください。
ベクトル クエリのパフォーマンスをチューニングする
インデックスをチューニングして、秒間クエリ数(QPS)とクエリでの再現率のバランスを取ることができます。インデックスのチューニングの詳細については、ベクトル クエリのパフォーマンスをチューニングするをご覧ください。
エンベディングとテキスト予測を生成する
AlloyDB AI は、google_ml_integration
拡張機能を使用してモデルをクエリするための 2 つの関数を使用して PostgreSQL 構文を拡張します。
予測を呼び出し、トランザクション内で SQL を使用してモデルを呼び出します。
エンベディングを生成して、LLM にテキスト プロンプトを数値ベクトルに変換させます。
embedding()
関数を使用して Vertex AI モデルをクエリできます。google_ml.embedding()
関数を使用すると、登録済みの Vertex AI、ホスト、サードパーティのモデルをクエリできます。これらのベクトル エンベディングは
pgvector
関数への入力として適用できます。これには、相対的なセマンティック距離に従ってテキストのサンプルを比較し、並べ替えるメソッドが含まれます。
Vertex AI でクラウド内のモデルを使用する
Vertex AI で動作するように AlloyDB を構成できます。
これにより、アプリケーションには次のようなメリットがあります。
アプリケーションは、アクセス権を持つ Vertex AI Model Garden に保存されている任意のモデルを使用して予測を呼び出すことができます。
アプリケーションは、
text-embedding-005
英語モデル LLM を使用してエンベディングを生成できます。