OSS Vectors 是阿里雲Object Storage Service 提供的向量儲存與檢索能力,通過專門的向量 Bucket 類型來儲存、查詢和管理向量資料。具有低成本、大規模和簡單易用的特點,面向多模態檢索、知識庫、RAG、AI Agent等 AI 情境提供向量儲存和向量查詢的能力。OSS Vectors 提供 Standard Mode 與 Fusion Mode 兩種索引模式,同一向量 Bucket 內可同時建立兩種模式的索引表,您可按業務情境按需選擇。可以將任何通過第三方服務產生的向量資料寫入向量 Bucket。同時,支援對海量未經處理資料與向量資料進行統一治理,對未經處理資料 Bucket 與向量 Bucket 配置相同的 Bucket Policy,或通過統一格式匯出日誌以便審計。
核心概念
向量 Bucket:全新 Bucket 類型,是管理大規模向量資料的雲資源。
向量 Index:可以在向量 Bucket 中建立向量 Index。向量 Index 是儲存向量資料的索引表,可以根據業務類型在同一個向量 Bucket 中建立多張向量 Index,用以儲存不同業務的向量資料。當發起檢索查詢時,會根據向量 Index 中向量資料的相似性來返回檢索結果。
索引模式:向量 Index 分為 Standard Mode 與 Fusion Mode 兩種模式。兩種模式在索引結構、Schema 能力、檢索方式上存在差異,建立向量 Index 時即需確定模式。一個向量 Bucket 中可以同時建立不同模式的向量 Index。
向量資料:通過向量模型將圖片、視頻、文檔等非結構化資料轉換成的高維數值數組,用以表徵其內容特徵。向量檢索正是根據向量資料的相似性進行檢索結果返回。可以利用任何向量化服務(如ECS、PAI、阿里雲百鍊)產生向量,並通過 OSS API、SDK 或 ossutil 工具將其寫入指定向量索引。在寫入時,還可以附加中繼資料(Metadata),用於後續的標量過濾查詢。
標量中繼資料:在寫入向量資料時,還可以附加寫入標量中繼資料(Metadata),用於後續的標量過濾查詢。
向量索引模式
OSS Vectors 提供兩種索引模式,以滿足不同成本、效能與檢索複雜度需求。您可以在同一個向量 Bucket 中同時建立兩種模式的索引表。
對比項 | Standard Mode | Fusion Mode |
售賣形態 | Serverless 形態,已商業化售賣 | Serverless 形態,邀測中(當前僅在印尼(雅加達)地區開放邀測) |
適用情境 | 溫冷向量資料的儲存和檢索,如企業內部的多媒體素材管理和檢索、成本敏感型 RAG 知識庫、AI 資料集檢索和管理、AIGC 資料管理、多媒體素材檢索和管理、內容推薦等情境。 | 溫熱向量資料的儲存和檢索,包含複雜的檢索方式、混合檢索等,對效能要求更高。如 APP 線上高頻多模態檢索、網盤多模態內容檢索、線上海量租戶的 RAG 知識庫、APP 內容推薦、AI 助手等情境。 |
Schema | Schemaless 中繼資料,單張索引表預設一個向量欄位 | 顯式 Schema,單張索引表最多支援 3 個向量欄位,向量與標量欄位總數不超過 100 個 |
標量欄位類型 | String、Number、Boolean、List | string、long、double、bool、ip、geoPoint |
檢索方式 | 向量相似性檢索-單路、向量相似性檢索+標量後過濾 | 向量相似性檢索-單路、向量相似性檢索-多路、向量相似性檢索+標量前過濾(混合檢索)、全文檢索索引、標量檢索 |
檢索結果排序 | 分數排序(距離排序) | 分數排序(距離排序)、自訂欄位排序、支援 Rank 排序(RRF & Weight)、結果支援分頁 |
向量能力 | 單列向量 | 多列向量 |
距離計算公式 | 歐氏距離、餘弦距離 | 歐氏距離、餘弦距離、最大內積 |
產品優勢
低成本:向量資料已成為各類 AI 應用的必要基礎設施,正呈現爆炸式增長的趨勢。OSS Vectors 採用簡潔友好的計費模式,僅根據向量資料存放區容量和檢索掃描資料量兩個計費項目進行計費,較傳統方式的使用成本可以大幅度下降 90% 以上。
大規模:OSS Vectors 採用面向大規模向量資料存放區的架構設計,可以承載海量向量資料的儲存需求。OSS 採用 Serverless 的彈性擴縮容架構,使用 OSS Vectors 後,無需關心擴容問題。
簡單易用:OSS Vectors 提供完整的 API、SDK 和命令列工具 ossutil。同時,也支援在 OSS 控制台進行管控和向量資料讀寫操作,如向量資料的檢索查詢、向量資料的添加、批量插入等。
統一管理:可以為向量 Bucket 和儲存海量未經處理資料的 Bucket 通過相同的方式進行管理,如通過相同方式配置 Bucket Policy 來進行許可權管理,配置相同的日誌匯出路徑來進行Action Trail。
語義檢索:可以使用 OSS Vectors 提供的 QueryVectors 介面對索引表中的向量資料進行查詢,並擷取按照相似性進行排序的檢索結果。與此同時,OSS Vectors 支援根據標量中繼資料進行過濾查詢,可以在將向量資料寫入向量 Bucket 時,攜帶標量中繼資料,以達到標量後過濾的效果。同時,在建立向量索引 Index 時,可以設定非過濾中繼資料。非過濾中繼資料無法作為後過濾條件,但會隨檢索結果返回,作為向量結果的內容描述資訊。
混合檢索(Fusion Mode):Fusion Mode 支援在一張索引表內配置多個向量欄位與多種標量欄位,並通過多路 Retriever 同時檢索,最終使用 RRF 或 Weight Rank 對多路結果進行融合排序,滿足多模態、複雜條件下的高精度檢索需求。
應用情境
情境一:構建低成本的 RAG 應用
隨著 AI 業務發展,向量資料規模呈指數級增長,儲存和檢索成本壓力日漸增加。對於知識庫、AI 助手、醫學影像檢索等多模態檢索情境,使用者對檢索延遲的容忍度逐漸放寬(可能從幾十毫秒到百毫秒級)。此時,使用 OSS Vectors Standard Mode 作為 RAG 應用的向量儲存底座,能以極低的成本滿足業務需求。
情境二:構建分層檢索的 AI Agent
不同的 AI Agent 對檢索效能的要求各異。可以將全量向量資料集中儲存在成本極低的 OSS 向量 Bucket Standard Mode 中;對於需要高效能、低延遲的業務情境,可以儲存在 OSS 向量 Bucket Fusion Mode 中,以構建分層檢索 AI Agent 應用架構。
情境三:構建資料統一管理的 AI 內容管理平台
AI 應用帶來海量非結構化內容(UGC、內部資料、AI 產生內容)與相應的向量化結果,儲存與檢索體系容易割裂。通過將未經處理資料存入通用 OSS Bucket,向量資料存入 OSS 向量 Bucket,可構建高效的 AI 資料管理平台,如 AIGC 資料管理等。僅需一套 API/SDK 即可同時管理和訪問原始檔案與向量索引,輕鬆構建高效、統一的 AI 內容管理平台。
情境四:語義檢索與多模態混合檢索
對於電商商品檢索、視頻/圖片內容理解、企業知識庫問答等對召回率和延遲要求更高的線上情境,可使用 Fusion Mode。該模式支援多列向量、全文檢索索引、多路 Retriever 混合排序,能夠在向量相似性、文本關鍵詞、標量過濾、地理空間等多種檢索訊號之間靈活組合,顯著提升複雜查詢的檢索效果。
企業級特性
網域名稱訪問
提供獨立的公網和內網訪問網域名稱,與通用 OSS Bucket 隔離。
公網訪問網域名稱:
$bucketname-$uid.regionID.oss-vectors.aliyuncs.com內網訪問網域名稱:
$bucketname-$uid.regionID-internal.oss-vectors.aliyuncs.com
注意:除 ListVectorBuckets 操作外,其他動作必須使用第三層網域名。安全傳輸
支援通過 HTTPS 協議進行加密傳輸,保障資料在傳輸過程中的安全。
存取控制
Bucket Policy:支援基於資源的授權策略,可將許可權控制精確到向量 Bucket、單個或多個向量索引層級。
RAM Policy:支援基於身份的 RAM 授權策略,能夠對向量 Bucket、向量索引及資料操作進行細粒度許可權控制,同時支援跨帳號訪問授權。
日誌
訪問日誌轉存:支援將訪問日誌即時或准即時轉存到指定的 Bucket 中。
統一日誌格式:日誌格式與通用 OSS 日誌完全相容,並額外增加了
BucketARN欄位,用以唯一標識向量 Bucket 資源,方便進行統一的日誌分析。
配額與限制
OSS Vectors 具有某些限制和約束,在設計與實現向量儲存和檢索方案時,請根據以下限制合理規劃 Bucket 數量、索引規模、中繼資料結構以及介面調用策略。如需調大以下相關配額,請聯絡支援人員申請調整。
單個主帳號在單個地區最多建立 100 個向量Bucket。
單個向量 Bucket 中最多可建立 100 張向量索引。
Standard Mode 使用限制
單個向量索引表最多可儲存 20 億行向量資料。
向量維度範圍:1~4096 維。
向量檢索請求的 TopK 預設範圍:1~500。
單個向量的中繼資料(可篩選 + 不可篩選)總大小上限:200 KB。
單個向量的單個可篩選中繼資料大小上限:2 KB。
單個向量的中繼資料(可篩選 + 不可篩選)總數量上限:100 個。
標量中繼資料類型支援 4 種,包括 String、Number、Boolean、List。
在通過中繼資料對向量進行過濾查詢時:
單次過濾指令中可過濾中繼資料的累計長度不超過 20 KB。
單次過濾指令中可過濾中繼資料項數量不超過 1024 個。
過濾條件嵌套層級最多支援 8 層。
通過 QueryVectors 和 ListVectors 進行標量中繼資料過濾時,支援以下操作符:
等值:$eq、$ne
範圍:$gt、$gte、$lt、$lte
包含:$in、$nin
存在性:$exists
邏輯:$and、$or、$nor
對於單個Bucket,建立向量索引的 API (PutVectorIndex)請求頻率限制為最多每秒 5 次。
對於單個索引,寫入向量資料的 API (PutVectors)的 QPS 上限為 1000,單並發最大支援批量寫入 500 條,所有並發批量最多寫入 2500 條。舉例,如若單並發批量寫入 100 條,則寫入 QPS 最大支援 2500/100=25。
寫入向量資料的 API (PutVectors)的請求體大小最大 20 MB。
對於單個索引,檢索向量資料的 API (QueryVectors)的 QPS 上限為 100。
說明:檢索 QPS 與單表向量規模、向量維度、查詢 TopK、查詢時攜帶的標量中繼資料條件均有關係。通常來說,在典型的 1000 萬行 1024 維向量規模中,當查詢 TopK=100 時,查詢 QPS 通常能夠達到 100。當表資料規模增加或查詢 TopK 取值增大時,實際可達到的檢索 QPS 可能下降,無法保證一定能達到 100,請以實際業務測試結果為準。
檢索向量資料的 API (QueryVectors)的 Response 最大 8 MB。
列舉向量索引的 API ( ListVectorIndexes) 響應中每頁最大返回索引個數 500,可分頁擷取下一批索引列表。
列舉向量的 API (ListVectors ) 並發度上限 16 個。
Fusion Mode 使用限制
欄位名在單個索引表內唯一,長度 1~63 字元,支援大小寫字母、數字和底線(_),且必須以字母開頭。
欄位數限制:總欄位數 ≤ 100 個,向量欄位 ≤ 3 個,分詞欄位 ≤ 8 個,其它標量欄位佔用剩餘配額。至少必須存在一個類型為 vector 的欄位。
標量欄位類型支援 string、long、double、bool、ip、geoPoint。
數值與 IP 欄位(double、long、ip)的數組標記 isArray 預設 false,開啟數組後單個數組最多 128 個元素。
字串欄位(string)開啟數組後單個數組最多 512 個元素,單個 string 元素最大 4 KB,數組所有元素整體最大 64 KB。自訂分詞器支援使用 " "、"|"、"-"、"_"、"," 進行自訂分詞,分詞後需要單個詞 ≤ 4 KB,超出部分服務端會截斷再進行索引。字串的使用細節限制請參考建立索引時的 Schema 說明文檔。
Fusion Mode 的 API(PutVectors)限制請求體大小最大 20 MB,QPS 上限為 1000,單並發最大支援批量寫入 500 條,所有並發批量最多寫入 2500 條。舉例,如若單並發批量寫入 100 條,則寫入 QPS 最大支援 2500/100=25。
Fusion Mode 專用的向量檢索的 API(QueryVectorsFusion)相關限制說明:
該 API 支援三種查詢方式:
knn 欄位支援純向量檢索、向量檢索結合前置 Filter 過濾:
支援單路或多路向量查詢,單次請求最多 3 個 KNN 查詢。
topK 參數最大 500。
numCandidates 參數最大 1000。
query 欄位支援純標量檢索、全文檢索索引:
$and、$or、$nor 每個邏輯運算元最多 512 個子運算元,最多 8 層嵌套。
$in、$nin 最多 1024 個元素。
$textMatch、$textMatchPhrase 的查詢文本長度上限均為 512 位元組。
$geoPolygon 的 points 最多 16 個點。
retriever 支援多路混合查詢並進行結果融合:
retriever 存在時,頂級參數僅允許使用 indexName、limit、partitionKeys、returnMetadata、returnMetadataFields 這 5 個,其餘參數(含 knn、query、sort、nextToken)全部禁止。
retrievers 數組最少 1 個、最多 3 個元素。
複合檢索器(RRF Retriever、Weight Retriever)的 windowSize 最大 500。
該 API 其它限制:
limit 最大 500。
單次請求最多 3 個排序欄位,分數排序僅支援 desc 倒序排序。
nextToken 翻頁僅在只有 query(標量檢索 + 全文檢索索引)的情況下允許;向量檢索(knn)和多路檢索(retriever)不支援翻頁。
partitionKeys 最多 512 個元素,且所有元素加起來最長 4 KB。
returnMetadata 預設 false,即預設不返回任何欄位,設為 true 返回所有欄位。
returnMetadataFields 僅在 returnMetadata=true 時生效,不支援返迴向量類型欄位,設為 [] 等同於 returnMetadata=false 不返回任何欄位,設為 null 等同於未填該參數,即返回全部欄位。
Response 最大 8 MB。
Fusion Mode 當前處於邀測階段,僅在印尼(雅加達)地區提供,部分配額和 API 限制可能與 Standard Mode 存在差異,具體以 API 文檔為準。
計費說明
Standard Mode 已收費,請及時關注產品賬單金額。收費方式請參考向量計費項目。Fusion Mode 目前免費邀測中。