このページでは、AI モデル エンドポイントを登録し、モデル エンドポイント管理で予測を呼び出す前に知っておく必要のある主なコンセプトについて説明します。
AlloyDB Omni にリモートモデル エンドポイントを登録するには、AlloyDB Omni でのリモート AI モデルの登録と呼び出しをご覧ください。
概要
モデル エンドポイント管理は AlloyDB の AI 機能であり、AI モデルのメタデータを登録して管理するための関数と演算子が含まれています。モデル エンドポイントを登録し、データベース クラスタ内でモデル エンドポイントのメタデータを管理し、SQL クエリを使用してリモートモデル エンドポイントを呼び出すことができます。
モデル エンドポイント管理には、AI モデルに関連するメタデータを AlloyDB に登録できる関数を含む google_ml_integration
拡張機能が用意されています。このようにして登録したメタデータは、ベクトル エンベディングの生成や予測の呼び出しに使用されます。
AlloyDB AI クエリエンジンは、モデル エンドポイント管理(プレビュー)を基盤とする一連の関数であり、自然言語のフレーズを SQL クエリと組み合わせることができる AI 演算子のサポートが追加されています。たとえば、フィルタと結合には ai.if()
、並べ替えには ai.rank()
、データの概要の生成には ai.generate()
などです。また、Vertex AI のマルチモーダル モデルとランキング モデルのサポートも追加されています。
モデル エンドポイント管理を使用して登録できるモデルタイプの例を次に示します。
- Vertex AI テキスト エンベディングと汎用モデル
- Vertex AI マルチモーダル モデル(プレビュー)
- Vertex AI ランキング モデル(プレビュー)
- Hugging Face や OpenAI などのサードパーティ プロバイダが提供するエンベディング モデル
- セルフホスト型モデルやプライベート エンドポイント経由で利用可能なモデルを含むセルフホスト型テキスト エンベディング モデル
- JSON ベースの API を使用する汎用モデル(Hugging Face でホストされる
facebook/bart-large-mnli
モデル、Vertex AI Model Garden のgemini-pro
モデル、Anthropic のclaude
モデルなど)
ユースケース
登録済みモデルのエンドポイントを呼び出して、データベース内の既存のデータとやり取りし、エンベディングや予測を生成できます。アプリケーションのユースケースとしては、次のようなものがあります。
- トランザクション アプリケーションによるリアルタイム推論: ユーザーの現在の閲覧履歴とカート内のコンテンツに基づいて、リアルタイムのレコメンデーションを表示します。
- センチメントの識別と要約の生成: 購入者レビューのデータベースについて、要約を生成したり、各レビューの主要なセンチメントを識別したりします。
- インテリジェントな検索システムと取得システム: 内部ナレッジベースのデータベース用に検索システムを構築し、キーワードではなく SQL 演算子で自然言語を使用します。
- パーソナライズされたユーザー エクスペリエンス: コンテンツ プラットフォームを最適化し、過去のインタラクションに基づいて、各ユーザーに表示されるコンテンツを動的にパーソナライズします。
AlloyDB AI のユースケースの詳細については、AlloyDB AI のユースケースをご覧ください。
仕組み
モデル エンドポイント管理を使用すると、次の要件を満たすモデル エンドポイントを登録できます。
- モデルの入力と出力は JSON 形式をサポートしています。
- モデルは REST プロトコルを使用して呼び出すことができます。
モデル エンドポイントをモデル エンドポイント管理に登録すると、モデルへの参照として指定した一意のモデル ID を使用して各エンドポイントが登録されます。
モデルのエンドポイント ID を使用してモデルをクエリすると、次のことを行えます。
エンベディングを生成して、テキスト プロンプトを数値ベクトルに変換します。データベースで
vector
拡張機能が有効になっている場合、生成されたエンベディングをベクトルデータとして保存できます。詳細については、pgvector を使用してエンベディングをクエリしてインデックスに登録するをご覧ください。マルチモーダル エンベディングを生成して、テキスト、画像、動画などのマルチモーダル データをエンベディングに変換します。(プレビュー)
自然言語を使用して記述された条件に基づいて、クエリ内のアイテムのリストをランク付けまたはスコア付けします。(プレビュー)
SQL を使用して予測を呼び出します。
主なコンセプト
モデル エンドポイント管理を使い始める前に、モデルに接続して使用するために必要なコンセプトを理解しておく必要があります。
スキーマ
アプリケーションは、google_ml_integration
拡張機能を使用してモデル エンドポイント管理にアクセスできます。google_ml_integration
拡張機能には、public
、google_ml
、ai
スキーマの関数が含まれています。google_ml
スキーマにはすべての関数が含まれており、public
スキーマと ai
スキーマでは一部の関数を使用できます。
スキーマの詳細については、スキーマをご覧ください。
モデル プロバイダ
モデル プロバイダは、サポートされているモデルのホスティング プロバイダです。モデル プロバイダの設定は省略可能ですが、モデル エンドポイント管理でプロバイダを特定し、サポートされているモデルのヘッダーを自動的に形式設定するのに役立ちます。
モデル プロバイダの詳細については、モデル プロバイダをご覧ください。
モデルタイプ
モデルタイプは、AI モデルのタイプを示します。この拡張機能は、テキスト エンベディングと任意の汎用モデルタイプをサポートしています。モデル エンドポイントの登録時に設定できるサポート対象のモデルタイプは、text-embedding
と generic
です。
generic
がデフォルトのモデルタイプであるため、汎用モデル エンドポイントを登録する場合、モデルタイプの設定は省略可能です。
モデルタイプの詳細については、モデルタイプをご覧ください。
認証
認証タイプは、google_ml_integration
拡張機能を使用してモデル エンドポイント管理に接続するために使用できる認証タイプを示します。認証の設定は省略可能です。モデルにアクセスするために認証が必要な場合にのみ必要です。
認証の詳細については、認証をご覧ください。
予測関数
予測関数は、AlloyDB データベース内から AI モデルを操作できる SQL 関数です。これらの関数を使用すると、標準 SQL クエリを使用してモデル エンドポイントにデータを送信し、エンベディングや予測を生成できます。
予測関数の詳細については、予測関数をご覧ください。
演算子関数
google_ml_integration
拡張機能には、次の演算子関数が含まれています。これらの関数は、デフォルトの Gemini を使用して SQL 演算子で自然言語を使用します。
演算子関数の詳細については、演算子関数をご覧ください。
変換関数
変換関数は、入力をモデルが理解できる形式に変更し、モデルのレスポンスを予測関数が想定する形式に変換します。変換関数は、組み込みサポートなしで text-embedding
モデル エンドポイントを登録する場合に使用されます。変換関数の署名は、モデルが想定する入力によって異なります。
変換関数の詳細については、変換関数をご覧ください。
HTTP ヘッダー生成関数
HTTP ヘッダー生成関数は、HTTP ヘッダーとして使用される JSON Key-Value ペアで出力を生成します。予測関数の署名は、ヘッダー生成関数の署名を定義します。
HTTP ヘッダー生成関数の詳細については、HTTP ヘッダー生成関数をご覧ください。
次のステップ
- モデル プロバイダの認証を設定する。
- モデル エンドポイント管理でモデル エンドポイントを登録する。
- モデル エンドポイント管理のリファレンスを確認する。