検索の主語が「形式」から「意味」へ
テキストも画像も動画も音声も、同じ座標に置けるなら、検索はもっとシンプルになる。
Googleが一般提供を開始したGemini Embedding 2は、その当たり前を現実にしたネイティブ・マルチモーダル埋め込みだ。
これで、テキストで動画を探す。音声からPDFを引く。画像を起点にFAQを当てる。
そんな横断検索と推論の土台が、正式に本番対応へと踏み出した。
Now, we’re offering the stability and optimizations required to move these multimodal projects into production with the general availability of Gemini Embedding 2 via the Gemini API and Gemini Enterprise Agent Platform. — Google
何が「GA」になったのか
今回の一般提供で重要なのは、本番運用に必要な安定性と最適化が整ったこと。
提供面ではGemini APIとGemini Enterprise Agent Platformで正式対応。Vertex AIのドキュメントも移行に合わせて更新されている。
- 単一の埋め込み空間にテキスト・画像・動画・音声・ドキュメントをマッピング
- MRL(Matryoshka)で3072次元を基準にoutput_dimensionalityで縮約可能
- 主要ベクトルDB(Pinecone、Weaviate、Qdrant、Chroma など)をサポート
Gemini Embedding 2 is trained using Matryoshka Representation Learning (MRL), so you can truncate the default 3072-dimensional vectors down to smaller dimensions using the output_dimensionality parameter. — Google Developers Blog
Gemini Embedding 2 is Google’s embedding generation model that’s ideal for complex retrieval and analytics tasks. — Google Cloud Docs
Gemini Embedding 2のキモを3行で
1. ネイティブ・マルチモーダル:中間変換を挟まず、各モダリティを直接ベクトル化。レイテンシと損失を抑え、検索品質の一貫性を高める。
2. 100+言語での高精度:多言語RAGに強く、日本語の実運用に向く。
クエリ言語とコーパス言語が異なる環境でも効果的に一致をとれる。
3. 次元の柔軟性:粗探索は768次元、上位候補を3072次元で再ランキングといった段階的最適化がしやすい。
Gemini Embedding 2は、テキスト、画像、音声、動画(最大120秒)、PDFなど異なるメディアをまたぐ「ネイティブ・マルチモーダル」に対応する。MRL技術により、3,072次元の高品質なベクトルを生成し、精度と検索速度の最適化を容易にする。 — Impress AI Watch
はじめ方と実装パターン
最短ルート:Gemini APIでテキスト→画像のクロス検索
基本はembed_contentで入力を投げ、返るベクトルをベクトルDBへ格納する。
cross-modalは、クエリ(テキスト)とコーパス(画像群)の埋め込みを同じ空間で比較するだけだ。
- アーキテクチャ:API → Vector DB(ANN) → リランカー(任意)
- 推奨DB:Pinecone、Weaviate、Qdrant、Chroma など
- 次元:まずは1536 or 3072から。ストレージ厳しければ768でPoC
<!-- Python (google-genai) の例 -->
from google import genai
from google.genai import types
client = genai.Client(api_key="<GEMINI_API_KEY>")
# テキストクエリ(タスク指示を付けると精度が安定)
query = types.Content(
role="user",
parts=[types.Part.from_text("Find images of red running shoes with mesh upper")]
)
# 画像コンテンツ(複数同時も可/集約埋め込み)
img = types.Part.from_uri(uri="https://example.com/img1.jpg", mime_type="image/jpeg")
emb_q = client.models.embed_content(
model="gemini-embedding-2",
contents=[query],
task_type="RETRIEVAL_QUERY",
output_dimensionality=1536
)
emb_img = client.models.embed_content(
model="gemini-embedding-2",
contents=[types.Content(role="system", parts=[img])],
task_type="RETRIEVAL_DOCUMENT",
output_dimensionality=1536
)
# あとはcos類似度で検索、上位を再ランキング
タスクタイプの指定で、クエリ用とドキュメント用の最適化が効く。
特にtask instructionを短く付けると、意図のぶれが減る。
You can use embeddings for a wide range of tasks… Specifying the right task type helps optimize the embeddings… For text-only tasks with gemini-embedding-2, we strongly recommend you add the task instruction. — Google AI Docs
移行設計:非互換に向き合う、壊さない手順
v1(gemini-embedding-001)で稼働中なら、空間の非互換は避けて通れない。
段階移行で検索の静かな劣化を防ぎつつ、コストを抑えるのが鍵だ。
- 二重インデックス期間を設け、トラフィックの一部でA/B比較
- Batchや非同期でオフピーク再埋め込み、ストレージは新旧併存
- メタデータ一致(言語、タイプ)でフェイルセーフを付ける
v1とv2の埋め込み空間は非互換(移行時は全件再埋め込み必須)。 — Zenn
コスト最適化は出力次元の縮約とBatch API(利用可能な場合)の併用が定石。
まず768〜1536で粗探索、上位kのみ3072で再ベクトル化→再スコアが効く。
You can store your embeddings in vector databases… truncate the default 3072-dimensional vectors… — Google Developers Blog
ユースケースで見る「効く」場面
エージェント型RAGの強化
複数のPDFと画像を横断し、要点を抽出→回答までをエージェントが自律で回す。
埋め込みがマルチモーダルなら、前処理が減り、結果の首尾一貫性が増す。
ビジュアル検索とレコメンドの刷新
「通気性が良い赤いランニングシューズ」といった曖昧な表現に、画像・動画から正解を返す。
Recall@1の改善事例も共有されている。
Since integrating the model, they’ve achieved a 40% increase in search Recall@1 accuracy… — Google Developers Blog
音声コンテンツの理解
声色や抑揚も含めて直接ベクトル化。
ポッドキャストや社内会議録の意味検索が、テキスト化ベースより素直に機能する。
評価と比較の視点:数字だけに頼らない
MTEBなどの総合スコアは参考になるが、日本語・多言語RAGの実データで比較するのが最短だ。
特にSTS(文類似度)とRAG精度は相関しきらないことがある。
- 自社ドメイン語彙での再現率(Recall@k)と整合性を最優先
- 粗探索→精密再ランキングの二段構成でスコアを底上げ
- コストは次元×件数×更新頻度で概算し、Batchで圧縮
STS(文類似度)の絶対性能は相対的に弱い…(用途とコストの総合判断が重要)。 — Zenn
運用の実務Tips
ベクトルDBはメタデータフィルタとハイブリッド検索が使えるものを選ぶ。
click logsや会話履歴で再学習せずに重みづけできる設計が長持ちする。
- インデックス更新は増分×定期フルの二層構え
- モダリティごとに正解データを少量でも用意し、週次でAB
- 監視はRecall@k、CTR、回答満足度の三本柱
Vertex AI is transitioning to become part of Gemini Enterprise Agent Platform. — Google Cloud Docs
締めくくり:埋め込みを変えると、体験が変わる
埋め込みはRAGや検索体験の「入口」だ。
だからこそ、ネイティブ・マルチモーダルへの移行は、体験全体の底上げに直結する。
まずはPoCで、自社データの横断検索と日本語精度を確かめる。
いけると判断したら、二重運用で壊さず移行し、次元とBatchでコストを抑える。
形式から意味へ。
Gemini Embedding 2のGAは、その転換を本番運用の現実にした。

コメント