Markdown 版本
AI-translated from English; not yet reviewed by a fluent editor.
# EmbeddingGemma 2:文字與媒體的本機搜尋原型
> Google 的 EmbeddingGemma 2 將文字、圖片、影片與音訊嵌入向量整合到單一本機檢索模型中。本指南依據文件整理設定與評估時的選擇。
By BIG CHANGE Editorial
Published: 2026-10-06T20:48:02.995Z
Updated: 2026-10-06T20:48:02.995Z
Canonical: https://bigchange.ai/blog/embeddinggemma-2-local-multimodal-search-guide

A person considers a small personal collection of photos and records beside a phone. Conceptual AI-generated illustration by BIG CHANGE; it does not show an EmbeddingGemma 2 interface or tested search result.
Google 於 2026 年 10 月 6 日發布 EmbeddingGemma 2,並以 Apache 2.0 授權提供可下載權重。此模型會將文字、程式碼、圖片、影片與音訊轉成向量,並在同一個 768 維空間中比較。對擁有本機資料集的開發者而言,實際問題是要載入哪些編碼器、如何表示查詢與檔案,以及結果是否適用於自己的資料集。本指南依循 Google 公開的說明與模型卡;BIG CHANGE 並未執行此模型或測量檢索品質。
## 重大變化
- **改變之處:**先前的 EmbeddingGemma 僅處理文字。第二版加入視覺與音訊編碼器,讓文字查詢能在共用向量空間中與支援的媒體比較,無須先產生圖說或逐字稿。Google 已發布權重;[Android 上的 ML Kit 服務預計於未來幾週推出](https://developers.googleblog.com/google-ai-edge-with-embeddinggemma-2/)。
- **重要原因:**開發者可載入本機資料集所需的編碼器,並為支援的檔案類型建立單一檢索索引。[Google 的 AI Edge Gallery](https://developers.googleblog.com/google-ai-edge-with-embeddinggemma-2/)展示了以 SQLite 儲存本機媒體向量並按餘弦相似度排序。應用程式仍須處理檔案匯入、向量儲存、結果呈現,以及辨識誤導性匹配的檢查。
- **觀察重點:**眼前的決策是:在裝置的記憶體與延遲預算內,代表性檔案能否獲得良好排序。稍後推出的 Android 服務可能改變整合方式;公告時程並不代表服務目前已可用。
## 載入模型前先選定輸入
請參閱[開發者指南](https://developers.googleblog.com/en/embeddinggemma-2-the-developer-guide/):它記載 Sentence Transformers 6.1.0 或更新版本,以及適用於所有支援媒體的安裝命令:
```bash
pip install -U sentence-transformers[image,audio,video] transformers
```
確切的檢查點是 `google/embeddinggemma-2`. Sentence Transformers 預設載入會包含所有編碼器。若資料集只有文字與程式碼,指南建議載入時排除視覺與音訊:
```python
from sentence_transformers import SentenceTransformer
model = SentenceTransformer(
"google/embeddinggemma-2",
config_kwargs={"vision_config": None, "audio_config": None},
)
```
保留視覺、排除音訊需要 `config_kwargs={"audio_config": None}`;保留音訊、排除視覺則需要 `config_kwargs={"vision_config": None}`。這些選項會改變載入的權重,但產生的向量仍位於模型的共用空間。依指南所述,純文字查詢因此可與使用含視覺設定編碼的圖片比較。Google 表示此模型適合消費型裝置,但公開的 Python 範例只是函式庫快速入門,並未保證讀者裝置的記憶體用量或延遲。
## 以不同方式編碼查詢與資料集項目
文字檢索方面,[模型卡](https://ai.google.dev/gemma/docs/embeddinggemma/model_card_2)為查詢與語料庫項目指定不同的任務指令。Sentence Transformers 透過 `prompt_name` 提供這些指令:
```python
query_vector = model.encode("northern lights", prompt_name="SearchQuery")
document_vector = model.encode(
"Charged particles from the sun cause the northern lights.",
prompt_name="Document",
)
score = model.similarity(query_vector, document_vector)
```
這段文件範例會產生向量與相似度分數;它不是我們環境中觀察到的結果。`Document`會插入 `title: none`。若項目有實際標題,Google 指示開發者明確將其格式化為 `title: {title} | text: {content}`。程式碼搜尋使用 `CodeRetrieval` 查詢指令,並搭配索引程式碼的標題或檔名。分類、分群與句子相似度各自使用對稱指令。模型卡指出,省略文字指令仍能執行,但精確度會降低。
先前的 `model`沒有視覺或音訊編碼器。編碼圖片前,請從同一檢查點載入 [指南中的文字與視覺設定](https://developers.googleblog.com/en/embeddinggemma-2-the-developer-guide/),再用該模型處理媒體與查詢。這是依文件整理的步驟;我們尚未執行:
```python
media_model = SentenceTransformer(
"google/embeddinggemma-2",
config_kwargs={"audio_config": None},
)
image_vector = media_model.encode({"image": "photo.jpg"})
query_vector = media_model.encode("a photo query", prompt_name="SearchQuery")
score = media_model.similarity(query_vector, image_vector)
```
處理音訊時,重新載入並省略 `audio_config: None` 以啟用音訊編碼器;預設完整載入會包含視覺與音訊。Google 指南使用類似 `{"audio": "recording.wav"}` 的字典傳入音訊,不加文字任務前綴。也可在文字中放入 `<|image|>`, `<|video|>` 或 `<|audio|>` 標記,並在字典中提供相符檔案,將文字與媒體合併為一個輸入。該呼叫會為合併輸入產生一個向量。模型卡指定音訊為 16 kHz 單聲道,且影片預設每秒取樣一格。圖片、影片影格、音訊與文字共用 8,192 個 token 的上下文額度,因此長片段或混合項目需要規劃輸入,不能假設所有檔案都放得下。
## 選擇向量大小,再檢查取捨
原生輸出為 768 維。Google 模型卡支援將向量截短為 512、256 或 128 維。指南記載 `truncate_dim=256` 搭配 `normalize_embeddings=True`,在 `model.encode()` 中使用。查詢與索引項目的向量必須維度相同;截短向量在進行餘弦比較前需要正規化。模型卡指出,128 維造成的多模態品質損失明顯大於 256 維,並建議主要將 128 維用於文字工作負載。這些數字來自 Google 的全精度基準測試,並不代表特定資料集的召回率。
數值精度也是設定之一。模型卡建議在硬體支援時使用 `bfloat16`,其他情況(包括多數 CPU)使用 `float32`。它警告 `float16` 可能產生 NaN 或讓嵌入品質在不易察覺的情況下下降。選擇性載入參數所描述的是模型元件;實際裝置記憶體與搜尋速度則取決於執行路徑、精度、索引及輸入大小。
## 使用結果前要評估什麼
原型可先為一小批獲准樣本建立索引,保留具代表性的查詢,再檢查正確項目是否出現在前列。只有資料集中確實有相關媒體時,才加入文字對文字、文字對圖片或文字對音訊測試。在相同查詢上比較 768 與 256 維,檢查相關語言與文件類型的失敗情況,並在預定裝置上測量記憶體、索引時間及查詢延遲。這些是提供給讀者的評估步驟;BIG CHANGE 並未執行這些測試。
模型卡的 [公開結果](https://ai.google.dev/gemma/docs/embeddinggemma/model_card_2) 顯示 EmbeddingGemma 2 在 MTEB code v1 的分數為 78.68,先前版本為 68.76;multilingual MTEB v2 則為 61.36 與 61.15。模型卡也提供圖片、影片與音訊結果,但這些模態沒有版本 1 的比較對象。所有引用的基準結果都使用全精度檢查點。它們反映 Google 的評估條件,不能代表本機檔案庫的準確度。模型卡提醒,品質會因語言和任務而異,檢索應用也需要自行進行篩選與公平性檢查。
權重採 Apache 2.0 授權發布,指南連結至其 [Hugging Face 儲存庫](https://huggingface.co/google/embeddinggemma-2)。Google 的資料提供本機執行方式,但沒有通用的部署價格:裝置購置、運算、儲存與工程都是應用程式成本。對讀者而言,下一步是確認模型能否在裝置預算內,為代表性檔案排出正確項目。
## 來源與延伸閱讀
- [Google AI Edge 公告](https://developers.googleblog.com/google-ai-edge-with-embeddinggemma-2/),2026 年 10 月 6 日:發布階段、AI Edge Gallery 的本機媒體搜尋實作,以及 ML Kit 公告時程。本文中的裝置測量數據來自 Google。
- [EmbeddingGemma 2 開發者指南](https://developers.googleblog.com/en/embeddinggemma-2-the-developer-guide/),2026 年 10 月 6 日:函式庫版本、載入選項、編碼範例與向量截短說明。
- [EmbeddingGemma 2 模型卡](https://ai.google.dev/gemma/docs/embeddinggemma/model_card_2):模型架構、輸入限制、任務提示、精度警告、基準測試表與限制。結果由 Google 提供。
- [Google 模型儲存庫](https://huggingface.co/google/embeddinggemma-2):指定的檢查點與公開模型檔案。儲存庫可用不代表應用程式效能已獲驗證。
## Sources
- [以 EmbeddingGemma 2 將多模態語意搜尋帶到邊緣裝置](https://developers.googleblog.com/google-ai-edge-with-embeddinggemma-2/) — 發布階段、Google AI Edge Gallery 實作與即將推出的 ML Kit 存取;裝置數據為供應商測量。
- [EmbeddingGemma 2:開發者指南](https://developers.googleblog.com/en/embeddinggemma-2-the-developer-guide/) — Sentence Transformers 6.1.0 以上版本、載入設定、任務與媒體編碼範例,以及向量截短。
- [EmbeddingGemma 2 模型卡](https://ai.google.dev/gemma/docs/embeddinggemma/model_card_2) — 架構、輸入限制、提示、精度、Google 公布的基準分數、風險與限制。
- [google/embeddinggemma-2 檢查點](https://huggingface.co/google/embeddinggemma-2) — 指定的模型儲存庫、公開模型檔案與授權。
BIG CHANGE 電子報
掌握全貌,按照自己的步調。
關於人工智慧和機器人技術的近期報導、值得關注的轉變,以及可運用的實用想法。選擇每日快訊、每週摘要或每月觀點。
下次預定寄送時間(UTC): . 確認訂閱後,您將在下一個預定寄送時間收到第一期電子報。