エージェント取得用のエンベディングを自動生成する

Agent Retrieval(旧称: ベクトル検索 2.0)を使用して、コレクションのエンベディングを自動生成できます。これにより、新しいエンベディングを構築してすぐにデプロイできるため、生データから本番環境規模の検索エンジンへのパスが効率化されます。

サポートされている Gemini Enterprise エンベディング モデル

Agent Retrieval(旧称: ベクトル検索 2.0)は、次のエンベディング モデルをサポートしています。

  • Gemini - テキストのエンベディング(英語のみと多言語)で最先端のパフォーマンスを提供します。

  • テキスト - (英語のみと多言語)とソースコード データに特化しています。

 

 

次の表に、サポートされている各モデルの詳細を示します。

モデル 説明 最大
出力
ディメンション
最大シーケンス長(トークン)

サポートされているモダリティ
とテキスト言語
その他の上限値
gemini-embedding-001 英語、多言語、コードタスクで最先端のパフォーマンスを実現します。
text-embedding-005 や
text-multilingual-embedding-002 などの以前の専門モデルを統合し、それぞれのドメインでより優れたパフォーマンスを実現します。
3072 2048 サポートされているテキスト言語 エンベディングの上限
gemini-embedding-2-preview これは、Google の次世代のマルチモーダル エンベディング モデルです。最新の Gemini モデル アーキテクチャ上に構築されたこの「オムニ エンベディング モデル」は、テキスト、画像、動画、PDF データを単一の統合エンベディング空間にマッピングします。

3072 8192 テキスト、画像、動画、PDF のインターリーブ API の上限
gemini-embedding-2 これは、Google の次世代のマルチモーダル エンベディング モデルです。最新の Gemini モデル アーキテクチャ上に構築されたこの「オムニ エンベディング モデル」は、テキスト、画像、動画、PDF データを単一の統合エンベディング空間にマッピングします。

3072 8192 テキスト、画像、動画、PDF のインターリーブ API の上限
text-embedding-004 英語とコードのタスクに特化しています。 768 2048 英語 API の上限
text-embedding-005 英語とコードのタスクに特化しています。 768 2048 英語 API の上限
text-multilingual-embedding-002 多言語タスクに特化しています。 768 2048 サポートされているテキスト言語 API の上限

 

自動生成されたエンベディングを使用してコレクションを作成する

コレクションを作成するときに、vertex_embedding_config の model_id フィールドでエンベディング モデルを指定します。このモデルは、genre_embedding データが定義されていない データ オブジェクト が作成されるたびに使用されます。

次のコードは、エンベディングを自動生成するときに使用するエンベディング モデルを指定する方法を示しています。

request = vectorsearch.CreateCollectionRequest(
   parent=f"projects/{PROJECT_ID}/locations/{LOCATION}",
   collection_id=collection_id,
   collection={
       "data_schema": {
           "type": "object",
           "properties": {
               "year": {"type": "number"},
               "genre": {"type": "string"},
               "director": {"type": "string"},
               "title": {"type": "string"},
           },
       },
       "vector_schema": {
           "plot_embedding": {"dense_vector": {"dimensions": 3} },
           "soundtrack_embedding": {"dense_vector": {"dimensions": 5} },
           "genre_embedding": {
               "dense_vector": {
                   "dimensions": 4,
                   "vertex_embedding_config": {
                       # If a data object is created without a supplied value for genre_embedding, it will be
                       # auto-generated based on this config.
                       "model_id": "text-embedding-004",
                       "text_template": ("Movie: {title} Genre: {genre} Year: {year}"),
                       "task_type": "RETRIEVAL_DOCUMENT",
                   },
               }
           },
           "sparse_embedding": {"sparse_vector": { } },
       },
   },
)
operation = vector_search_service_client.create_collection(request=request)
operation.result()

このコード例では、model_id フィールドが text-embedding-004 に設定された新しい Collection が作成されます。model_id に指定できるエンベディング モデルについては、サポートされている Gemini Enterprise エンベディング モデルをご覧ください。

割り当て

自動生成されたエンベディングは、基盤となる Gemini Enterprise エンベディング モデルの顧客割り当てに依存します。これは主に次の 2 つの主な割り当てによって制約されます。

  • 1 分あたりのコンテンツ埋め込み入力トークン数(リージョン、base_model ごと)。

  • 1 分あたりのベースモデルごとのオンライン予測リクエスト数(リージョン、base_model ごと)。

データ オブジェクトを作成する前、またはインポート ジョブを実行する前に、十分な割り当てがあることを確認してください。

割り当ての増加をリクエストする方法については、コンソールを使用して割り当てを管理するをご覧ください。

関連情報