O DataPipeline é o objeto central de gerenciamento no AI VibeFlow. Você pode criar um DataPipeline pelo console, ossutil, SDK ou API para vetorizar automaticamente dados não estruturados — como textos, imagens e vídeos — em um bucket de uso geral do OSS e gravar os vetores resultantes em um bucket vetorial do OSS.
Este recurso está disponível apenas para usuários incluídos na lista de permissões. Para utilizá-lo, entre em contato com o suporte técnico e envie uma solicitação.
Pré-requisitos
O OSS deve estar ativado e um bucket de objetos (para armazenar os dados brutos) deve existir na região de destino.
Um bucket vetorial e um índice vetorial devem estar criados na mesma região do bucket de objetos, com dimensões de índice idênticas às dimensões de saída do modelo vetorial do Model Studio selecionado. Para saber como criá-los, consulte Vector bucket.
Ative o Alibaba Cloud Model Studio e obtenha uma chave de API (que começa com
sk-). Verifique se a cota de limitação (RPM/TPM) da sua chave de API do Model Studio atende à velocidade de processamento esperada. Para aumentar o throughput, solicite uma cota maior de RPM/TPM pelo console do Model Studio ou entre em contato com o suporte técnico para elevar o QPS de processamento.Caso utilize um usuário RAM (em vez da conta Alibaba Cloud) para operar o AI VibeFlow, conclua antecipadamente as etapas descritas em permission configuration.
Criar um DataPipeline
Uma única conta Alibaba Cloud pode criar até 1.000 DataPipelines em uma única região. Não é possível modificar um DataPipeline após a criação. Para ajustá-lo, exclua-o e crie um novo.
Console
Faça login no console do OSS.
No painel de navegação à esquerda, clique em AI VibeFlow.
Na página do AI VibeFlow, clique em Create Data Pipeline.
-
No painel Create Data Pipeline, configure os itens abaixo conforme as instruções e clique em OK.
-
Configurações básicas
Rule Name: até 64 caracteres. Aceita letras maiúsculas e minúsculas, dígitos, hifens (-) e sublinhados (_). O nome deve ser exclusivo dentro da mesma conta e região.
Rule Description: opcional, com até 200 caracteres.
-
Configurações dos dados de origem
Source Bucket: selecione primeiro a região e, em seguida, o bucket de destino.
Source File Scope: All Files processa todos os objetos do bucket; Specify File Name Prefix processa apenas os objetos correspondentes ao prefixo informado.
Source File Type: é possível selecionar vários tipos entre Text, Image e Video. A seleção deve ser compatível com as capacidades do modelo vetorial que será usado posteriormente.
Processing Mode: Process Existing Data Only (arquivos já existentes no momento da criação do pipeline); Process Incremental Data Only (novos arquivos enviados acionam o processamento automaticamente); Process Existing and Incremental Data.
-
Configurações de vetorização
Vector Model Source: atualmente, apenas o Alibaba Cloud Model Studio é suportado.
API Key: insira a chave de API do Model Studio, que começa com
sk-e possui entre 35 e 128 caracteres.Vector Model: modelos de texto como
text-embedding-v4(padrão) etext-embedding-v3; modelos multimodais comotongyi-embedding-vision-plusetongyi-embedding-vision-flash. Certifique-se de que as dimensões de saída do modelo correspondam às dimensões do índice vetorial.Video Snapshot Frequency: configurável apenas para modelos multimodais. O intervalo de valores é (0, 1], sendo o valor padrão 1,0. Valores menores capturam menos quadros.
Cascade Delete Settings: Retain vector data when the source object is deleted (padrão); Delete corresponding vector data when the source object is deleted.
-
Configurações dos dados de destino
Vector Bucket: deve estar localizado na mesma região do bucket de origem.
Vector Index: selecione o índice desejado na lista de índices do bucket vetorial escolhido. As dimensões do índice devem coincidir com as dimensões de saída do modelo vetorial.
Vector Key Naming Method: opcional. Se você inserir um prefixo, o formato será
{prefix}/{ObjectKey}. Se deixar em branco, a chave do vetor será igual àObjectKey.Use ObjectTag as Metadata: opcional, até 10 chaves, utilizadas para filtragem escalar subsequente durante a recuperação.
Use UserMeta as Metadata: opcional, até 10 chaves. O sistema adiciona automaticamente o prefixo
X-OSS-META-.
-
Tratamento de exceções e autorização
Exception Handling: Continue tasks despite errors; Skip exceptions and continue with subsequent tasks while recording exception details (é necessário configurar Exception Information Bucket e Exception Log Prefix para receber mensagens de erro; o bucket receptor deve estar na mesma região do bucket de origem e não pode ser o próprio bucket de origem); Stop subsequent tasks on failure.
Authorization Role: selecione New RAM Role para criar e vincular automaticamente a função
oss-embedding-{uuid}.
Confirmação das configurações: revise todas as definições e clique em OK após confirmar que estão corretas.
-
ossutil
Exemplos
Primeiro, escreva a configuração do data pipeline no arquivo 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>myIndex</VectorIndexNames>
</Destination>
<DataPipelineError>
<ErrorMode>ignore</ErrorMode>
</DataPipelineError>
</DataPipelineConfiguration>
Em seguida, execute o comando para criar o data pipeline:
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
Chame a operação PutDataPipelineConfiguration para criar um DataPipeline.
Obter a configuração do DataPipeline
Console
Na página AI VibeFlow, clique no Rule Name do
DataPipelinedesejado ou clique em View Details na coluna Actions.Na página de detalhes, visualize as informações completas, incluindo configurações básicas, dados de origem, vetorização, destino, tratamento de exceções e autorização.
ossutil
Exemplos
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
Chame a operação GetDataPipelineConfiguration para obter a configuração do DataPipeline.
Listar DataPipelines
Console
Na página AI VibeFlow, é possível visualizar diretamente a lista de todos os DataPipelines da conta atual na região selecionada, com informações como nome da regra, descrição, status e data de criação.
ossutil
Exemplos
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
Chame a operação ListDataPipelineConfigurations para listar DataPipelines.
Pausar um DataPipeline
É possível pausar um pipeline com status Running. Após a pausa, os arquivos ainda não processados permanecem em estado de espera, e os dados vetoriais já gravados não são afetados.
Console
Na página do AI VibeFlow, localize o DataPipeline desejado e clique em Suspend na coluna Actions.
ossutil
Exemplos
ossutil api do-data-pipe-line-action --action pauseDataPipeline \
--parameters dataPipelineName=my-data-pipeline \
--region cn-hangzhou
SDK
Java
package com.example.oss.dataprocess;
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"
bucketName := "exampleBucket"
dataPipelineName := "my-data-pipeline"
cfg := oss.LoadDefaultConfig().
WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
WithRegion(region)
client := dataprocess.NewClient(cfg)
result, err := client.PauseDataPipeline(context.TODO(), &dataprocess.PauseDataPipelineRequest{
Bucket: oss.Ptr(bucketName),
DataPipelineName: oss.Ptr(dataPipelineName),
})
if err != nil {
log.Fatalf("failed to pause pipeline %v", err)
}
log.Printf("pause pipeline result:%#v\n", result)
}
API
Chame a operação PauseDataPipeline para pausar um DataPipeline.
Reiniciar um DataPipeline
Um pipeline pausado pode ser reiniciado para retomar o processamento. Se a pausa ocorreu automaticamente porque o índice atingiu a capacidade máxima, crie um novo índice antes de reiniciar o pipeline.
Console
Na página do AI VibeFlow, localize o DataPipeline desejado e clique em Restart na coluna Actions.
ossutil
Exemplos
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
Chame a operação RestartDataPipeline para reiniciar um DataPipeline.
Excluir um DataPipeline
Após a exclusão de um pipeline, o OSS interrompe a vetorização, mas os dados vetoriais já gravados no bucket vetorial não são removidos. Pause um pipeline em execução antes de excluí-lo. Essa ação é irreversível.
Console
Na página do AI VibeFlow, localize o DataPipeline desejado, clique em Delete na coluna Actions e confirme para concluir a exclusão.
ossutil
Exemplos
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
Chame a operação DeleteDataPipelineConfiguration para excluir um DataPipeline.
Descrição dos status do DataPipeline
|
Status |
Descrição |
Ação recomendada |
|
Preparing |
O pipeline foi criado e está sendo inicializado. |
Aguarde alguns instantes. Ele entrará automaticamente no estado Running. |
|
Running |
Dados existentes estão sendo processados ou dados incrementais estão sendo monitorados. |
Utilize normalmente. Clique em View Details para acompanhar o progresso. |
|
Completed |
Todos os dados existentes foram vetorizados (apenas no modo Process Existing Data Only). |
Acesse o bucket vetorial para realizar buscas. |
|
Paused |
Pausado manualmente ou automaticamente devido ao índice cheio. |
Verifique a causa e reinicie após resolvê-la. |
|
Failed |
Interrompido por erros de configuração (como chave de API inválida ou permissões insuficientes). |
Analise o motivo da falha, corrija o problema e recrie o pipeline. |
Solução de problemas
Arquivos de registro de erros
Se você selecionou Skip exceptions and continue with subsequent tasks while recording exception details ao criar o pipeline, os detalhes dos erros de arquivos que falharam na vetorização serão gravados como objetos no Exception Information Bucket.
O formato do caminho do arquivo de registro de erros é:
{ErrorBucket}/{ErrorPrefix}/{DataPipelineName}/{ObjectKey}-{millisecond timestamp}.log
Exemplo: se ErrorBucket for my-error-bucket, ErrorPrefix for pipeline-errors, o nome do pipeline for my-image-pipeline e a chave do objeto de origem for images/photo.jpg, o caminho do registro de erro será:
my-error-bucket/pipeline-errors/my-image-pipeline/images/photo.jpg-1735689600000.log
Conteúdo do registro de erros
Cada arquivo de registro de erros contém os seguintes campos:
|
Campo |
Descrição |
|
ErrorCode |
Código do erro, que identifica o tipo de causa da falha. |
|
ErrorMessage |
Descrição do erro, fornecendo uma explicação textual da causa da falha. |
|
RequestId |
ID da solicitação no lado do Model Studio, que pode ser fornecido ao suporte técnico do Alibaba Cloud Model Studio para localizar o problema. |
Erros comuns e sugestões de tratamento
|
Cenário de erro |
Possível causa |
Sugestão de tratamento |
|
A solicitação de vetorização foi rejeitada. |
A chave de API é inválida ou expirou. |
Verifique o status da chave no console do Model Studio e recrie o pipeline. |
|
A solicitação de vetorização excedeu o limite. |
O RPM/TPM atingiu o limite máximo. |
Entre em contato com o Model Studio para aumentar o limite de taxa. As tarefas serão enfileiradas e tentadas novamente automaticamente. |
|
Falha ao gravar o vetor. |
As dimensões não correspondem ao índice. |
Confirme se as dimensões de saída do modelo do Model Studio selecionado são iguais às dimensões do índice vetorial e recrie o DataPipeline. |
|
Falha ao ler o arquivo de origem. |
O arquivo foi excluído. |
Verifique se o arquivo de origem ainda existe. Nenhuma ação é necessária; o pipeline o ignorará e continuará. |
|
O índice vetorial está cheio. |
O número de linhas do índice atingiu 2 bilhões. |
Crie um novo índice vetorial e um novo DataPipeline para continuar o processamento. |