HI!大家好,我是 Shammi 😊
此次挑戰迎來了第一個週末了!大家週末愉快!
超怕週末太開心,一時忘記要發文了
今天就繼續吧!
目前進度是,已經準備好 AI 對話機器人的知識庫(SDGs的pdf內容),但…這些文字對電腦來說都還只是無意義的符號哦!
為了讓 AI 能夠「理解」這些文字的含義,並在海量資訊中進行比對,我需要將它們轉換成一串串數字向量。這個過程就是Embedding(文字轉向量),而執行這個任務的工具,就是 Embedding 模型。
今天的篇章就是先扮演「產品經理」的角色,對幾個主流的 Embedding 模型進行評估,最終選出最適合此專案運用的Embedding 模型囉!
Embedding 模型的好壞,直接決定了機器人回答問題的準確度。想像一下,如果模型不夠精準,當使用者問「如何應對氣候變遷」時,機器人可能找到的是「氣候變遷的歷史」,而不是「具體的應對措施」。這種「語義理解」上的偏差,會嚴重影響 RAG 架構的成功。
因此,在開始建構向量資料庫之前,必須謹慎選擇大腦核心。
為了做出最適合專案的選擇,我將目前市場上主流的 Embedding 模型進行了全面的整理與分析,其結果如下表所示:
主流 Embedding 模型綜合比較表
模型名稱 | 開發源 | 模型性質 | 使用成本 | 取得方式 | 整合便利性 | 效能表現 | 主要優勢 | 實作考量 |
---|---|---|---|---|---|---|---|---|
text-embedding-004 | 閉源 (API 服務) | 通常免費(用量小,需綁定GCP) | 呼叫 Google AI API | 高(與 Colab、Google 生態系整合度高) | 優異(新版品質高) | - 免費資源- 生態系整合度高 | 需設定 API 金鑰 | |
text-embedding-3-large | OpenAI | 閉源 (API 服務) | 按量計費(成本較低) | 呼叫 OpenAI API | 高(社群支援廣泛,多數框架原生支援) | 卓越(業界頂尖) | - 穩定可靠- 易於上手- 社群支援完善 | 需設定 API 金鑰 |
text-embedding-3-small | OpenAI | 閉源 (API 服務) | 按量計費(成本較低) | 呼叫 OpenAI API | 高(社群支援廣泛,多數框架原生支援) | 卓越(業界頂尖) | - 穩定可靠- 易於上手- 社群支援完善 | 需設定 API 金鑰 |
text-embedding-ada-002 | OpenAI | 閉源 (API 服務) | 按量計費(需訂閱方案) | 呼叫 OpenAI API | 中等(需學習其 API) | 卓越(特別專精於語義理解) | - 強大的語義理解能力 | 需設定 API 金鑰 |
embed-english-v3.0 | Cohere | 閉源 (API 服務) | 按量計費(需訂閱方案) | 呼叫 Cohere API | 中等(需學習其 API) | 卓越(在許多評測中表現突出) | - 多國語言支援- 強勁的語義表現 | 需設定 API 金鑰 |
embed-multilingual-v3.0 | Cohere | 閉源 (API 服務) | 按量計費(需訂閱方案) | 呼叫 Cohere API | 中等(需學習其 API) | 卓越(在許多評測中表現突出) | - 多國語言支援- 強勁的語義表現 | 需設定 API 金鑰 |
voyage-large-2 | Voyage AI | 閉源 (API 服務) | 按量計費(需訂閱方案) | 呼叫 Voyage AI API | 中等(需學習其 API) | 卓越(在許多評測中表現突出) | - 多國語言支援- 強勁的語義表現 | 需設定 API 金鑰 |
all-MiniLM-L6-v2 | Hugging Face (開源) | 開源 (可本地運行) | 完全免費(只需硬體資源) | 下載模型至本地端 | 中等(需自行安裝套件與環境) | 良好(小模型中的佼佼者) | - 零成本- 適合本地運行- 高度隱私 | 無需金鑰,但需處理本地環境與模型下載 |
bge-large-zh-v1.5 | Hugging Face (開源) | 開源 (可本地運行) | 完全免費(只需硬體資源) | 下載模型至本地端 | 中等(需自行安裝套件與環境) | 良好(小模型中的佼佼者) | - 零成本- 適合本地運行- 高度隱私 | 無需金鑰,但需處理本地環境與模型下載 |
E5-large-v2 | Hugging Face (開源) | 開源 (可本地運行) | 完全免費(只需硬體資源) | 下載模型至本地端 | 中等(需自行安裝套件與環境) | 良好(小模型中的佼佼者) | - 零成本- 適合本地運行- 高度隱私 | 無需金鑰,但需處理本地環境與模型下載 |
最後,我權衡了以下幾個關鍵因素:
👉 效能:模型的精準度是否足以應付我的 SDGs 知識庫,確保我的機器人回答正確?
👉 成本:這是個人專案,是否能最大化利用免費資源,避免不必要的開銷?
👉 便利性:模型的 API 整合是否簡單,能讓我在 Colab 環境中順暢開發?
綜合考量後,我選擇了 Google 的 text-embedding-004
模型。
這樣做的原因有幾個:
1️⃣ 免費資源的延續:此專案從一開始就建立在 Colab 這個 Google 免費平台上。持續使用 Google 的 Embedding 模型,可以最大化地利用這個免費生態系,符合我的個人專案預算考量。
2️⃣ 整合的便利性:使用 google-generativeai
套件,我可以很輕鬆地在同一個程式碼中呼叫 Gemini LLM 和 Embedding 模型,讓開發流程更順暢。
3️⃣ 足夠的效能:儘管其他模型在某些評測上表現更佳,但對於SDGs 推廣專案而言,Google 模型的效能已經綽綽有餘,足以應付我的知識庫檢索需求。
第六天也是決定模型的關鍵因子,因為這也會影響後續對話生成的精準度。今天完成了 Embedding 模型的分析與決策,並為此次的專案選定了最重要的「大腦核心🧠」。確定核心之後,下個步驟就可以正式開始打造 AI 機器人的記憶中樞:向量資料庫,讓後續的開發過程更順暢不卡關!