gemini-embedding-2 の検索精度が伸びないとき、最初に task_type を疑う
gemini-embedding-2 の検索が惜しい外れ方をするとき、原因は task_type の指定漏れや不一致であることが多いです。ドキュメントとクエリで用途を揃え、再現率を取り戻す実装と検証手順をまとめました。
Managed Agent の実行中に知識ベースが書き換わる問題 — File Search を実行エポックで固定する一貫性設計
Managed Agents の自律実行中に File Search ストアが更新されると、同じ実行の中で古い根拠と新しい根拠が混ざります。MVCCに倣った実行エポックの固定で、エージェント1回分の根拠を一貫させる設計と実装をまとめました。
複数アプリのFAQを1つの File Search ストアに同居させる — customMetadata と chunk 設定で検索を分ける
複数アプリのFAQを1つの File Search ストアにまとめると、metadataFilter が無言で空を返したり、回答がチャンク境界で割れて引用されなかったりします。customMetadata の設計、AIP-160 フィルタ構文の落とし穴、chunkingConfig の実測チューニングを実装ベースでまとめました。
取り込んだのに一度も引かれない資料 — File Search ストアを引用ログで棚卸しする隔離つき剪定設計
File Search ストアに積んだドキュメントの多くは一度も引用されないまま費用と検索精度を蝕みます。grounding metadata から引用ログを取り、一度も引かれない資料を隔離期間つきで安全に剪定する運用設計を、動くコードとともに解説します。
Gemini × Qdrant のハイブリッド検索が再現率を静かに落としていたとき — RRF の重みと疎ベクトルのズレを計測する運用メモ
Gemini の埋め込みと Qdrant のハイブリッド検索を本番で回すと、ダッシュボードは緑のまま再現率だけが静かに落ちます。RRF の重み・疎ベクトルのズレ・ペイロードインデックスの欠落を計測で捕まえ、品質バジェットで守る運用メモです。
File Searchの回答に「何ページの、どの図か」まで添える ― 視覚引用メタデータで出典を検証可能にする
File Search の grounding metadata に media_id と page_numbers が加わり、回答のどの一文がどのページ・どの図に基づくのかを辿れるようになりました。PDFと画像を混ぜた参照データで、検証可能な引用UIを組み立てるまでを実装で整理します。
File Search のストアが本番で静かに陳腐化する — カタログ同期とドリフト検知を実装した運用メモ
File Search に一度カタログを流し込んで終わりにすると、配信を止めたアセットを案内する『古い回答』が本番で返り始めます。ハッシュ差分の増分取り込みと、削除を割り切るブルーグリーン再構築、そして定期ドリフト検知までを実装で整理しました。
Firestore × Gemini Embeddings の RAG が静かに劣化する — 埋め込み世代交代に耐える再埋め込み設計
Firestore のネイティブベクトル検索と Gemini Embeddings で組んだ RAG は、埋め込みモデルの世代交代でベクトル空間がずれ、検索品質が静かに落ちます。ドリフトの検知、無停止の再埋め込み移行、取得コストの抑え方を実装で詰めます。
ヘルプ記事とスクリーンショットを1つの File Search に入れて、画像も引用できる回答を返す
テキストのヘルプ記事と画面スクリーンショットを別々のストアで管理していて、回答に手順画像を添えられない。gemini-embedding-2 のマルチモーダル対応で両者を同じ File Search に入れ、引用元の画像まで返すまでを実装で整理しました。
権限を尊重する RAG — Gemini 検索で『その人が見てよい文書』だけを根拠にする本番設計
社内ナレッジ検索に RAG を入れた途端、本来見えてはいけない下書きや収支メモが回答の根拠に混ざる。権限を尊重したまま Gemini に検索させるための、メタデータフィルタ・二重チェック・監査ログの本番設計を動くコードで解説します。
Gemini 3.5 Flash 移行で組み直した RAG の3層キャッシュ — レスポンス・検索・埋め込みを段階的に節約する
Gemini 2.0 Flash の廃止を機に、RAG のキャッシュ設計を 3.5 Flash 前提で組み直しました。レスポンス・セマンティック・埋め込みの3層それぞれの実装コードと実測ヒット率、API 側 Context Caching との役割分担までを整理します。
Gemini Embedding の次元を 3072 から 768 へ切り詰める — ベクトルDBのコストとレイテンシを下げる Matryoshka 設計
gemini-embedding-001 は 3072 次元の埋め込みを返しますが、Matryoshka 表現のおかげで前方だけを切り出しても精度がほとんど落ちません。次元を 768 へ削ってベクトルDBのストレージとレイテンシを下げる設計を、再正規化の落とし穴と粗密二段検索のコード付きで組み立てます。