ベクトルの保存、インデックス登録、クエリ
標準の 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
英語モデル LLM を使用してエンベディングを生成できます。