iT邦幫忙

2024 iThome 鐵人賽

DAY 14
1
Kubernetes

成為 Kubernetes 特級咒術師的 30 天修行系列 第 14

第十四篇:向量資料庫(Vector Database)的介紹與設置

  • 分享至 

  • xImage
  •  

前言

在經過昨天的教學後,我們知道了每一步的重要性,任何的細節都會影響最後的結果!而在我們做好原始資料的準備與處理後,我們就繼續接下來的學習吧~
現在,我們要設置專門儲存向量化資料的向量資料庫(Vector Database),這次我們選擇 Qdrant 作為我們的向量資料庫。

什麼是 Qdrant

image

Qdrant 是一套開源的向量資料庫,它提供了一個方便的 API 服務,專門設計用於儲存、搜尋和管理向量。

Qdrant 有以下特點:

  • Qdrant 提供 UI 介面,重點是它是免費的。
  • Qdrant 支援多種距離度量方法,包括歐幾里得距離(Euclid)、內積(Dot)、曼哈頓距離(Manhattan)和餘弦相似度(Cosine),這使得它適應各類向量嵌入的需求。
  • Qdrant 提供了易於使用的 REST API 和 gRPC 接口,方便開發者快速將其整合進現有系統或應用程序中。

在 Qdrant 的官網中也有提供他們測試的 benchmark 供參考,可以從裡面看到,相較於其他向量資料庫,Qdrant 的準確度是最高的,同時延遲也是最低的。

在安裝的部分,Qdrant 的官網也有提供安裝教學,Github 上也有 Python 的安裝教學

Collection 的設置

在安裝好 Qdrant 後,我們就要來創建一個 Collection 啦~
Qdrant 的 Collections 相當於一般資料庫的 table,所以我們要先創建好一個 Collection 才能進行向量資料的儲存,而計算向量間相似性的方式也是在這個步驟進行設置。

from qdrant_client import QdrantClient, models

# 這是與 Qdrant 伺服器互動的客戶端,這裡的 URL 表示是本地伺服器
client = QdrantClient(url="http://localhost:6333")

client.create_collection(
    collection_name="{collection_name}",
    vectors_config=models.VectorParams(size=100, distance=models.Distance.COSINE),
)

create_collection 的設置參數:

  • collection_name:這是 collection 的名稱
  • vectors_config:設置向量的配置,size=100 表示每個向量有 100 維,distance=models.Distance.COSINE 指定了使用餘弦相似度來計算向量之間的相似性。

到目前這裡我們就算是成功安裝 Qdrant 並且創建了一個 Collection,接下來我們就要開始設置詞嵌入模型(Embedding Model)囉~

參考文獻

https://qdrant.tech/documentation/overview/


上一篇
第十三篇:重要的事前準備
下一篇
第十五篇:詞嵌入模型(Embedding Model)的設置與使用
系列文
成為 Kubernetes 特級咒術師的 30 天修行26
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言