What is Vearch?
在建構 AI 應用程式時,經常需要處理大量的嵌入向量。如何在這些龐大的資料集中快速且可靠地找到最相似的向量,是一項重大的挑戰。Vearch 是一個雲原生、分散式的向量資料庫,專為解決這個問題而設計,為您的 AI 專案提供一個強大的基礎,以實現高效的相似度搜尋。它可以協助您管理和查詢大規模的向量資料,支援複雜的查詢,同時可以根據您的需求輕鬆擴展。
主要功能
🔍 執行混合搜尋: 在單一查詢中結合向量相似度搜尋與傳統的純量過濾。這讓您不僅可以根據向量的相似度,還可以根據特定的元數據屬性來檢索結果,從而獲得更精確和相關的結果。
⚡ 實現高效能檢索: 搜尋數百萬甚至數十億個向量物件,並在毫秒內取得結果。Vearch 使用 Gamma 引擎,該引擎建立在 Faiss 之上,並針對低延遲索引和檢索進行了優化,這對於即時應用程式至關重要。
📈 無縫且可靠地擴展: Vearch 建構在分散式架構之上,透過彈性擴展來處理不斷增長的資料集和查詢負載。使用 Raft 共識的資料複寫可確保高可用性和容錯能力,保護您的應用程式免受故障影響。
實際應用
AI 框架的記憶體後端: 將 Vearch 直接與流行的 AI 開發框架整合。將其用作 Langchain、LlamaIndex、Langchaingo 或 LangChain4j 的向量儲存,以建構涉及檢索增強生成 (RAG)、語義搜尋或對話式 AI 的應用程式,簡化嵌入記憶體的管理過程。
大規模視覺搜尋: 實作複雜的影像檢索系統。正如在真實場景中所展示的,Vearch 可以根據視覺相似度來索引和搜尋數十億張影像。透過將 Vearch 與影像特徵提取工具結合使用,您可以為電子商務、內容審核或數位資產管理建構強大的視覺搜尋引擎。
支援語義搜尋: 在您的應用程式中超越關鍵字匹配。將文字嵌入儲存在 Vearch 中,讓使用者能夠根據語義和上下文進行搜尋,從而在知識庫、文件檢索系統或客戶支援平台中獲得更直觀和準確的搜尋體驗。
Vearch 架構概述
對於那些對底層結構感興趣的人,Vearch 包含三個主要元件:
Master: 管理叢集元數據、綱要定義,並協調整個系統的資源。
Router: 公開用於資料操作(upsert、delete、search、query)的 RESTful API,處理將請求路由到適當的分區,並合併結果。
PartitionServer (PS): 儲存資料分區,管理向量和純量資料。它使用核心 Gamma 引擎處理索引和搜尋,並透過 Raft 確保資料複寫,以實現一致性和可靠性。
開始使用 Vearch
Vearch 在部署方面提供了靈活性:
Kubernetes: 使用 Helm charts 部署完整的叢集。
Docker Compose: 快速設定獨立或叢集模式以進行測試或開發。
Docker Image: 使用官方容器映像直接執行 Vearch。
Source Code: 直接從原始碼編譯和部署,以進行自訂建置。
SDK 適用於 Python 和 Go,Java 支援目前正在開發中,可以輕鬆整合到您現有的應用程式中。
總結
如果您的工作涉及建構依賴於快速、準確且可擴展的向量嵌入相似度搜尋的 AI 應用程式,那麼 Vearch 提供了一個專用、高效能的解決方案。其混合搜尋功能,加上可靠的分散式架構以及與標準 AI 工具的整合,使其成為希望將複雜的向量搜尋整合到其專案中的開發人員的理想選擇。





