テキストだけのRAGは、画像・動画・音声が持つ意味を取りこぼします。2026年4月30日、GoogleはGemini Embedding 2を正式リリースし、テキスト・画像・動画・音声・PDFを1つの埋め込み空間に統合できるモデルをAPIで提供し始めました。
この記事でわかること:
- Gemini Embedding 2が解決するマルチモーダルRAGの課題
- 対応5モダリティとインターリーブ入力の仕組み
- タスクプレフィックスとMRLによる検索精度と効率の改善
- Harvey・Supermemory・Nuulyの導入成果
- Google ADKと組み合わせたAgentic RAG構築の全体像
- 料金体系とコスト最適化の方法
Gemini Embedding 2(モデルID:gemini-embedding-2)は2026年3月10日にパブリックプレビュー公開、4月30日にGAになりました。GeminiアーキテクチャをベースにしたGoogleの初のネイティブマルチモーダル埋め込みモデルです。
テキスト専用埋め込みの限界
従来の埋め込みモデルはテキストだけを対象にしていたため、画像の中の内容、動画の流れ、音声の発話内容を意味的に検索しようとすると、別々のモデルとパイプラインが必要でした。
モダリティが増えると、変換・同期・統合のコストが跳ね上がります。RAGパイプラインが複雑になるほど、レイテンシと誤検知も増えていきます。
Gemini Embedding 2はすべてのモダリティを1つのセマンティック空間に写像することで、この複雑さを解消します。
5つのモダリティを1リクエストで処理
Gemini Embedding 2が1回のAPIコールで受け付けるデータ量は次のとおりです。
- テキスト:最大8,192トークン、100言語以上に対応
- 画像:最大6枚(PNG・JPEG・WebP・HEIC・HEIFなど)
- 動画:最大120秒(MP4・MOV)
- 音声:最大180秒
- PDF:最大6ページ
さらに、テキストと画像を混在させた「インターリーブ入力」に対応しています。「製品画像+説明テキスト」を1つのリクエストに含め、複合的な意味を持つ単一ベクトルとして返すことができます。
from google import genai
from google.genai import types
client = genai.Client()
with open('product.png', 'rb') as f:
image_bytes = f.read()
result = client.models.embed_content(
model='gemini-embedding-2',
contents=[
"このスニーカーの特徴",
types.Part.from_bytes(data=image_bytes, mime_type='image/png'),
]
)
タスクプレフィックスで検索精度を上げる
非対称検索では、クエリと文書のテキスト長が大きく異なるため、そのままベクトル化すると類似度が下がりやすいという問題があります。Gemini Embedding 2の「タスクプレフィックス」はその差を埋める仕組みです。
クエリ側には task: question answering | query: {内容} 、文書側には title: {タイトル} | text: {内容} のようにプレフィックスを付けてベクトル化します。インデックス時とクエリ時の両方で同じプレフィックス形式を使うことで、検索精度が大幅に改善します。
コード検索には task: code retrieval、検索結果のリランキングには task: search result、テキスト間の類似判定には task: sentence similarity を使い分けます。
次元削減でストレージコストを最適化
デフォルトの出力次元は3072次元です。Matryoshka Representation Learning(MRL)により、output_dimensionality パラメータで次元を削減できます。
result = client.models.embed_content(
model="gemini-embedding-2",
contents="検索クエリ",
config={"output_dimensionality": 768}
)
Googleが推奨するのは3072・1536・768の3段階です。768次元にするとストレージとコストを大幅に削減しつつ、高い精度を維持できます。
実際の導入成果
Harvey(法律リサーチプラットフォーム)は法律特有のベンチマークでRecall@20が3%向上し、引用の精度が改善しています(参考)。
Supermemory(ベクトルデータベース型メモリサービス)は検索Recall@1が40%向上し、インデックス・検索・Q&Aのすべてのパイプラインに展開しています。
Nuuly(UGBNの衣料品レンタル)は倉庫内で撮影した商品写真とカタログを視覚的に照合するツールに活用し、Match@20精度が60%から87%近くに改善、製品特定成功率が74%から90%超に上がりました(参考)。
Google ADKを使ったMultimodal Agentic RAGの実装
https://github.com/Shubhamsaboo/awesome-llm-apps
Gemini Embedding 2のGAに合わせ、Google CloudのShubham Saboo氏がGemini Embedding 2とGoogle ADK(Agent Development Kit)を組み合わせたMultimodal Agentic RAGをオープンソースで公開しました。
テキスト・画像・動画など任意の入力に対して引用付きの回答を返し、ソースごとのベクトルをリアルタイムの3D空間で可視化します。コードはMITライセンスで公開されており、awesome-llm-apps リポジトリからクローンしてすぐに動作確認できます。
Google ADKはマルチエージェント構成に対応したエージェントフレームワークで、組み込みメモリ・セッション管理・A2Aプロトコル対応を持ちます。Gemini Embedding 2のリトリーバーとADKのエージェントループを組み合わせると、「ファイルを横断して事実を照合し、引用付きで答える」パイプラインを比較的少ないコードで実現できます。
料金
テキスト入力は100万トークンあたり$0.20です。Batch APIを使うと通常価格の50%($0.10/100万トークン)になり、大量のドキュメントを事前インデックスするユースケースに向いています。
利用はGemini APIとVertex AI(Gemini Enterprise Agent Platform)の両方から可能です。
他の埋め込みモデルとの違い
OpenAIの text-embedding-3-large はテキストのみの埋め込みモデルです。Gemini Embedding 2のように画像・音声・動画を統一空間に写像する機能はありません。Cohereの embed シリーズもテキストと画像には対応しますが、音声・動画の統合入力には未対応です。
テキスト専用のRAGで十分な場合は text-embedding-3-small がコスト面で有利です。一方、マルチメディアデータを横断する検索・分類・異常検知を構築するなら、複数モデルを並列管理するより Gemini Embedding 2 に一本化するほうがパイプラインをシンプルに保てます。
