共用方式為


開放原始碼向量資料庫

當開發人員選取向量資料庫時,開放原始碼選項可提供許多優點。 「開放原始碼」表示軟體的原始碼可供自由使用,讓使用者能夠根據其特定需求自定義資料庫。 這項彈性對受限於數據的獨特法規需求的組織很有説明,例如金融服務產業中的公司。

開放原始碼向量資料庫的另一個優點是他們享有的強大社群支援。 主動式使用者社群通常會參與這些資料庫的開發、提供支援,以及共用最佳做法,促進創新。

有些個人會選擇開放原始碼向量資料庫,因為它們是「免費」的,這表示不需要取得或使用軟體。 替代方式是使用受控向量資料庫服務所提供的免費層。 這些受控服務不僅提供高達特定使用量限制的無成本存取,還能藉由處理維護、更新和延展性來簡化作業負擔。 因此,藉由使用受控向量資料庫服務的免費層,用戶可以節省成本,同時降低管理額外負荷。 這種方法可讓使用者更專注於其核心活動,而不是資料庫管理。

向量資料庫的工作機制

向量資料庫的設計目的是儲存和管理向量內嵌,這是高維度空間中數據的數學表示法。 在此空間中,每個維度各對應至資料的一個特徵,且有數萬個維度可用來代表複雜的資料。 向量在此空間中的位置代表其特性。 單字、片語或整份文件、影像、音訊和其他類型的資料,全都可以向量化。 這些向量內嵌會用於相似度搜尋、多重模式搜尋、建議引擎、大型語言模型 (LLM) 等。

這些資料庫的架構通常包含儲存引擎和索引編製機制。 儲存引擎會將向量數據的儲存優化,以有效率地擷取和操作,而索引編製機制會組織數據以進行快速搜尋和擷取作業。

在向量資料庫中,內嵌會根據其向量距離或相似度,透過向量搜尋演算法進行索引編製和查詢。 必須有強固的機制,才能識別最相關的資料。 一些已知的向量搜尋演算法包括階層式導覽小型世界(HNSW)、反轉檔案(IVF)等。

向量資料庫跨分析和生成式 AI 用於多種領域和情況中,包括自然語言處理、視訊和影像辨識、建議系統、搜尋等等。例如,您可以使用向量資料庫:

  • 根據影像、主題、情感和樣式,識別類似的影像、檔和歌曲
  • 根據其特性、功能和使用者群組來識別類似的產品
  • 根據個人喜好建議內容、產品或服務
  • 根據使用者群組相似性建議內容、產品或服務
  • 從大型選擇集區找出最適合的潛在選項,以符合複雜需求
  • 識別與主要或一般模式不同的數據異常或詐騙活動
  • 實作 AI 代理程式的持續性記憶體
  • 啟用擷取增強世代 (RAG)

整合式向量資料庫與純向量資料庫

有兩種常用的向量資料庫實作類型 - 純向量資料庫和 NoSQL 或關聯式資料庫中的整合式向量資料庫。

純向量資料庫的設計旨在有效地儲存及管理向量內嵌,以及少量的中繼資料:其與衍生內嵌的資料來源分開。

整合在高效能 NoSQL 或關聯式資料庫中的向量資料庫會提供額外的功能。 NoSQL 或關聯式資料庫中的整合式向量資料庫可以儲存、編製索引和查詢內嵌,以及對應的原始資料。 此方法可讓您在複寫個別純向量資料庫中的資料時,無需支付額外的成本。 此外,一起保存向量內嵌和原始資料,可以更好地協助多重強制回應資料作業,並提高資料一致性、規模和效能。

選取最佳的開放原始碼向量資料庫

選擇最佳開放原始碼向量資料庫需要考慮數個因素。 資料庫的效能和延展性非常重要,因為它們會影響資料庫是否可以處理您的特定工作負載需求。 具有有效索引和查詢功能的資料庫通常會提供最佳效能。 另一個因素是資料庫可用的社群支持和檔。 強大的社群和豐富的檔可以提供寶貴的協助。 以下是一些熱門的開放原始碼向量資料庫:

  • Chroma
  • Milvus
  • Qdrant
  • Weaviate

不過,最受歡迎的選項可能不是最適合的選項。 因此,您應該根據功能、支援的數據類型、與您使用的現有工具和架構的相容性,比較不同的選項。 您也應該記住開放原始碼向量資料庫的挑戰(如下所示)。

開放原始碼向量資料庫的挑戰

大部分開放原始碼向量資料庫,包括上述的向量資料庫都是純向量資料庫。 換句話說,它們的設計目的是只儲存和管理向量內嵌,以及少量的元數據。 因為它們與衍生內嵌來源的數據源無關,因此使用它們需要在服務整合之間傳送數據,這會增加生產工作負載的額外成本、複雜度和瓶頸。

它們也會帶來開放原始碼資料庫的典型挑戰:

  • 安裝程式:使用者需要深入的知識,才能安裝、設定及操作,特別是針對複雜的部署。 在相應增加作業時優化資源和組態需要密切監視和調整。
  • 維護:用戶必須管理自己的更新、修補程式和維護。 因此,ML 專業知識不夠;用戶也必須在資料庫管理方面擁有豐富的經驗。
  • 支援:與受控服務相比,官方支援可能會受到限制,更依賴社區援助。

因此,一開始免費時,開放原始碼向量資料庫在相應增加時會產生大量成本。 擴大作業需要更多硬體、熟練的IT人員,以及先進的基礎結構管理,導致硬體、人員和營運成本較高。 儘管缺乏授權費用,但調整開放原始碼向量資料庫在財務上仍可能要求高。

解決開放原始碼向量資料庫的挑戰

整合在高效能 NoSQL 或關係資料庫中的完整受控向量資料庫,可避免開放原始碼向量資料庫的額外成本和複雜度。 這類資料庫會與對應的原始數據一起儲存、索引和查詢內嵌。 此方法可讓您在複寫個別純向量資料庫中的資料時,無需支付額外的成本。 此外,一起保存向量內嵌和原始資料,可以更好地協助多重強制回應資料作業,並提高資料一致性、規模和效能。 同時,完全受控服務可協助開發人員避免設定、維護及依賴開放原始碼向量資料庫社群協助的麻煩。 此外,某些受控向量資料庫服務提供終身免費層。

例如適用於 MongoDB 的 Azure Cosmos DB 中的整合向量資料庫。 它可讓開發人員享有與開放原始碼向量資料庫相關聯的相同財務權益,而服務提供者則處理維護、更新和延展性。 在相應增加作業的時候,升級是快速且容易的,同時保持較低的總擁有成本(TCO)。 此服務也可以用來方便 調整已在生產環境中使用的 MongoDB 應用程式。

後續步驟