iT邦幫忙

2025 iThome 鐵人賽

DAY 6
0
AI & Data

RAG × Agent:從知識檢索到智慧應用的30天挑戰系列 第 6

Day 6|只是存資料?——向量資料庫比你想的還厲害

  • 分享至 

  • xImage
  •  

新來的朋友,一樣先建議先回顧先前的文章,才會比較明白整個 Indexing pipeline 的流程以及這章是在哪個環節噢!
文章在這:Day 3|Indexing pipeline:如何為 RAG 建立知識庫

終於來到 Indexing pipeline 最後的環節了!
當我們已經把文字轉成了向量(Embeddings),那這些向量要存到哪裡?要怎麼在海量資料裡快速找出最接近的?
這也是我們今天要談的「向量資料庫(Vector Database)」。

這邊先來解釋一下向量資料庫是甚麼呢?
顧名思義,就是用來存向量的,哈哈哈,聽到這肯定會覺得這不是廢話嗎!!!
當然它不僅僅是儲存向量而已,除了儲存向量外,它比較像是 結合「字典 + 搜尋引擎」的工具,你問它一個詞;你輸入一段話,它能在海量資料中快速找出最相近的段落。

舉個例子來說,你可以問它「英雄聯盟」的相關訊息。
如果是一般的關鍵字搜尋,可能只會找到標題或文字裡面剛好有「英雄聯盟」三個字的文章。
但 向量資料庫 不一樣,它去找「語意最接近」的內容。
所以它不只會找到「英雄聯盟」的介紹,還可能幫你連帶找到「LOL 世界賽」、「電競選手 Faker」、「MOBA 遊戲」這些本質上有語意關聯的資料。

至於他實際是怎麼操作呢?
簡單來說,它會幫你做三件事:
- 存:把 embeddings(文字轉成的座標點)存在資料庫裡。
- 比:當你丟一個問題進來時,它也會把問題轉成向量。
- 找:接著用相似度計算(像是餘弦相似度)來比對,但因為資料通常很多,資料庫底層會用一些近似最近鄰(ANN)演算法加速搜尋,讓你不用真的逐筆比,卻能快速找到最接近的答案。

相信大家基本概念都有了,那最後再來介紹一下向量資料庫的分類吧!


向量資料庫分類

類型 功用 工具
向量索引工具(Vector Indexes) 專注「比對速度」,只負責快速搜尋,缺乏完整資料管理功能 FAISS
專門型向量資料庫(Specialized Vector DBs) 含資料管理、非向量支援、擴充性佳,RAG 最常用 ChromaDB, Pinecone
搜尋平台(Search Platforms) 原本是關鍵字搜尋,加上向量檢索功能 ElasticSearch, OpenSearch
SQL 資料庫向量擴充(SQL DBs with Vector Support) 傳統 SQL DB 增加向量處理功能 PostgreSQL (pgvector), Azure SQL, CloudSQL
NoSQL 資料庫向量擴充(NoSQL DBs) NoSQL 資料庫加入向量查詢 MongoDB
圖形資料庫向量支援(Graph DBs) 圖資料庫加入語意檢索功能 Neo4j

 這邊向量資料庫的分類有參考了相關教材內容,整理過後畫出來的!

向量資料庫其實都有各自的差異,在選擇的時候還是建議考慮一下你的實用情境,以及使用的過程中要考量的要件。
今天的介紹就到先這邊啦~Indexing pipeline 也差不多告一個段落了呢!


上一篇
Day 5|射箭還是量尺?——AI 如何判斷文字的相似度
系列文
RAG × Agent:從知識檢索到智慧應用的30天挑戰6
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言