GEMINI LABEN
PRO35 — 報道が目標日としていた7月17日を過ぎましたが、Gemini 3.5 Proの公式発表もモデルカードも本日時点で確認できていません。予備日として7月24日が挙げられていますNB2LITE — Nano Banana 2 Lite(Gemini 3.1 Flash-Lite Image)が登場しました。約4秒で画像を生成し、1,000枚あたり0.034ドルという水準ですOMNI — Gemini Omni Flashが公開プレビューに入りました。最長10秒の動画を生成でき、価格は出力1秒あたり0.10ドルですEDIT — Omni Flashは会話による編集を軸に設計されています。登場人物の差し替え、ライティングの変更、アングルの調整を自然文で指示でき、元の音声と映像のトラックは保持されますSYNTHID — 新しい2モデルにはSynthIDの電子透かしが組み込まれており、生成物の来歴をGeminiアプリ側から確認できますSHUTDOWN — 旧来の画像生成モデルは非推奨となり、8月17日に停止されます。移行の期限をご確認いただければと思いますPRO35 — 報道が目標日としていた7月17日を過ぎましたが、Gemini 3.5 Proの公式発表もモデルカードも本日時点で確認できていません。予備日として7月24日が挙げられていますNB2LITE — Nano Banana 2 Lite(Gemini 3.1 Flash-Lite Image)が登場しました。約4秒で画像を生成し、1,000枚あたり0.034ドルという水準ですOMNI — Gemini Omni Flashが公開プレビューに入りました。最長10秒の動画を生成でき、価格は出力1秒あたり0.10ドルですEDIT — Omni Flashは会話による編集を軸に設計されています。登場人物の差し替え、ライティングの変更、アングルの調整を自然文で指示でき、元の音声と映像のトラックは保持されますSYNTHID — 新しい2モデルにはSynthIDの電子透かしが組み込まれており、生成物の来歴をGeminiアプリ側から確認できますSHUTDOWN — 旧来の画像生成モデルは非推奨となり、8月17日に停止されます。移行の期限をご確認いただければと思います
記事一覧/開発ツール
開発ツール/2026-06-15上級

Firestore × Gemini Embeddings の RAG が静かに劣化する — 埋め込み世代交代に耐える再埋め込み設計

Firestore のネイティブベクトル検索と Gemini Embeddings で組んだ RAG は、埋め込みモデルの世代交代でベクトル空間がずれ、検索品質が静かに落ちます。ドリフトの検知、無停止の再埋め込み移行、取得コストの抑え方を実装で詰めます。

gemini-api279firestorevector-search5rag21embeddings11reembeddingproduction105

プレミアム記事

検索結果が「なんとなく悪くなった」とき、最初に疑うこと

Firestore のネイティブベクトル検索と Gemini の埋め込みを組み合わせた RAG は、最初の構築こそ驚くほど簡単です。専用のベクトルデータベースを別建てせずに、いつものドキュメントのとなりにベクトルを置いて KNN クエリを投げるだけで、それらしい検索が動いてしまいます。

問題が起きるのはそのあとです。数か月運用していると、ある日を境に「検索結果がなんとなく悪くなった」という曖昧な報告が届きます。エラーは出ていません。レイテンシも正常です。それでも、以前なら一発で出ていた関連ドキュメントが上位に来なくなります。

私自身、個人開発で複数のサイトのヘルプ検索をこの構成で回していて、同じ現象に何度かぶつかりました。原因のほとんどは、埋め込みモデルの世代交代です。2026 年に入ってから Gemini の埋め込みは gemini-embedding-001 が GA となり、File Search 向けにマルチモーダル対応の系列も増えました。モデルが変わると、同じ文章を埋め込んでも出てくるベクトルが別物になります。保存済みのドキュメントベクトルと、新しいモデルで作ったクエリベクトルが別の空間に住んでいれば、距離計算は意味を失います。

この「静かな劣化」は、エラーが出ないぶん本番運用で見逃されやすい障害です。ここでは、ドリフトをどう検知し、サービスを止めずにどう作り直し、取得コストをどう抑えるかを、実装に落として整理します。

なぜベクトル空間はずれるのか — バージョンを持たない設計の罠

ベクトル検索の前提は、ドキュメント側とクエリ側が「同じ埋め込みモデル・同じ次元・同じ正規化」で表現されていることです。この前提が崩れる経路は、現場では次の3つに集約されます。

ひとつ目は、埋め込みモデルそのものの差し替えです。text-embedding-004 世代で作ったベクトルと gemini-embedding-001 で作ったベクトルは、次元数も内部表現も異なります。コード上のモデル名を一行書き換えただけで、新規ドキュメントだけが新空間、過去ドキュメントは旧空間という分断が生まれます。

ふたつ目は、出力次元(output dimensionality)の変更です。gemini-embedding-001 は既定で 3072 次元ですが、コストとストレージを抑えるために 768 や 1536 に切り詰める運用がよく行われます。たとえば 3072 次元を半分の 1536 に切り詰めれば、ベクトルのストレージは約 50% 削減できます。ただし途中で次元を変えると、Firestore のベクトルインデックスは固定次元を要求するため、新旧が混ざった瞬間にクエリが破綻します。

三つ目は、タスクタイプの取り違えです。Gemini の埋め込みは RETRIEVAL_DOCUMENTRETRIEVAL_QUERY を区別します。保存時に RETRIEVAL_DOCUMENT、検索時に RETRIEVAL_QUERY を指定して初めて、非対称な検索向けに最適化された空間が使えます。ここを揃え忘れると、エラーは出ないのに精度だけが落ちます。

共通する根本原因は、ベクトルに「どのモデル・どの次元・どのタスクで作ったか」というメタ情報を持たせていないことです。バージョンを持たないベクトルは、世代交代が来た瞬間に区別がつかなくなります。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
埋め込みモデルの世代交代でベクトル空間がずれ、検索品質が静かに劣化する仕組みと、本番で気づくための検知クエリ
サービスを止めずに全ドキュメントを再埋め込みするブルーグリーン方式のインデックス移行手順
RETRIEVAL_DOCUMENT と RETRIEVAL_QUERY を使い分け、距離しきい値と再ランクで取得コストを抑える実装
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Gemini Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

開発ツール2026-04-03
Next.js 15 App Router × Gemini API フルスタック本番構築
Next.js 15 App RouterとGemini APIを組み合わせたフルスタックAIアプリを本番レベルで構築する完全ガイド。Server Actions、Streaming、RAG、認証・レート制限まで徹底解説します。
API / SDK2026-04-28
Gemini Embeddings × リランカーで本番RAGの精度を底上げする — Vertex AI Ranking と LLM-as-judge の使い分け
Embeddings だけでは取りこぼす「上位3件は当たり前に合うのに5件目以降に正解が埋もれる」問題を、Vertex AI Ranking API と Gemini を使ったリランカーで解決する本番アーキテクチャを実装コード付きで解説します。
API / SDK2026-03-30
Gemini APIマルチモーダルRAGパイプライン構築ガイド — 画像・PDF・動画を横断検索するAIシステムの設計と実装
Gemini 2.5 ProのマルチモーダルAPIを活用して、テキスト・画像・PDF・動画を統合的に検索・分析できるRAGパイプラインの設計から本番デプロイまでを体系的に解説します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →