テキスト生成関数を選択する
このドキュメントでは、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 関数を使用して、さまざまな型のスカラー値を生成できます。 |