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

![Conceptual illustration of one person seated on a rug, holding a phone and a landscape photo beside a box of personal prints and paper records.](https://bigchange.ai/api/media/file/embeddinggemma-personal-collection-hero-v1.png)
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) — 指定的模型儲存庫、公開模型檔案與授權。
