生成 Embedding 進行向量化搜尋
傳統資料庫的LIKE搜尋需要文字完全一樣才能搜尋,跟自然語言可以透過相似度或相似的字句搜尋比較不同。使用RAG(Retrieval Augmented Generation)的技術將語意轉為自然語言向量,比較向量就可以比較語意相似度。注意比較不同向量時,需要使用相同的模型,在Asgard的平台內,提供了兩種實現向量搜尋的方式:
- Generate Embedding Processor
- 使用 Asgard 內建知識庫
本章節將透過範例說明如何使用 Generate Embedding Processor
來實現向量搜尋
前置作業
- 可供連線的資料庫
- 在
Settings
裡新增 Embedding Model 設定
Step 1:Listen Message
新增一個Listen Message用以存放用戶輸入的訊息。
Step 2:Generate Embedding 自然語言轉向量
Generate Embedding將用戶輸入的文字轉化為向量嵌入(Embedding)。
- Embedding Model 選擇已經設定好的嵌入/向量模型,或是可以點擊
「Add」
以新增Embedding Model設定。 - Input 選擇Expression並輸入以下範例:
prevMessage
- ResultField 產生的向量嵌入將存入的變數名稱。範例選擇
Literal
類型,並輸入msgEmb
- 儲存設定
備註
prevMessage 為 Asgard 內建函數。