iT邦幫忙

2023 iThome 鐵人賽

DAY 12
0
AI & Data

2023 AI大型語言模型之旅 - 從0開始學習建構AI專案系列 第 12

生成式A.I.(AIGC)從0開始 - Vector Database 向量資料庫介紹

  • 分享至 

  • xImage
  •  

昨天我們已經把文字轉成向量了
這邊再來介紹一下向量還有專門存向量的向量資料庫
向量資料庫這一年因為LLMs的關係飛速成長,
目前還在戰國時代,沒有哪個特別突出
但不建議用太新的,雖然很新很酷但範例會少很多
或許再過一段時間就會跟sql一樣固定幾個知名的

處理大量資料變得非常重要,尤其是在需要使用大型語言模型(Large Language Models)、生成式AI或語義搜尋(semantic search)、相似搜尋的程式中。其中因為有超過80%的資料是非結構化的

結構化資料與非結構化資料介紹

結構化資料是指採用標準化格式、具有明確定義的結構、符合資料模型、遵循長久規範、容易被人類和程式存取的資料

其他則是非結構化資料常見的如下列所示

非結構化資料

  • 圖片
  • 影片
  • 社群媒體貼文、文章、筆記
  • 語音檔

結構化資料

  • Excel 檔案
  • SQL 資料庫
  • 銷售點資料
  • Web 表單結果

為什麼需要用向量資料庫

向量資料庫是用來快速找到相似項目的工具。它能夠將物件轉換為數字向量,並根據向量的相似度比較找到最相似的項目。這在圖像搜尋、推薦系統和分類任務中非常有用。它能夠讓我們高效處理大量資料並找到相似的項目。
https://ithelp.ithome.com.tw/upload/images/20230927/20120704qXHjiGjmz6.png

不同的向量資料庫差在哪

  1. 資料結構:不同的向量資料庫使用不同的資料結構來存儲向量和支援相似度比較。
  2. 相似度計算:不同的向量資料庫可能使用不同的相似度計算方法。
  3. 擴展性和效能:一些向量資料庫可能更適合處理大規模資料集或高併發查詢,而其他資料庫可能在小型資料集上更有效率。

索引(indexes)介紹

  1. 索引的作用:我們可以把索引看作是一本書的目錄。如果你想找到書裡的某個特定主題,你可以直接查閱目錄,而不用翻遍整本書。同樣地,索引在資料庫中也起到類似的作用,它能幫助我們更快地找到我們想要的資料。
  2. 索引能做什麼:在向量資料庫中,索引可以幫助我們快速找到與某個特定向量(就像一串數字)最相似的向量。如果沒有索引,我們可能需要一個個地檢查資料庫中的所有向量,這會耗費很多時間。有了索引,我們就可以更快地找到我們想要的資料。

實際使用

安裝超級方便,跟傳統sql不一樣
隨裝及用,安裝過程就跟平常安裝套件一樣
裝完也不用再設定什麼可以直接做使用

新增資料、查詢資料進去也超級簡單,沒什麼查詢語法

我們的機器人實作流程

資料 -> embedding -> 向量存進向量資料庫 -> 需要使用時做向量搜尋

有更多疑問歡迎留言或來群組跟大家一起討論 : https://discord.gg/sFDuct738y

參考:
https://www.youtube.com/watch?v=dN0lsF2cvm4
https://www.pinecone.io/learn/vector-database/
https://www.tibco.com/zh-hant/reference-center/what-is-structured-data


上一篇
生成式A.I.(AIGC)從0開始 - Embedding 介紹
下一篇
生成式A.I.(AIGC)從0開始 - Chroma 向量資料庫使用
系列文
2023 AI大型語言模型之旅 - 從0開始學習建構AI專案14
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言