Vertex AI 嵌入模型可為各種工作類型 (例如文件擷取、問答和事實驗證) 產生最佳化嵌入項目。工作類型是標籤,可根據您的預期用途,最佳化模型產生的嵌入資料。本文將說明如何為嵌入項目選擇最佳任務類型。
支援的模型
下列模型支援的工作類型:
text-embedding-005
text-multilingual-embedding-002
gemini-embedding-001
工作類型的優點
任務類型可改善嵌入模型產生的嵌入資料品質。

舉例來說,建構檢索增強生成 (RAG) 系統時,常見的設計方式是使用文字嵌入和 向量搜尋 執行相似度搜尋。在某些情況下,這可能會導致搜尋品質下降,因為問題和答案在語意上並不相似。舉例來說,「為什麼天空是藍色的?」這類問題及其答案「陽光散射造成天空呈現藍色」,這兩者在陳述上有截然不同的意義,因此 RAG 系統不會自動辨識兩者之間的關係,如圖 1 所示。如果沒有任務類型,RAG 開發人員就需要訓練模型來學習查詢和答案之間的關係,這需要先進的數據科學技能和經驗,或是使用以 LLM 為基礎的查詢擴充功能或HyDE,但這可能會導致延遲和成本增加。

您可以使用工作類型為特定工作產生最佳化嵌入資料,省去自行開發工作專屬嵌入資料所需的時間和成本。針對查詢「為什麼天空是藍色的?」和其答案「陽光散射造成藍色」所產生的嵌入資料,會位於代表兩者關係的共用嵌入空間中,如圖 2 所示。在這個 RAG 範例中,經過最佳化的嵌入資料可改善相似度搜尋。
除了查詢和答案用途之外,工作類型也提供最佳化嵌入空間,可用於分類、叢集和事實驗證等工作。
支援的工作類型
使用工作類型的嵌入模型支援下列工作類型:
工作類型 | 說明 |
---|---|
CLASSIFICATION |
用於產生經過最佳化的嵌入資料,以便根據預先設定的標籤分類文字 |
CLUSTERING |
用於產生經過最佳化的嵌入資料,以便根據相似性將文字分組 |
RETRIEVAL_DOCUMENT 、RETRIEVAL_QUERY 、QUESTION_ANSWERING 和 FACT_VERIFICATION |
用於產生最佳化文件搜尋或資訊擷取的嵌入 |
CODE_RETRIEVAL_QUERY |
用於根據自然語言查詢語法擷取程式碼區塊,例如排序陣列或反轉鏈結清單。系統會使用 RETRIEVAL_DOCUMENT 計算程式碼區塊的嵌入內容。 |
SEMANTIC_SIMILARITY |
用於產生經過最佳化處理的嵌入值,以便評估文字相似度。這項功能不適用於擷取用途。 |
最佳嵌入工作任務類型取決於您對嵌入資料的用途。選取工作類型前,請先決定要用於哪些嵌入用途。
決定要用於哪些嵌入用途
嵌入功能的用途通常可歸類為四種:評估文字相似度、分類文字、分群文字或從文字中擷取資訊。如果您的用途不屬於上述任一類別,請預設使用 RETRIEVAL_QUERY
工作類型。
工作指令格式分為 2 種:非對稱格式和對稱格式。您必須根據用途使用正確的模式。
擷取用途 (非對稱格式) |
查詢工作類型 | 文件工作類型 |
---|---|---|
搜尋查詢 | RETRIEVAL_QUERY | RETRIEVAL_DOCUMENT |
問題回答 | QUESTION_ANSWERING | |
事實查核 | FACT_VERIFICATION | |
取得代碼 | CODE_RETRIEVAL_QUERY |
單一輸入用途 (對稱格式) |
輸入工作類型 |
---|---|
分類 | 分類 |
分群 | 分群 |
語意相似度 (請勿用於擷取用途; 適用於 STS) |
SEMANTIC_SIMILARITY |
分類文字
如果您想使用嵌入資料,根據預先設定的標籤分類文字,請使用 CLASSIFICATION
工作類型。這類工作類型會在經過最佳化分類的嵌入空間中產生嵌入資料。
舉例來說,假設您想為社群媒體貼文產生嵌入資料,然後將其用於將情緒分類為正面、負面或中立。如果「I don't like traveling on airplanes」這則社群媒體貼文的嵌入資料經過分類,情緒就會被歸類為負面。
叢集文字
如果您想使用嵌入資料,根據相似性將文字分組,請使用 CLUSTERING
工作類型。此工作類型會產生經過最佳化的嵌入資料,以便根據相似性進行分組。
舉例來說,假設您想為新聞文章產生嵌入資料,以便向使用者顯示與先前閱讀的文章相關的主題文章。產生並分群嵌入資料後,您可以向經常閱讀體育相關內容的使用者,建議其他體育相關文章。
分群的其他用途包括:
- 客戶區隔:將具有相似個人資料或活動所產生嵌入資料的客戶分組,以便進行指定行銷和個人化體驗。
- 產品區隔:根據產品名稱和說明、產品圖片或顧客評論,將產品嵌入資料分群,有助於企業進行產品區隔分析。
- 市場研究:將消費者問卷調查回覆或社群媒體資料嵌入叢集,可揭露消費者意見、偏好和行為的隱藏模式和趨勢,有助於進行市場研究,並提供產品開發策略的參考依據。
- 醫療照護:從醫療資料中擷取病患嵌入資料並進行分群,有助於識別有類似病症或治療反應的群組,進而提供更個人化的醫療照護計畫和指定療法。
- 顧客意見回饋趨勢:將來自不同管道 (問卷調查、社群媒體、支援單) 的顧客意見回饋分組,有助於找出常見的痛點、功能要求和產品改善領域。
從文字中擷取資訊
如果您想使用嵌入資料來進行文件搜尋或資訊擷取,以及在問答用途 (例如搜尋、聊天機器人或 RAG) 中使用,如前文所述,您需要執行兩個嵌入資料工作,且使用不同的工作類型:
- 使用
RETRIEVAL_DOCUMENT
工作類型,為文件 (也稱為字元集) 建立最佳化嵌入資料。 - 請根據查詢的性質,使用下列任務類型之一為查詢建立最佳化嵌入資料:
RETRIEVAL_QUERY
:用於查詢的預設工作類型,例如「溫哥華頓最佳餐廳」、「綠色蔬菜」或「最佳餅乾食譜為何?」。QUESTION_ANSWERING
:如果所有查詢的格式都是正確的問句,例如「為什麼天空是藍色的?」或「如何綁鞋帶?」,請使用此值。FACT_VERIFICATION
:如果您想從語料庫中擷取可證明或反駁某項陳述的文件,請使用此方法。舉例來說,如果使用「apples grow underground」(蘋果會在地下生長) 做為查詢,可能會找出關於蘋果的文章,但這篇文章最終會駁斥該陳述。
請考慮下列實際情境,其中擷取查詢相當實用:
- 如果是電子商務平台,您可以使用嵌入資料,讓使用者同時使用文字查詢和圖片搜尋產品,提供更直覺且引人入勝的購物體驗。
- 在教育平台方面,您想建立問答系統,以便根據課本內容或教育資源回答學生的問題,提供個人化學習體驗,並協助學生理解複雜的概念。
取得代碼
text-embedding-005
支援新的任務類型 CODE_RETRIEVAL_QUERY
,可用於透過純文字查詢擷取相關程式碼區塊。如要使用這項功能,請使用 RETRIEVAL_DOCUMENT
工作類型嵌入程式碼區塊,並使用 CODE_RETRIEVAL_QUERY
嵌入文字查詢。
如要探索所有工作類型,請參閱模型參考資料。
範例如下:
REST
PROJECT_ID=PROJECT_ID
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/text-embedding-005:predict -d \
$'{
"instances": [
{
"task_type": "CODE_RETRIEVAL_QUERY",
"content": "Function to add two numbers"
}
],
}'
評估文字相似度
如果您想使用嵌入來評估文字相似度,請使用 SEMANTIC_SIMILARITY
任務類型。此工作類型會產生經過最佳化的嵌入資料,以便產生相似度分數。
舉例來說,假設您想產生嵌入項目,用於比較下列文字的相似程度:
- 貓咪正在睡覺
- 貓科動物正在午睡
當使用嵌入值建立相似度分數時,由於兩個文字的意思幾乎相同,因此相似度分數很高。
請考量下列實際情境,評估輸入相似度的實用性:
- 在推薦系統中,您需要找出與使用者偏好項目語意相似的項目 (例如產品、文章、電影),提供個人化推薦內容並提升使用者滿意度。
Python 適用的 Vertex AI SDK
如要瞭解如何安裝或更新 Python 適用的 Vertex AI SDK,請參閱「安裝 Python 適用的 Vertex AI SDK」。 詳情請參閱 Vertex AI SDK for Python API 參考說明文件。
使用這些模型時,請注意下列限制:
- 請勿在重要任務或實際工作環境系統中使用這些預覽模型。
- 這些型號僅適用於
us-central1
。 - 不支援批次預測。
- 不支援自訂。
後續步驟
- 瞭解如何取得文字嵌入。