OSS AI VibeFlow 是Object Storage Service 提供的多模態資料生產與轉化服務。可以在 AI VibeFlow 中建立資料管道(DataPipeline),將 OSS 對象 Bucket中的文本、圖片、視頻等非結構化資料自動轉化為向量資料,並寫入 OSS 向量 Bucket 的向量索引表中。基於 AI VibeFlow 提供的自動化能力,可以在 OSS 中一站式完成"未經處理資料上傳 → 資料向量化 → 向量資料存放區 → 語義檢索"的完整流程,大幅提升多模態資料生產與轉化效率。
當前功能白名單開放,需聯絡支援人員申請使用。
核心概念
資料管道(DataPipeline):AI VibeFlow 中的核心管理對象。一條資料管道對應一條向量化處理規則,管道建立後自動運行。
源端資料:定義待向量化的未經處理資料來源,包括源 Bucket、檔案首碼、檔案類型(文本、圖片、視頻)以及處理模式(存量、增量、存量與增量)。
向量化配置:定義向量模型來源、百鍊 API Key、向量模型、視頻截幀頻率(多模態模型專屬),以及原始 Object 刪除時是否串聯刪除對應向量。
目的端資料:定義向量資料寫入的目標向量 Bucket、向量索引表(Index)、向量 Key 命名方式,以及是否將 ObjectTag、UserMeta 作為標量中繼資料一同寫入。
異常處理:定義單條向量化任務失敗時的處理策略(跳過並繼續、跳過並記錄、立即終止),並可指定錯誤資訊接收 Bucket 與首碼。
產品優勢
一站式流程:海量原始非結構化資料、向量化過程與向量資料存放區全部在 OSS 內閉環完成,簡化生產鏈路。
自動觸發處理:既支援對存量資料進行批量向量化,也支援對新上傳資料自動觸發向量化,無需人工幹預。
資料同步更新:當對象 Bucket 中的未經處理資料被修改、覆蓋或刪除時,向量 Bucket 中對應向量資料可選擇同步更新與刪除,減少人工維護成本。
靈活的向量模型:直接調用阿里雲百鍊提供的文本與多模態向量模型(如 text-embedding-v4、tongyi-embedding-vision-plus 等),可按業務需求選擇合適的模型與維度。
成本透明:向量化調用自己的百鍊 API Key,Embedding 費用由百鍊直接收取;OSS 側僅收取 API 請求費用與向量儲存費用,無額外服務費。
失敗可追溯:處理失敗的每條請求均可將 ErrorCode、ErrorMessage、百鍊 RequestId 等資訊以 Object 形式轉存至指定 Bucket,便於問題定位與重試。
應用情境
AI VibeFlow 適用於所有需要將 OSS 中海量非結構化資料向量化的情境,典型應用程式套件括:
語義檢索與 RAG:將 OSS 對象 Bucket 中的文檔、圖片、視頻向量化後寫入向量 Bucket,結合大語言模型構建檢索增強產生(RAG)應用。
電商圖文搜尋:將商品圖片和文案多模態向量化後寫入向量 Bucket,支撐以圖搜圖、以文搜圖。
廣告營銷素材管理:將營銷圖片、視頻自動向量化,實現素材語義召回與相似內容推薦。
企業知識庫構建:將企業內部知識文檔、題庫圖片等向量化後寫入向量 Bucket,實現跨業務線統一語義檢索。
多媒體內容治理:結合向量相似性與標量中繼資料過濾,對圖片、視頻資產進行精細化管理與分發。
計費說明
使用 AI VibeFlow 將產生如下費用,分別由 OSS 與阿里雲百鍊收取:
計費項目 | 收取方 | 說明 |
OSS API 請求費用 | OSS | 調用 AI VibeFlow 相關 API,以及自動觸發的 GetObject、PutVectors 等 API 產生的讀寫請求費用。 |
向量儲存費用 | OSS | 向量資料寫入 Vector Bucket 後,按向量索引儲存量收取。 |
Embedding 模型調用費用 | 阿里雲百鍊 | 向量化程序呼叫自己的百鍊向量模型產生的費用,由百鍊按調用量直接收取,請關注百鍊賬單。 |
AI VibeFlow 不額外收取任務管理費用。由於向量化處理直接調用百鍊 API Key,實際處理速度受百鍊 API 限流(RPM/TPM)影響。如需提升吞吐,需要:通過百鍊控制台或聯絡支援人員提升處理QPS。
使用限制
單帳號在單地區內最多建立 1000 條資料管道。
一條資料管道對應一個向量模型、一張向量索引表。
來源物件 Bucket、目標向量 Bucket 與錯誤資訊接收 Bucket 必須位於同一地區。
單張向量索引表容量上限為 20 億行,寫滿後管道自動進入"已暫停"狀態。
ObjectTag 與 UserMeta 作為向量中繼資料抽取時,各支援指定最多 10 個鍵。
許可權說明
建立資料管道時需要指定一個 RAM 角色,供 OSS 在後台執行向量化任務。AI VibeFlow 使用專屬信任策略(datapipeline-oss.aliyuncs.com),不能複用 AliyunOSSRole 等其他服務角色。
情境一:主帳號 + 建立角色(推薦)
通過控制台建立資料管道時選擇建立角色,系統自動建立 oss-embedding-{uuid} 角色並完成所有許可權和信任策略配置,無需任何手動操作。
情境二:RAM 子帳號操作
使用 RAM 子帳號建立資料管道時,主帳號需提前完成以下 3 步授權。完成後子帳號即可正常建立資料管道。
Step 1:授予 ram:PassRole(必須)
該許可權允許子帳號將角色傳遞給 OSS 服務,無法通過控制台快捷建立,必須由主帳號提前授予。主帳號登入 RAM 控制台,為子帳號添加以下自訂策略:
{
"Statement": [
{
"Action": "ram:PassRole",
"Effect": "Allow",
"Resource": "acs:ram::<主帳號ID>:role/oss-embedding-*",
"Condition": {
"StringEquals": {
"acs:Service": "datapipeline-oss.aliyuncs.com"
}
}
}
],
"Version": "1"
}Resource 中 oss-embedding-* 匹配控制台快捷建立的角色名稱。如果使用自訂角色,將 Resource 改為 acs:ram::<主帳號ID>:role/<自訂角色名稱>。
Step 2:授予角色建立許可權(快捷建立方式)
建立資料管道時,需要指定一個 RAM 角色讓 OSS 在後台執行向量化任務時扮演(AssumeRole)。
授權方式(二選一):
方式一:主帳號在 RAM 控制台提前授權
主帳號登入 RAM 控制台,為子帳號添加自訂策略,授予對目標角色的 sts:AssumeRole 許可權。樣本策略:
{
"Statement": [
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Resource": "acs:ram::<主帳號ID>:role/<RoleName>"
}
],
"Version": "1"
}方式二:在 AI VibeFlow 控制台快捷建立
建立資料管道嚮導的"授權角色"步驟中,選擇"建立角色",系統將自動建立 oss-embedding-{uuid} 並綁定到當前子帳號,無需主帳號額外操作。
注意:使用快捷建立功能需要子帳號擁有以下 RAM 許可權,主帳號需提前在 RAM 控制台授予:
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ram:CreateRole",
"ram:CreatePolicy",
"ram:AttachPolicyToRole"
],
"Resource": "*"
}
]
}Step 3:確認角色許可權和信任策略
使用"建立角色"快捷建立時,系統自動設定角色的權限原則和信任策略,無需手動操作。如果使用自訂角色,需確保角色擁有以下配置:
權限原則(角色需要的操作許可權):
{
"Version": "1",
"Statement": [
{
"Action": [
"oss:GetObject",
"oss:GetObjectTagging",
"oss:GetBucketStat",
"oss:ListObjects"
],
"Resource": [
"acs:oss:*:*:<源端Bucket名稱>",
"acs:oss:*:*:<源端Bucket名稱>/*"
],
"Effect": "Allow"
},
{
"Action": [
"oss:GetVectorIndex",
"oss:PutVectors",
"oss:DeleteVectors"
],
"Resource": [
"acs:ossvector:*:*:<向量Bucket名稱>",
"acs:ossvector:*:*:<向量Bucket名稱>/<向量索引名稱>"
],
"Effect": "Allow"
},
{
"Action": [
"oss:PutObject",
"oss:GetBucketStat"
],
"Resource": [
"acs:oss:*:*:<錯誤資訊接收Bucket名稱>",
"acs:oss:*:*:<錯誤資訊接收Bucket名稱>/*"
],
"Effect": "Allow"
}
]
}向量資源首碼為 acs:ossvector:*:*:(非 acs:oss:*:*:)。未配置串聯刪除可去掉 oss:DeleteVectors;未配置錯誤接收 Bucket 可去掉第三組 Statement。
信任策略(允許 OSS 服務扮演該角色):
{
"Statement": [
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Principal": {
"Service": [
"datapipeline-oss.aliyuncs.com"
]
}
}
],
"Version": "1"
}