テキスト生成関数を選択する
このドキュメントでは、BigQuery ML の ML.GENERATE_TEXT
と AI.GENERATE
のテキスト生成関数を比較します。関数の機能が重複している場合は、このドキュメントの情報を使用して、使用する関数を決定できます。
関数の類似性
ML.GENERATE_TEXT
関数と AI.GENERATE
関数は、次の点で類似しています。
- 目的: プロンプトを大規模言語モデル(LLM)に渡してテキストを生成します。
- 課金: 処理されたデータに対して BigQuery ML の料金が発生します。詳細については、BigQuery ML の料金をご覧ください。LLM の呼び出しに対して Vertex AI の料金が発生します。Gemini 2.0 以上のモデルを使用している場合、呼び出しはバッチ API レートで課金されます。詳細については、Vertex AI での AI モデルの構築とデプロイの費用をご覧ください。
- スケーラビリティ: 6 時間のクエリジョブごとに 100 万~ 1,000 万行を処理します。実際のスループットは、入力行の平均トークン長などの要因によって異なります。詳細については、生成 AI 関数をご覧ください。
- 入力データ: BigQuery 標準テーブルとオブジェクト テーブルのテキスト データと非構造化データの両方をサポートします。
機能の違い
次の表を使用して、ML.GENERATE_TEXT
関数と AI.GENERATE
関数の違いを評価します。
ML.GENERATE_TEXT |
AI.GENERATE |
|
---|---|---|
関数のシグネチャ | テーブルを入力として受け取り、テーブルを出力として返すテーブル値関数。 | 単一の値を入力として受け取り、単一の値を出力として返すスカラー関数。 |
サポートされている LLM |
|
Gemini モデル |
関数の出力コンテンツ |
Gemini モデルの関数出力コンテンツ:
他のタイプのモデルの関数出力コンテンツ:
|
|
関数の出力形式 | 生成された値は、flatten_json_output 引数の値に応じて、単一の JSON 列または個別のテーブル列で返されます。 |
生成された値は、STRUCT オブジェクトのフィールドとして返されます。 |
ユーザー ジャーニー | 関数を使用する前に、リモートモデルを作成する必要があります。 | リモートモデルを作成しなくても、関数を直接使用できます。 |
権限の設定 | BigQuery 接続を手動で作成し、接続のサービス アカウントに Vertex AI ユーザー ロールの権限を付与する必要があります。BigQuery のデフォルトの接続を使用している場合は、この手順をスキップできます。 | BigQuery 接続を手動で作成し、接続のサービス アカウントに Vertex AI ユーザー ロールの権限を付与する必要があります。 |
利点 | より柔軟な入出力形式が可能になります。 | SQL クエリに簡単に統合できます。 |
拡張関数 | AI.GENERATE_TABLE 関数を使用すると、指定した SQL 出力スキーマに従って構造化された出力を生成できます。 |
AI.GENERATE_BOOL 、AI.GENERATE_INT 、AI.GENERATE_DOUBLE 関数を使用して、さまざまな型のスカラー値を生成できます。 |