向量儲存
本指南將幫助您了解如何作為開發者使用 Rememberizer 向量儲存。
向量儲存
Rememberizer 向量儲存簡化了處理向量數據的過程,讓您能夠專注於文本輸入,並利用向量的力量進行各種應用,如搜索和數據分析。
介紹
Rememberizer 向量存儲提供了一個易於使用的介面,用於處理向量數據,同時抽象掉向量嵌入的複雜性。由 PostgreSQL 和 pgvector 擴展提供支持,Rememberizer 向量存儲允許您直接處理文本。該服務處理文本數據的分塊、向量化和存儲,使您能夠更專注於核心應用邏輯。
要深入了解向量嵌入和向量數據庫背後的理論概念,請參閱 什麼是向量嵌入和向量數據庫?。
技術概述
向量儲存的運作方式
Rememberizer 向量儲存將文本轉換為高維向量表示(嵌入),以捕捉語義意義。這使得:
語義搜尋:根據意義而非僅僅是關鍵字來查找文件
相似性匹配:識別概念上相關的內容
高效檢索:快速從大型數據集中定位相關信息
主要組件
文件處理:文本被拆分為最佳大小的片段,並具有重疊邊界以保留上下文
向量化:片段使用最先進的模型轉換為嵌入
索引:專門的算法組織向量以進行高效的相似性搜索
查詢處理:搜索查詢被向量化並與存儲的嵌入進行比較
架構
Rememberizer 使用以下方式實現向量存儲:
PostgreSQL 與 pgvector 擴展:用於高效的向量存儲和搜索
基於集合的組織:每個向量存儲都有其獨立的集合
API 驅動的訪問:所有操作的簡單 RESTful 端點
開始使用
創建向量存儲
在您的儀表板中導航到向量存儲部分
點擊「創建新的向量存儲」:
將出現一個表單,提示您輸入詳細信息。
填寫詳細信息:
名稱:為您的向量存儲提供一個唯一的名稱。
描述:寫一個簡短的向量存儲描述。
嵌入模型:選擇將文本轉換為向量的模型。
索引算法:選擇如何組織向量以便搜索。
搜索度量:定義如何計算向量之間的相似性。
向量維度:向量嵌入的大小(通常為 768-1536)。
提交表單:
點擊「創建」按鈕。您將收到成功通知,新的存儲將出現在您的向量存儲列表中。
配置選項
嵌入模型
openai/text-embedding-3-large
1536
來自 OpenAI 的高精度嵌入模型
需要最大精度的生產應用
openai/text-embedding-3-small
1536
來自 OpenAI 的較小、更快的嵌入模型
具有更高吞吐量需求的應用
索引演算法
IVFFLAT (預設)
反向文件與平坦壓縮
速度與準確性的良好平衡;適用於大多數數據集
HNSW
分層可導航小世界
對於大型數據集更好的準確性;更高的記憶體需求
搜尋指標
余弦相似度 (預設)
測量向量之間的角度
一般用途的相似性匹配
內積 (ip)
向量之間的點積
當向量的大小很重要時
L2 (歐幾里得)
向量之間的直線距離
當空間關係重要時
管理向量儲存
查看和編輯向量儲存:
訪問管理儀表板以查看、編輯或刪除向量儲存。
查看文件:
瀏覽特定向量儲存中的單個文件及其相關元數據。
統計數據:
查看詳細統計數據,例如儲存的向量數量、查詢性能和操作指標。
API 金鑰管理
API 金鑰用於驗證和授權訪問 Rememberizer 向量儲存的 API 端點。妥善管理 API 金鑰對於維護您的向量儲存的安全性和完整性至關重要。
創建 API 金鑰
前往您的向量儲存詳細頁面
導航至 API 金鑰管理區域:
它可以在「配置」標籤內找到
點擊 「新增 API 金鑰」:
將出現一個表單,提示您輸入詳細信息。
填寫詳細信息:
名稱:提供一個名稱以幫助您識別其使用案例。
提交表單:
點擊「創建」按鈕。新的 API 金鑰將被生成並顯示。請確保複製並安全存儲。此金鑰用於驗證對該特定向量儲存的請求。
撤銷 API 金鑰
如果不再需要 API 金鑰,您可以刪除它以防止任何潛在的濫用。
出於安全原因,您可能希望定期更換您的 API 金鑰。這涉及生成一個新的金鑰並撤銷舊的金鑰。
使用向量存儲 API
在創建向量存儲並生成 API 密鑰後,您可以使用 REST API 與其互動。
代碼範例
上傳文件到向量存儲
def upload_document(file_path, document_name=None): if document_name is None: document_name = file_path.split("/")[-1]
上傳文本內容到向量儲存
def upload_text(content, document_name): headers = { "x-api-key": API_KEY, "Content-Type": "application/json" }
搜尋向量儲存
def search_vector_store(query, num_results=5, prev_chunks=1, next_chunks=1): headers = {"x-api-key": API_KEY}
範例用法
上傳文件("path/to/document.pdf")
upload_text("這是一段範例文本,將被向量化", "sample-document.txt")
search_vector_store("向量相似度是如何工作的?")
{% endtab %}
{% tab title="Ruby" %}
示例用法
=begin client = VectorStoreClient.new('your_api_key', 'vs_abc123')
搜尋文件
results = client.search('什麼是資料安全的最佳實踐?') puts "找到 #{results['matched_chunks'].length} 個結果"
顯示最佳結果
if results['matched_chunks'].any? top_match = results['matched_chunks'].first puts "最佳匹配 (距離: #{top_match['distance']}):" puts "文件: #{top_match['document']['name']}" puts "內容: #{top_match['matched_content']}" end =end
性能考量
即將推出:向量存儲架構圖
這個技術架構圖將說明:
PostgreSQL + pgvector 基礎架構
索引算法結構 (IVFFLAT 與 HNSW)
向量空間中的搜索指標如何運作 (視覺比較)
文檔分塊過程及重疊視覺化
在不同規模下的性能考量視覺化
為不同數據量進行優化
小型 (<10k 文件)
IVFFLAT, 余弦相似度
簡單配置提供良好性能
中型 (10k-100k 文件)
IVFFLAT, 確保定期重新索引
在搜索速度和索引維護之間取得平衡
大型 (>100k 文件)
HNSW, 考慮增加向量維度
更高的內存使用,但在規模上保持性能
分塊策略
分塊過程對搜索質量有重大影響:
分塊大小:Rememberizer 使用默認的分塊大小為 1024 字節,並有 200 字節的重疊
較小的分塊(512-1024 字節):更精確的匹配,更適合特定問題
較大的分塊(1500-2048 字節):每個匹配中有更多上下文,更適合廣泛主題
重疊:確保在分塊邊界不會丟失上下文
查詢優化
上下文窗口:使用
prev_chunks和next_chunks來檢索周圍內容結果數量:從 3-5 個結果開始(
n參數),根據精確度需求進行調整閾值:調整
t參數以根據相似度分數過濾結果
高級用法
重新索引
Rememberizer 在向量數量超過預定閾值時自動觸發重新索引,但在以下情況下考慮手動重新索引:
上傳大量文檔
更改嵌入模型
修改索引算法
查詢增強
為了獲得更好的搜索結果:
具體 在搜索查詢中
包含上下文 當可能時
使用自然語言 而不是關鍵字
根據結果質量 調整參數
從其他向量資料庫遷移
如果您目前正在使用其他向量資料庫解決方案並希望遷移到 Rememberizer 向量儲存,以下指南將幫助您有效地轉移數據。
遷移概述
遷移向量數據涉及:
從您的源向量數據庫導出數據
將數據轉換為與 Rememberizer 兼容的格式
將數據導入您的 Rememberizer 向量存儲
驗證遷移是否成功
遷移到 Rememberizer 的好處
PostgreSQL 基礎:建立在成熟的資料庫技術上,具備內建的備份和恢復功能
整合生態系統:與其他 Rememberizer 組件無縫連接
簡化管理:統一介面進行向量操作
先進安全性:行級安全性和細粒度訪問控制
可擴展架構:隨著數據增長進行性能優化
從 Pinecone 遷移
從 Qdrant 遷移
從 Supabase pgvector 遷移
如果您已經在使用 Supabase 和 pgvector,遷移到 Rememberizer 特別簡單,因為兩者都使用帶有 pgvector 擴展的 PostgreSQL。
遷移最佳實踐
遵循這些建議以確保成功的遷移:
提前規劃:
估算遷移所需的數據量和時間
在低流量時段安排遷移
在開始大型遷移之前增加磁碟空間
先測試:
在 Rememberizer 中創建測試向量存儲
遷移一小部分數據(100-1000 個向量)
使用關鍵查詢驗證搜索功能
數據驗證:
比較遷移前後的文檔數量
執行基準查詢以確保結果相似
驗證元數據是否正確保留
優化性能:
使用批量操作以提高效率
考慮源數據庫和目標數據庫的地理位置共置
監控 API 速率限制並相應調整批量大小
遷移後步驟:
驗證在 Rememberizer 中創建索引
更新應用程序配置以指向新的向量存儲
在遷移驗證之前保留源數據庫作為備份
有關詳細的 API 參考和端點文檔,請訪問 向量儲存 API 頁面。
確保安全處理 API 密鑰並遵循 API 密鑰管理的最佳實踐。
Last updated