按語義相似性搜索向量儲存文件
透過語義相似性和批次操作搜尋向量儲存文件
示例請求
curl -X GET \
"https://api.rememberizer.ai/api/v1/vector-stores/vs_abc123/documents/search?q=如何%20將%20我們的%20產品%20與%20第三方%20系統%20整合&n=5&prev_chunks=1&next_chunks=1" \
-H "x-api-key: YOUR_API_KEY"const searchVectorStore = async (vectorStoreId, query, numResults = 5, prevChunks = 1, nextChunks = 1) => {
const url = new URL(`https://api.rememberizer.ai/api/v1/vector-stores/${vectorStoreId}/documents/search`);
url.searchParams.append('q', query);
url.searchParams.append('n', numResults);
url.searchParams.append('prev_chunks', prevChunks);
url.searchParams.append('next_chunks', nextChunks);
const response = await fetch(url.toString(), {
method: 'GET',
headers: {
'x-api-key': 'YOUR_API_KEY'
}
});
const data = await response.json();
console.log(data);
};
searchVectorStore(
'vs_abc123',
'如何將我們的產品與第三方系統整合',
5,
1,
1
);路徑參數
vector-store-id
字串
必填。 要搜索的向量存儲的 ID。
查詢參數
q
字串
必填。 搜尋查詢文字。
n
整數
要返回的結果數量。預設:10。
t
數字
匹配閾值。預設:0.7。
prev_chunks
整數
要包含的匹配塊之前的塊數。預設:0。
next_chunks
整數
要包含的匹配塊之後的塊數。預設:0。
回應格式
認證
此端點需要使用 x-api-key 標頭中的 API 金鑰進行認證。
錯誤回應
400
錯誤的請求 - 缺少必要的參數或格式無效
401
未授權 - API 金鑰無效或缺失
404
找不到 - 向量儲存未找到
500
內部伺服器錯誤
搜尋優化技巧
上下文窗口
使用 prev_chunks 和 next_chunks 參數來控制每個匹配包含多少上下文:
將兩者設置為 0 以獲得沒有上下文的精確匹配
將兩者設置為 1-2 以獲得具有最小上下文的匹配
將兩者設置為 3-5 以獲得具有相當上下文的匹配
匹配閾值
t 參數控制匹配的過濾嚴格程度:
較高的值(例如,0.9)僅返回非常接近的匹配
較低的值(例如,0.5)返回更多具有更大多樣性的匹配
默認值(0.7)提供了一種平衡的方法
批次操作
對於高吞吐量的應用,Rememberizer 支援在向量儲存上進行高效的批次操作。這些方法在處理多個搜尋查詢時優化性能。
批次搜尋實作
批次操作的性能優化
在實施向量存儲搜索的批次操作時,考慮以下最佳實踐:
最佳批次大小:對於大多數應用程序,並行處理 5-10 個查詢在吞吐量和資源使用之間提供了良好的平衡。
速率限制意識:在批次之間包含延遲機制(通常為 1-2 秒),以避免觸及 API 速率限制。
錯誤處理:為可能在批次中失敗的單個查詢實施健壯的錯誤處理。
連接管理:對於高流量應用程序,實施連接池以減少開銷。
超時配置:為每個請求設置適當的超時,以防止長時間運行的查詢阻塞整個批次。
結果處理:考慮在結果可用時異步處理結果,而不是等待所有結果。
監控:跟踪性能指標,如平均響應時間和成功率,以識別優化機會。
對於查詢量非常大的生產應用程序,考慮實施隊列系統和工作進程以有效管理大型批次。
此端點允許您使用語義相似性搜索您的向量存儲。它返回與您的查詢在概念上相關的文檔,即使它們不包含確切的關鍵字。這使得它對自然語言查詢和問題回答特別強大。
Last updated