本文件說明如何使用 Vertex AI 文字嵌入 API 建立文字嵌入。
文字嵌入是文字的稠密向量表示法。舉例來說,gemini-embedding-001 模型會針對特定文字產生 3072 維向量。這些密集向量嵌入是使用大型語言模型所用的類似深度學習方法建立。
與將字詞對應至數字的稀疏向量不同,密集向量旨在表示文字的語意意義。使用密集向量嵌入的主要優點,就是能夠執行語意搜尋。您可以搜尋與查詢意思相符的文字片段,而非直接搜尋字詞或語法比對結果,即使片段不使用相同的詞彙也沒關係。
嵌入向量會經過正規化,因此您可以使用餘弦相似度、點積或歐氏距離,取得相同的相似度排名。
- 如要進一步瞭解嵌入資料,請參閱嵌入資料 API 總覽。
- 如要瞭解文字嵌入模型,請參閱「文字嵌入」。
- 如要瞭解各嵌入模型支援哪些語言,請參閱「支援的文字語言」。

事前準備
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Vertex AI API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Vertex AI API.
- 為嵌入作業選擇任務類型。
- 如要進一步瞭解頻率限制,請參閱「Vertex AI 生成式 AI 的頻率限制」。
- 如要取得嵌入值的批次預測結果,請參閱「取得文字嵌入值的批次預測結果」
- 如要進一步瞭解多模態嵌入,請參閱「取得多模態嵌入」
- 如要調整嵌入,請參閱「調整文字嵌入」一文
- 如要進一步瞭解
text-embedding-005
和text-multilingual-embedding-002
背後的研究,請參閱研究論文「Gecko:從大型語言模型中提煉出多用途的文字嵌入資料」。
支援的模型
您可以使用下列模型取得文字嵌入:
模型名稱 | 說明 | 輸出尺寸 | 序列長度上限 | 支援的文字語言 |
---|---|---|---|---|
gemini-embedding-001 |
在英文、多語言和程式碼工作中發揮頂尖成效。它統合了先前專門的模型 (例如 text-embedding-005 和 text-multilingual-embedding-002 ),並在各自的領域中獲得更佳效能。詳情請參閱技術報告。 |
最多 3072 | 2048 個符記 | 支援的文字語言 |
text-embedding-005 |
專精於英文和程式碼工作。 | 最多 768 個 | 2048 個符記 | 英文 |
text-multilingual-embedding-002 |
專精於多語言工作。 | 最多 768 個 | 2048 個符記 | 支援的文字語言 |
gemini-embedding-001
是我們的大型模型,旨在提供最高效能,可為您提供優質的嵌入品質。請注意,gemini-embedding-001
支援每個要求一個例項。
取得文字片段的文字嵌入
您可以使用 Vertex AI API 或 Python 適用的 Vertex AI SDK,為文字片段取得文字嵌入資料。
API 上限
每個要求的輸入文字數量上限為 250 個 (非 Gemini 模型),Gemini 嵌入模型則為 1 個。API 的輸入符記上限為 20,000。輸入內容若超過此限制,就會導致 400 錯誤。每個個別輸入文字的符記數上限為 2048 個,超出部分會在未通知的情況下遭到截斷。您也可以將 autoTruncate
設為 false
,停用靜默截斷功能。
詳情請參閱「文字嵌入限制」。
選擇嵌入維度
根據預設,所有模型都會產生完整長度的嵌入向量。對於 gemini-embedding-001
,這個向量有 3072 個維度,其他模型則會產生 768 維度的向量。不過,使用者可以透過 output_dimensionality
參數控制輸出嵌入向量大小。選擇較小的輸出維度可節省儲存空間,並提高後續應用程式的運算效率,同時不會對品質造成太大影響。
以下範例使用 gemini-embedding-001
模型。
Gen AI SDK for Python
安裝
pip install --upgrade google-genai
詳情請參閱 SDK 參考說明文件。
設定環境變數,以便在 Vertex AI 中使用 Gen AI SDK:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
在向量資料庫中新增嵌入
產生嵌入後,您可以將嵌入項目新增至向量資料庫 (例如 Vector Search)。這可提供低延遲的擷取作業,在資料大小增加時尤其重要。
如要進一步瞭解 Vector Search,請參閱「Vector Search 簡介」。