Skip to main content

Generate Embedding

Generate Embedding 是用於將文字內容轉換為向量表示的 processor。

基本用法​

執行 Generate Embedding 時,會使用指定的 Embedding Model 將輸入文字轉換為數值向量,這些向量可用於語意搜尋、相似度計算、文件分類等需要向量化處理的場景。生成的向量會以浮點數陣列形式儲存到指定變數中供後續 processor 使用。

配置參數​

Name​

顯示在畫布上的名稱,用於在工作流程中識別此 processor。

Description​

用於補充此 processor 的用途,提升工作流程的可讀性。

Properties​

Embedding Model(必填)​

選擇要使用的 Embedding Model 資源名稱。需要先建立 Embedding Model 資源,支援各種預訓練的 Embedding 模型,如 OpenAI text-embedding 系列等。

Input(必填)​

要轉換為向量的輸入內容。支援 Literal、Expression、Template 等設定類型,詳細說明請參考:Expression 介紹 - 取值方式。

Result Field(必填)​

向量化結果要儲存的變數名稱,查詢結果(浮點數陣列)會儲存到此變數名稱對應的 context payload 欄位中。

連接關係​

Success​

當成功生成文字向量時,工作流程會從此連接點繼續執行。向量化結果會以浮點數陣列形式儲存到 Result Field 指定的變數名稱中,該變數可供後續 processor 使用。

Failure​

當向量化過程發生錯誤時,工作流程會從此連接點繼續執行,並產生 prevError 變數儲存錯誤資訊。

使用範例​

文字向量化​


將使用者輸入的文字轉換為向量表示。Input 使用 Expression prevMessage 取得使用者的文字內容,然後使用 Embedding Model 進行向量化處理。

知識庫預處理​


為知識庫文件生成向量表示,用於後續的語意搜尋。從外部 API 取得文件內容後,使用 Generate Embedding 轉換為向量,再透過 SQL processor 將向量儲存到向量資料庫中。

相似度計算準備​


為相似度計算準備向量表示。Update Context 設定要比較的文字內容,Generate Embedding 將文字轉換為向量,然後使用 Execute Script 計算與其他向量的相似度。

動態內容向量化​


對 AI 生成的內容進行向量化處理。LLM Completion 產生文字內容後,Generate Embedding 將內容轉換為向量表示,然後透過 Router 檢查向量品質或進行後續處理。

注意事項​

  1. 確保選擇的 Embedding Model 支援輸入文字的語言類型。

  2. 不同的 Embedding Model 會產生不同維度的向量,確保後續處理邏輯相容。

  3. 長文字可能需要分段處理,注意模型的輸入長度限制。

  4. 建議連接 Failure 分支,處理模型呼叫或向量化失敗的情況。

  5. 生成的向量通常用於相似度計算,需要與相同模型生成的向量進行比較才有意義。

  6. Embedding Model 呼叫會產生費用,合理控制使用頻率。