全部產品
Search
文件中心

Object Storage Service:使用 AI VibeFlow 生產向量資料

更新時間:Jul 09, 2026

資料管道(DataPipeline)是 AI VibeFlow 中的核心管理對象。可以通過控制台、ossutil、SDK 或 API 建立資料管道,將 OSS 通用 Bucket 中的文本、圖片、視頻等非結構化資料自動向量化並寫入 OSS 向量 Bucket。

說明

當前功能白名單開放,需聯絡支援人員申請使用。

前提條件

  • 已開通 OSS 服務,並在目標地區建立了對象 Bucket(存放未經處理資料)。

  • 已在與對象 Bucket 相同地區建立向量 Bucket 和 向量索引,且索引維度與選用的百鍊向量模型輸出維度一致。建立方法請參見向量 Bucket

  • 已開通阿里雲百鍊並擷取 API Key(以 sk- 開頭),確認您的百鍊 API Key 對應的限流配額(RPM/TPM)滿足預期處理速度要求,如需提升吞吐,需要:通過百鍊控制台或聯絡支援人員提升處理QPS。

  • 使用 RAM 子帳號(而非主帳號)操作 AI VibeFlow 時,需要提前完成以下許可權配置

建立資料管道

單個主帳號在單個地區最多建立 1000 條資料管道。資料管道建立後不可修改,如需調整請刪除後重建。

控制台

  1. 登入 OSS 管理主控台

  2. 在左側導覽列,單擊 AI VibeFlow

  3. 在 AI VibeFlow 頁面,單擊建立資料管道

  4. 在建立資料管道面板中,按照以下說明填寫各項配置,然後單擊確定

    • 基礎配置

      • 規則名稱:最多 64 個字元,支援大小寫英文字母、數字、連字號(-)和底線(_);同一帳號同地區不可重複。

      • 規則描述:可選,最多 200 個字元。

    • 來源資料配置

      • 源端 Bucket:先選擇地區,再選擇目標 Bucket。

      • 源端檔案範圍全部檔案處理 Bucket 內全部對象;指定檔案名稱首碼僅處理匹配首碼的對象。

      • 源端檔案類型:可多選文本圖片視頻,需與後續向量模型能力匹配。

      • 處理模式僅處理存量起始資料(建立時已存在的檔案);僅處理後續增量資料(新上傳檔案自動觸發);處理存量和後續增量資料

    • 向量化配置

      • 向量模型來源:當前僅支援阿里雲百鍊

      • API KEY:輸入百鍊 API Key,以 sk- 開頭,長度 35~128 個字元。

      • 向量模型:文本模型如 text-embedding-v4(預設)、text-embedding-v3;多模態模型如 tongyi-embedding-vision-plustongyi-embedding-vision-flash。確保模型輸出維度與向量索引維度一致。

      • 視頻截幀頻率:僅多模態模型可配置,取值 (0, 1],預設 1.0。數值越小抽幀越少。

      • 串聯刪除設定原始 Object 刪除時,保留對應向量資料(預設);原始 Object 刪除時,刪除對應向量資料

    • 目的端資料配置

      • 向量 Bucket:必須與源端 Bucket 位於同一地區。

      • 向量 Index:從所選向量 Bucket 的索引列表中選擇目標索引表,索引維度須與向量模型輸出維度相同。

      • 向量 Key 命名方式:可選。填寫首碼後格式為 {首碼}/{ObjectKey};不填時與 ObjectKey 保持一致。

      • 將 ObjectTag 作為中繼資料:可選,最多 10 個鍵,用於後續標量過濾檢索。

      • 將 UserMeta 作為中繼資料:可選,最多 10 個鍵,系統自動補齊 X-OSS-META- 首碼。

    • 異常處理與授權

      • 異常情況處理方式跳過異常並繼續執行後續處理任務跳過異常並繼續執行後續處理任務,同時擷取異常資訊詳情(需配置錯誤資訊接收 Bucket 與首碼,接收 Bucket 需與源端 Bucket 位於同一地區且不能為源端 Bucket 本身);一旦異常立即終止後續任務

      • 授權角色:選擇建立角色自動建立 oss-embedding-{uuid} 並綁定。

    • 確認配置:檢查所有配置項,確認無誤後單擊確定

ossutil

使用樣本

先將資料管道配置寫入 config.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<DataPipelineConfiguration>
  <Sources>
      <InputBucket>my-bucket</InputBucket>
      <InputDataScope>All</InputDataScope>
  </Sources>
  <DataPipelineEmbeddingConfiguration>
      <EmbeddingProvider>bailian</EmbeddingProvider>
      <ApiKey>sk-xxxx</ApiKey>
      <Model>qwen2.5-vl-embedding</Model>
  </DataPipelineEmbeddingConfiguration>
  <Destination>
      <VectorBucketName>my-vector-bucket</VectorBucketName>
      <VectorIndexNames>my-index</VectorIndexNames>
  </Destination>
  <DataPipelineError>
      <ErrorMode>ignore</ErrorMode>
  </DataPipelineError>
</DataPipelineConfiguration>

再執行命令建立資料管道:

ossutil api do-data-pipe-line-action --action putDataPipelineConfiguration \
  --parameters dataPipelineName=my-data-pipeline \
  --parameters role=acs:ram::<AccountId>:role/my-data-pipeline-role \
  --body file://config.xml \
  --region cn-hangzhou

SDK

Java

import com.aliyun.sdk.service.oss2.credentials.CredentialsProvider;
import com.aliyun.sdk.service.oss2.credentials.EnvironmentVariableCredentialsProvider;
import com.aliyun.sdk.service.oss2.dataprocess.OSSDataProcessClient;
import com.aliyun.sdk.service.oss2.dataprocess.models.*;
import java.util.Arrays;
import java.util.Collections;

public class PutDataPipelineConfigurationSample {
    public static void main(String[] args) throws Exception {
        String role = "acs:ram::<AccountId>:role/my-data-pipeline-role";
        CredentialsProvider provider = new EnvironmentVariableCredentialsProvider();
        try (OSSDataProcessClient client = OSSDataProcessClient.newBuilder()
                .region("cn-hangzhou")
                .credentialsProvider(provider)
                .build()) {

            DataPipelineSourceFilterConfiguration filterConfig =
                    DataPipelineSourceFilterConfiguration.newBuilder()
                            .prefixSet(Arrays.asList("data/"))
                            .objectMediaTypes(Arrays.asList("image", "video"))
                            .build();

            DataPipelineSource source = DataPipelineSource.newBuilder()
                    .inputBucket("my-bucket")
                    .inputDataScope("All")
                    .ignoreDelete(true)
                    .filterConfiguration(filterConfig)
                    .build();

            DataPipelineEmbeddingConfiguration embeddingConfig =
                    DataPipelineEmbeddingConfiguration.newBuilder()
                            .embeddingProvider("bailian")
                            .apiKey("sk-xxxx")
                            .model("qwen2.5-vl-embedding")
                            .fps(1.0f)
                            .build();

            DataPipelineDestination destination = DataPipelineDestination.newBuilder()
                    .vectorBucketName("my-vector-bucket")
                    .vectorIndexNames(Collections.singletonList("my-index"))
                    .build();

            PutDataPipelineConfigurationConfiguration config =
                    PutDataPipelineConfigurationConfiguration.newBuilder()
                            .dataPipelineDescription("Data pipeline sample")
                            .sources(Collections.singletonList(source))
                            .dataPipelineEmbeddingConfiguration(embeddingConfig)
                            .destination(destination)
                            .build();

            PutDataPipelineConfigurationResult result = client.putDataPipelineConfiguration(
                    PutDataPipelineConfigurationRequest.newBuilder()
                            .dataPipelineName("my-data-pipeline")
                            .role(role)
                            .putDataPipelineConfigurationConfiguration(config)
                            .build());

            System.out.printf("Status code:%d, request id:%s%n",
                    result.statusCode(), result.requestId());

        } catch (Exception e) {
            System.out.printf("error:%n%s", e);
        }
    }
}

Go

package main

import (
	"context"
	"log"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/dataprocess"
)

func main() {
	region := "cn-hangzhou"
	role := "acs:ram::<AccountId>:role/my-data-pipeline-role"
	apiKey := "sk-xxxx"
	dataPipelineName := "my-data-pipeline"

	cfg := oss.LoadDefaultConfig().
		WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
		WithRegion(region)

	client := dataprocess.NewClient(cfg)

	result, err := client.PutDataPipelineConfiguration(context.TODO(), &dataprocess.PutDataPipelineConfigurationRequest{
		DataPipelineName: oss.Ptr(dataPipelineName),
		Role:             oss.Ptr(role),
		DataPipelineConfiguration: &dataprocess.DataPipelineConfiguration{
			DataPipelineDescription: oss.Ptr("Vectorize business data using the BERT multimodal model"),
			Sources: []dataprocess.DataPipelineSource{
				{
					InputBucket:    oss.Ptr("bucket"),
					InputDataScope: oss.Ptr("All"),
					FilterConfiguration: &dataprocess.DataPipelineSourceFilterConfiguration{
						PrefixSet:        []string{"prefix1"},
						ObjectMediaTypes: []string{"text"},
					},
				},
			},
			DataPipelineEmbeddingConfiguration: &dataprocess.DataPipelineEmbeddingConfiguration{
				ApiKey:            oss.Ptr(apiKey),
				EmbeddingProvider: oss.Ptr("bailian"),
				FPS:               oss.Ptr(float64(1)),
				Model:             oss.Ptr("qwen2.5-vl-embedding"),
			},
			Destination: &dataprocess.DataPipelineDestination{
				VectorBucketName:    oss.Ptr("my-vector-bucket"),
				VectorIndexNames:    []string{"index"},
				VectorKeyPrefix:     oss.Ptr("prefix"),
				ObjectTagToMetadata: []string{"key1"},
				UsermetaToMetadata:  []string{"x-oss-meta-key1"},
			},
			DataPipelineError: &dataprocess.DataPipelineError{
				ErrorMode:   oss.Ptr("ignoreAndRecord"),
				ErrorBucket: oss.Ptr("my-error-bucket"),
				ErrorPrefix: oss.Ptr("error-output/"),
			},
		},
	})

	if err != nil {
		log.Fatalf("failed to put pipeline configuration %v", err)
	}
	log.Printf("put pipeline configuration result:%#v\n", result)
}

API

調用PutDataPipelineConfiguration介面建立資料管道。

擷取資料管道配置

控制台

  1. AI VibeFlow 頁面,單擊目標資料管道的規則名稱或操作列的詳情

  2. 進入詳情頁面,查看基礎配置、來源資料配置、向量化配置、目的端配置、異常處理配置、授權配置等完整資訊。

ossutil

使用樣本

ossutil api do-data-pipe-line-action --action getDataPipelineConfiguration \
  --parameters dataPipelineName=my-data-pipeline \
  --region cn-hangzhou

SDK

Java

import com.aliyun.sdk.service.oss2.credentials.CredentialsProvider;
import com.aliyun.sdk.service.oss2.credentials.EnvironmentVariableCredentialsProvider;
import com.aliyun.sdk.service.oss2.dataprocess.OSSDataProcessClient;
import com.aliyun.sdk.service.oss2.dataprocess.models.*;

public class GetDataPipelineConfigurationSample {
    public static void main(String[] args) throws Exception {
        CredentialsProvider provider = new EnvironmentVariableCredentialsProvider();
        try (OSSDataProcessClient client = OSSDataProcessClient.newBuilder()
                .region("cn-hangzhou")
                .credentialsProvider(provider)
                .build()) {

            GetDataPipelineConfigurationResult result = client.getDataPipelineConfiguration(
                    GetDataPipelineConfigurationRequest.newBuilder()
                            .dataPipelineName("my-data-pipeline")
                            .build());

            System.out.printf("Status code:%d, request id:%s%n",
                    result.statusCode(), result.requestId());

            DataPipelineConfiguration cfg = result.dataPipelineConfiguration();
            if (cfg != null) {
                System.out.printf("Pipeline name:%s, status:%s, role:%s, createTime:%s%n",
                        cfg.dataPipelineName(), cfg.status(),
                        cfg.dataPipelineRole(), cfg.createTime());
            }

        } catch (Exception e) {
            System.out.printf("error:%n%s", e);
        }
    }
}

Go

package main

import (
	"context"
	"log"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/dataprocess"
)

func main() {
	region := "cn-hangzhou"
	dataPipelineName := "my-data-pipeline"

	cfg := oss.LoadDefaultConfig().
		WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
		WithRegion(region)

	client := dataprocess.NewClient(cfg)

	result, err := client.GetDataPipelineConfiguration(context.TODO(), &dataprocess.GetDataPipelineConfigurationRequest{
		DataPipelineName: oss.Ptr(dataPipelineName),
	})

	if err != nil {
		log.Fatalf("failed to get pipeline configuration %v", err)
	}
	log.Printf("get pipeline configuration result:%#v\n", result)
}

API

調用GetDataPipelineConfiguration介面擷取資料管道配置。

列舉資料管道

控制台

AI VibeFlow 頁面可直接查看當前帳號在所選地區下所有資料管道的列表,包含規則名稱、描述、狀態、建立時間等資訊。

ossutil

使用樣本

ossutil api do-data-pipe-line-action --action listDataPipelineConfigurations \
  --parameters maxResults=100 \
  --region cn-hangzhou

SDK

Java

import com.aliyun.sdk.service.oss2.credentials.CredentialsProvider;
import com.aliyun.sdk.service.oss2.credentials.EnvironmentVariableCredentialsProvider;
import com.aliyun.sdk.service.oss2.dataprocess.OSSDataProcessClient;
import com.aliyun.sdk.service.oss2.dataprocess.models.*;

public class ListDataPipelineConfigurationsSample {
    public static void main(String[] args) throws Exception {
        CredentialsProvider provider = new EnvironmentVariableCredentialsProvider();
        try (OSSDataProcessClient client = OSSDataProcessClient.newBuilder()
                .region("cn-hangzhou")
                .credentialsProvider(provider)
                .build()) {

            String nextToken = null;
            do {
                ListDataPipelineConfigurationsRequest.Builder reqBuilder =
                        ListDataPipelineConfigurationsRequest.newBuilder().maxResults(100);
                if (nextToken != null) {
                    reqBuilder.nextToken(nextToken);
                }

                ListDataPipelineConfigurationsResult result =
                        client.listDataPipelineConfigurations(reqBuilder.build());

                System.out.printf("Status code:%d, request id:%s%n",
                        result.statusCode(), result.requestId());

                if (result.dataPipelineConfigurations() != null) {
                    for (DataPipelineConfiguration cfg : result.dataPipelineConfigurations()) {
                        System.out.printf("Pipeline: name=%s, status=%s, createTime=%s%n",
                                cfg.dataPipelineName(), cfg.status(), cfg.createTime());
                    }
                }

                nextToken = result.nextToken();
            } while (nextToken != null && !nextToken.isEmpty());

        } catch (Exception e) {
            System.out.printf("error:%n%s", e);
        }
    }
}

Go

package main

import (
	"context"
	"log"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/dataprocess"
)

func main() {
	region := "cn-hangzhou"

	cfg := oss.LoadDefaultConfig().
		WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
		WithRegion(region)

	client := dataprocess.NewClient(cfg)

	p := client.NewListDataPipelineConfigurationsPaginator(&dataprocess.ListDataPipelineConfigurationsRequest{})

	var i int
	log.Println("Data Pipeline Configurations:")
	for p.HasNext() {
		i++

		page, err := p.NextPage(context.TODO())
		if err != nil {
			log.Fatalf("failed to get page %v, %v", i, err)
		}

		for _, data := range page.DataPipelineConfigurations {
			log.Printf("Data Pipeline Name:%v, Data Pipeline Description:%v, Data Pipeline Role:%v, Status:%v, Phase:%v\n", oss.ToString(data.DataPipelineName), oss.ToString(data.DataPipelineDescription), oss.ToString(data.DataPipelineRole), oss.ToString(data.Status), oss.ToString(data.Phase))
		}
	}
}

API

調用ListDataPipelineConfigurations介面列舉資料管道。

暫停資料管道

處於運行中狀態的管道支援暫停。暫停後未處理檔案保持等待,已寫入向量資料不受影響。

控制台

在 AI VibeFlow 頁面找到目標資料管道,在操作列單擊暫停

ossutil

使用樣本

ossutil api do-data-pipe-line-action --action pauseDataPipeline \
  --parameters dataPipelineName=my-data-pipeline \
  --region cn-hangzhou

SDK

Java

import com.aliyun.sdk.service.oss2.credentials.CredentialsProvider;
import com.aliyun.sdk.service.oss2.credentials.EnvironmentVariableCredentialsProvider;
import com.aliyun.sdk.service.oss2.dataprocess.OSSDataProcessClient;
import com.aliyun.sdk.service.oss2.dataprocess.models.*;

public class PauseDataPipelineSample {
    public static void main(String[] args) throws Exception {
        CredentialsProvider provider = new EnvironmentVariableCredentialsProvider();
        try (OSSDataProcessClient client = OSSDataProcessClient.newBuilder()
                .region("cn-hangzhou")
                .credentialsProvider(provider)
                .build()) {

            PauseDataPipelineResult result = client.pauseDataPipeline(
                    PauseDataPipelineRequest.newBuilder()
                            .dataPipelineName("my-data-pipeline")
                            .build());

            System.out.printf("Status code:%d, request id:%s%n",
                    result.statusCode(), result.requestId());

        } catch (Exception e) {
            System.out.printf("error:%n%s", e);
        }
    }
}

Go

package main

import (
	"context"
	"log"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/dataprocess"
)

func main() {
	region := "cn-hangzhou"
	dataPipelineName := "my-data-pipeline"

	cfg := oss.LoadDefaultConfig().
		WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
		WithRegion(region)

	client := dataprocess.NewClient(cfg)

	result, err := client.PauseDataPipeline(context.TODO(), &dataprocess.PauseDataPipelineRequest{
		DataPipelineName: oss.Ptr(dataPipelineName),
	})

	if err != nil {
		log.Fatalf("failed to pause pipeline %v", err)
	}
	log.Printf("pause pipeline result:%#v\n", result)
}

API

調用PauseDataPipeline介面暫停資料管道。

重啟資料管道

已暫停管道可重啟繼續處理。若因索引寫滿自動暫停,請先建立新索引再重啟。

控制台

在 AI VibeFlow 頁面找到目標資料管道,在操作列單擊重啟

ossutil

使用樣本

ossutil api do-data-pipe-line-action --action restartDataPipeline \
  --parameters dataPipelineName=my-data-pipeline \
  --region cn-hangzhou

SDK

Java

import com.aliyun.sdk.service.oss2.credentials.CredentialsProvider;
import com.aliyun.sdk.service.oss2.credentials.EnvironmentVariableCredentialsProvider;
import com.aliyun.sdk.service.oss2.dataprocess.OSSDataProcessClient;
import com.aliyun.sdk.service.oss2.dataprocess.models.*;

public class RestartDataPipelineSample {
    public static void main(String[] args) throws Exception {
        CredentialsProvider provider = new EnvironmentVariableCredentialsProvider();
        try (OSSDataProcessClient client = OSSDataProcessClient.newBuilder()
                .region("cn-hangzhou")
                .credentialsProvider(provider)
                .build()) {

            RestartDataPipelineResult result = client.restartDataPipeline(
                    RestartDataPipelineRequest.newBuilder()
                            .dataPipelineName("my-data-pipeline")
                            .build());

            System.out.printf("Status code:%d, request id:%s%n",
                    result.statusCode(), result.requestId());

        } catch (Exception e) {
            System.out.printf("error:%n%s", e);
        }
    }
}

Go

package main

import (
	"context"
	"log"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/dataprocess"
)

func main() {
	region := "cn-hangzhou"
	dataPipelineName := "my-data-pipeline"

	cfg := oss.LoadDefaultConfig().
		WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
		WithRegion(region)

	client := dataprocess.NewClient(cfg)

	result, err := client.RestartDataPipeline(context.TODO(), &dataprocess.RestartDataPipelineRequest{
		DataPipelineName: oss.Ptr(dataPipelineName),
	})

	if err != nil {
		log.Fatalf("failed to restart pipeline %v", err)
	}
	log.Printf("restart pipeline result:%#v\n", result)
}

API

調用RestartDataPipeline介面重啟資料管道。

刪除資料管道

刪除後 OSS 停止向量化處理,已寫入向量 Bucket 的向量資料不會被刪除。運行中管道請先暫停再刪除。刪除操作不可撤銷。

控制台

在 AI VibeFlow 頁面找到目標資料管道,在操作列單擊刪除,確認後完成刪除。

ossutil

使用樣本

ossutil api do-data-pipe-line-action --action deleteDataPipelineConfiguration \
  --parameters dataPipelineName=my-data-pipeline \
  --region cn-hangzhou

SDK

Java

import com.aliyun.sdk.service.oss2.credentials.CredentialsProvider;
import com.aliyun.sdk.service.oss2.credentials.EnvironmentVariableCredentialsProvider;
import com.aliyun.sdk.service.oss2.dataprocess.OSSDataProcessClient;
import com.aliyun.sdk.service.oss2.dataprocess.models.*;

public class DeleteDataPipelineConfigurationSample {
    public static void main(String[] args) throws Exception {
        CredentialsProvider provider = new EnvironmentVariableCredentialsProvider();
        try (OSSDataProcessClient client = OSSDataProcessClient.newBuilder()
                .region("cn-hangzhou")
                .credentialsProvider(provider)
                .build()) {

            DeleteDataPipelineConfigurationResult result = client.deleteDataPipelineConfiguration(
                    DeleteDataPipelineConfigurationRequest.newBuilder()
                            .dataPipelineName("my-data-pipeline")
                            .build());

            System.out.printf("Status code:%d, request id:%s%n",
                    result.statusCode(), result.requestId());

        } catch (Exception e) {
            System.out.printf("error:%n%s", e);
        }
    }
}

Go

package main

import (
	"context"
	"log"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/dataprocess"
)

func main() {
	region := "cn-hangzhou"
	dataPipelineName := "my-data-pipeline"

	cfg := oss.LoadDefaultConfig().
		WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
		WithRegion(region)

	client := dataprocess.NewClient(cfg)

	result, err := client.DeleteDataPipelineConfiguration(context.TODO(), &dataprocess.DeleteDataPipelineConfigurationRequest{
		DataPipelineName: oss.Ptr(dataPipelineName),
	})

	if err != nil {
		log.Fatalf("failed to delete pipeline configuration %v", err)
	}
	log.Printf("delete pipeline configuration result:%#v\n", result)
}

API

調用DeleteDataPipelineConfiguration介面刪除資料管道。

資料管道狀態說明

狀態

說明

推薦操作

準備中

管道已建立,正在初始化

稍等片刻自動進入運行中

運行中

存量資料處理中,或正在監聽增量資料

正常使用,可查看詳情瞭解進度

已完成

存量資料全部向量化完成(僅 Historical 模式)

前往向量 Bucket 執行檢索

已暫停

手動暫停或索引寫滿自動暫停

查看原因,處理後重啟

失敗

配置錯誤(API Key 無效、許可權不足等)導致終止

查看失敗原因,修正後重建管道

錯誤排查

錯誤記錄檔案

若建立管道時選擇了跳過異常並繼續執行後續處理任務,同時擷取異常資訊詳情,向量化失敗的檔案錯誤詳情會以 Object 形式寫入錯誤資訊 Bucket。

錯誤記錄檔案的路徑格式為:

{ErrorBucket}/{ErrorPrefix}/{DataPipelineName}/{ObjectKey}-{毫秒時間戳記}.log

樣本:若 ErrorBucket 為 my-error-bucket,ErrorPrefix 為 pipeline-errors,管道名為 my-image-pipeline,原始檔案 Key 為 images/photo.jpg,則錯誤記錄路徑為:

my-error-bucket/pipeline-errors/my-image-pipeline/images/photo.jpg-1735689600000.log

錯誤記錄內容

每條錯誤記錄檔案包含以下欄位:

欄位

說明

ErrorCode

錯誤碼,用於標識失敗原因的類型

ErrorMessage

錯誤描述,對失敗原因的文字說明

RequestId

百鍊側的請求 ID,可提供給阿里雲百鍊支援人員用於問題定位

常見錯誤及處理建議

錯誤情境

可能原因

處理建議

向量化請求被拒絕

API Key 無效或已到期

在百鍊控制台確認 Key 狀態,重建管道

向量化請求超限

RPM/TPM 達到上限

聯絡百鍊提高限流,任務會自動排隊重試

向量寫入失敗

維度與索引不匹配

確認所選百鍊模型的輸出維度與向量索引維度一致;重建資料管道

源檔案讀取失敗

檔案已刪除

核實源檔案是否仍存在;無需處理,管道會跳過並繼續

向量索引已滿

索引行數達 20 億行

建立新的向量索引,並建立資料管道繼續處理