Todos os produtos
Search
Central de documentação

Object Storage Service:AI content awareness

Última atualização: Jul 03, 2026

Ao armazenar grandes volumes de dados não estruturados, como imagens e vídeos, no Object Storage Service (OSS), os métodos tradicionais de busca baseados em nomes de arquivos ou tags manuais tornam-se ineficientes. Essas abordagens não compreendem a semântica do conteúdo dos arquivos. O OSS utiliza modelos de IA multimodais para extrair automaticamente descrições semânticas e resumos concisos dos arquivos em um bucket. Essas informações criam um índice pesquisável que permite buscar o conteúdo dos arquivos diretamente em linguagem natural. Use recursos avançados de pesquisa, como busca de texto para imagem e de texto para vídeo, para aumentar significativamente a precisão e a eficiência na recuperação de dados. Além disso, obtenha uma base sólida para desenvolver aplicações avançadas, como geração aumentada por recuperação (RAG).

Cenários

  • Pesquisa inteligente para cenários de câmera IP (IPC): Em ambientes de segurança inteligente, este recurso oferece suporte à pesquisa semântica para reprodução de vídeo, envio de eventos de monitoramento e recomendação de palavras-chave em tendência no aplicativo. Por exemplo, ao assistir a uma gravação, o usuário final recebe automaticamente as "Palavras-chave em Tendência Hoje".

  • Base de conhecimento para geração aumentada por recuperação (RAG): Construa uma base de conhecimento RAG externa usando o grande volume de dados e as capacidades de consciência de conteúdo do OSS. Quando um usuário faz uma pergunta, o recurso de consciência de conteúdo aprimora o processo de recuperação do RAG. Assim, os modelos grandes recebem um contexto mais preciso e relevante para gerar respostas de maior qualidade.

  • Plataforma de armazenamento e gestão de conhecimento: Desenvolva plataformas de gestão de conhecimento, gestão de ativos de mídia e escritórios inteligentes corporativos com base no conteúdo obtido pela indexação de dados e consciência de conteúdo do OSS. Os recursos de indexação de dados e consciência de conteúdo extraem quase 70 itens de metadados de arquivos multimídia. Utilize esses metadados para criar plataformas de gestão de conhecimento baseadas em nuvem.

Como funciona

A pesquisa semântica é o núcleo da Consciência de Conteúdo com IA. Ela compreende a linguagem natural para corresponder consultas ao conteúdo multimídia dos arquivos, em vez de depender da correspondência tradicional de palavras-chave. O processo ocorre da seguinte forma:

  1. Ative o recurso e realize a indexação inicial: Ao ativar este recurso para um bucket, o sistema inicia uma varredura única dos arquivos existentes e processa assincronamente todos os arquivos compatíveis no bucket.

  2. Extraia recursos e gere descrições: O sistema usa um modelo grande para extrair os principais recursos semânticos de cada arquivo. Ele gera dois tipos de texto descritivo com consciência de conteúdo: uma descrição detalhada (cerca de 100 palavras) e um resumo conciso (menos de 20 palavras).

  3. Vetorize e crie um índice: O sistema vetoriza os recursos semânticos e as descrições com consciência de conteúdo dos arquivos. Em seguida, constrói uma biblioteca de índices vetoriais para suportar pesquisas de alto desempenho em larga escala.

  4. Execute a pesquisa semântica e a reclassificação: Quando um usuário inicia uma consulta, o sistema vetoriza a instrução de busca e recupera os arquivos mais semelhantes do índice vetorial. Depois, combina as representações vetoriais e as descrições com consciência de conteúdo para reclassificar os resultados. Isso melhora a precisão e a taxa de recall, identifica informações-chave com exatidão em grandes conjuntos de dados e viabiliza uma pesquisa semântica aprimorada.

  5. Retorne resultados para aplicações: Os resultados da pesquisa incluem as descrições detalhadas e os resumos concisos gerados pelo recurso de consciência de conteúdo. Obtenha diretamente as informações-chave e utilize-as para criar aplicações avançadas, como "Tendências de Pesquisa" ou "Resumo Diário".

A indexação inicial é executada de forma assíncrona. O processo pode levar de alguns minutos a várias horas, dependendo da quantidade e do tamanho dos arquivos no bucket. Durante esse período, não é possível pesquisar os arquivos existentes. Para arquivos novos ou atualizados, o sistema aciona automaticamente uma atualização incremental do índice.

Limites

Antes de começar, verifique se o seu bucket está em uma das seguintes regiões compatíveis com a Consciência de Conteúdo com IA: China (Pequim), China (Zhangjiakou), China (Hangzhou), China (Xangai), China (Shenzhen) e China (Chengdu).

1. Criar um bucket e carregar arquivos

  1. Faça login no console do OSS.

  2. Na página Buckets, clique em Create Bucket.

  3. Na página Create Bucket, insira um nome de bucket relevante para o seu negócio, como videos-oss-metaquery. Mantenha as configurações padrão para os demais parâmetros.

  4. Clique em Create. Na página de sucesso, clique em View Bucket.

  5. Na página Objects, clique em Upload File > Scan Files. Selecione os arquivos de vídeo para upload, como VideoA.mp4, VideoB.mp4 e VideoC.mp4. Mantenha as configurações padrão para os outros parâmetros e clique em Upload.

2. Ativar a Consciência de Conteúdo com IA

Ative a Consciência de Conteúdo com IA do OSS para o seu bucket no recurso Data Index - AISearch. Após a ativação, use a API de consulta do Data Index para realizar pesquisas e consultas semânticas.

  1. No painel de navegação à esquerda, escolha File Management > Data Index.

  2. Na página Data Index, caso esteja utilizando o recurso Data Index pela primeira vez, siga as instruções para conceder permissões à função AliyunMetaQueryDefaultRole. Isso permite que o OSS gerencie dados no bucket. Após conceder as permissões, clique em Enable Data Index.

  3. Selecione AISearch. Na seção AI Content Awareness , selecione Image Content Awareness ou Video Content Awareness conforme necessário.

  4. (Opcional) Regras de filtragem de arquivos: Configure esta opção para executar a análise de IA apenas em arquivos que correspondam a regras específicas. É possível definir até cinco regras de filtragem de arquivos. Filtre por prefixo, tamanho do arquivo, LastModifiedTime ou ObjectTag. Exemplo: Adicione uma regra de prefixo com o valor videos/ para processar apenas arquivos na pasta videos.

    Nota

    Se você ativar a filtragem de arquivos, as taxas do Data Index - AISearch e as taxas de consciência de conteúdo serão cobradas com base apenas no número de arquivos filtrados.

  5. Clique em Enable.

Nota

A criação do índice de metadados leva algum tempo. A duração depende do número de objetos no bucket. Se demorar muito, atualize a página para verificar o status da ativação.

image

image

3. Executar uma consulta

Após a criação do índice, execute pesquisas semânticas usando o console, um SDK ou uma interface de linha de comando. Basta inserir um texto descritivo, como a yard with a parked car, e o sistema retorna os principais arquivos correspondentes e seus resumos de conteúdo. Desenvolva aplicações diretamente com base nesta API ou SDK. Não é necessário gerenciar a elasticidade dos recursos subjacentes, o processo de vetorização ou a criação e armazenamento de índices, pois o serviço é totalmente serverless.

Console

  1. Na página Buckets, clique no nome do seu bucket.

  2. Na página Objects, confirme se os vídeos foram carregados.

  3. No painel de navegação à esquerda, escolha File Management > Data Index.

  4. Na página Data Index, insira a yard with a parked car na caixa de pesquisa. Na seção Media Type, selecione Video. Clique em Query Now. A pesquisa retorna vídeos que correspondem à descrição, juntamente com seus resumos de conteúdo.

image

SDK

Java

O recurso de pesquisa vetorial está disponível apenas no Java SDK 3.18.2 e versões posteriores. Para mais informações, consulte Pesquisa Vetorial (Java SDK V1).

Python

Para mais informações, consulte AISearch.

import argparse
import alibabacloud_oss_v2 as oss

# Create a command-line argument parser to process command-line input.
parser = argparse.ArgumentParser(description="do meta query semantic sample")
# Add the necessary command-line arguments.
parser.add_argument('--region', help='The region in which the bucket is located.', required=True)  # The region where the bucket is located.
parser.add_argument('--bucket', help='The name of the bucket.', required=True)  # The name of the bucket.
parser.add_argument('--endpoint', help='The domain names that other services can use to access OSS')  # The OSS domain name, which is optional.

def main():
    # Parse command-line arguments.
    args = parser.parse_args()

    # Load access credentials from environment variables.
    # Before running, you need to set the environment variables: OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET.
    credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()

    # Load the default SDK configurations.
    cfg = oss.config.load_default()
    # Set the credential provider.
    cfg.credentials_provider = credentials_provider
    # Set the region.
    cfg.region = args.region
    # If an endpoint is provided, update the endpoint in the configuration.
    if args.endpoint is not None:
        cfg.endpoint = args.endpoint

    # Create an OSS client instance.
    client = oss.Client(cfg)

    # Initiate a metadata query request in AISearch mode.
    result = client.do_meta_query(oss.DoMetaQueryRequest(
            bucket=args.bucket,
            mode='semantic',
            meta_query=oss.MetaQuery(
                max_results=1000,
                query='An aerial view of a snow-covered forest',
                order='desc',
                media_types=oss.MetaQueryMediaTypes(
                    media_type=['image']
                ),
                simple_query='{"Operation":"gt", "Field": "Size", "Value": "30"}',
            ),
    ))

    # Print the retrieval results.
    print(vars(result))

if __name__ == "__main__":
    main()

Go

Para mais informações, consulte AISearch (Go SDK V2).

package main

import (
	"context"
	"flag"
	"log"

	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials"
)

var (
	region     string
	bucketName string
)

func init() {
	// Set a command-line flag to specify the region.
	flag.StringVar(&region, "region", "", "The region in which the bucket is located.")
	// Set a command-line flag to specify the bucket name.
	flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.")
}

func main() {
	flag.Parse()

	// Check if the bucket name is provided.
	if len(bucketName) == 0 {
		flag.PrintDefaults()
		log.Fatalf("invalid parameters, bucket name required")
	}

	// Check if the region is provided.
	if len(region) == 0 {
		flag.PrintDefaults()
		log.Fatalf("invalid parameters, region required")
	}

	// Create a client configuration and use credentials from environment variables and the specified region.
	cfg := oss.LoadDefaultConfig().
		WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
		WithRegion(region)

	client := oss.NewClient(cfg) // Create an OSS client.

	// Perform an AISearch operation.
	request := &oss.DoMetaQueryRequest{
		Bucket: oss.Ptr(bucketName),
		Mode:   oss.Ptr("semantic"),
		MetaQuery: &oss.MetaQuery{
			MaxResults: oss.Ptr(int64(99)),
			Query:      oss.Ptr(`{"Operation":"match","Field":"Filename","Value":"snow"}`), // The Query parameter must be in JSON format (for example, {"Operation":"match","Field":"Filename","Value":"snow"}).
			MediaTypes: &oss.MetaQueryMediaTypes{
				MediaTypes: []string{"image"}, // Specify the media types to search. In this example, "image".
			},
			SimpleQuery: oss.Ptr(`{"Operation":"gt", "Field": "Size", "Value": "30"}`),
		},
	}
	result, err := client.DoMetaQuery(context.TODO(), request)
	if err != nil {
		log.Fatalf("failed to do meta query %v", err)
	}

	log.Printf("do meta query result:%#v\n", result)
}

PHP

Para mais informações, consulte AISearch (PHP SDK V2).

<?php

// Import the autoloader file to ensure that dependency libraries are correctly loaded.
require_once __DIR__ . '/../vendor/autoload.php';

use AlibabaCloud\Oss\V2 as Oss;

// Define the description of command line arguments.
$optsdesc = [
    "region" => ['help' => 'The region in which the bucket is located.', 'required' => True], // The region where the bucket is located. This parameter is required.
    "endpoint" => ['help' => 'The domain names that other services can use to access OSS.', 'required' => False], // The endpoint that other services can use to access OSS. This parameter is optional.
    "bucket" => ['help' => 'The name of the bucket', 'required' => True], // The name of the bucket. This parameter is required.
];

// Convert the argument description to the long option format required by getopt.
// A colon (:) after each argument indicates that the argument requires a value.
$longopts = \array_map(function ($key) {
    return "$key:";
}, array_keys($optsdesc));

// Parse the command line arguments.
$options = getopt("", $longopts);

// Check whether required arguments are specified.
foreach ($optsdesc as $key => $value) {
    if ($value['required'] === True && empty($options[$key])) {
        $help = $value['help']; // Obtain the help information of the argument.
        echo "Error: the following arguments are required: --$key, $help" . PHP_EOL;
        exit(1); // If a required argument is not specified, exit the program.
    }
}

// Extract values from the parsed arguments.
$region = $options["region"]; // The region where the bucket is located.
$bucket = $options["bucket"]; // The name of the bucket.

// Load the credential information from environment variables.
// Use EnvironmentVariableCredentialsProvider to read the Access Key ID and Access Key Secret from environment variables.
$credentialsProvider = new Oss\Credentials\EnvironmentVariableCredentialsProvider();

// Use the default configurations of the SDK.
$cfg = Oss\Config::loadDefault();
$cfg->setCredentialsProvider($credentialsProvider); // Set the credential provider.
$cfg->setRegion($region); // Set the region where the bucket is located.
if (isset($options["endpoint"])) {
    $cfg->setEndpoint($options["endpoint"]); // If an endpoint is provided, set the endpoint.
}

// Create an OSS client instance.
$client = new Oss\Client($cfg);

// Perform an AISearch query for objects that meet the specified conditions.
$request = new Oss\Models\DoMetaQueryRequest($bucket, new Oss\Models\MetaQuery(
    maxResults: 99,
    query: "Overlook the snow-covered forest",
    mediaTypes: new Oss\Models\MetaQueryMediaTypes('image'),
    simpleQuery: '{"Operation":"gt", "Field": "Size", "Value": "30"}',
), 'semantic');

$result = $client->doMetaQuery($request);
printf(
    'status code:' . $result->statusCode . PHP_EOL .
    'request id:' . $result->requestId . PHP_EOL .
    'result:' . var_export($result, true)
);

ossutil

O exemplo a seguir mostra como consultar arquivos que atendem a condições especificadas no bucket examplebucket.

ossutil api do-meta-query --bucket examplebucket --meta-query "{\"Query\":\"Overlooking the snow covered forest\",\"MediaTypes\":{\"MediaType\":\"video\"},\"SimpleQuery\":\"{\\\"Operation\\\":\\\"gt\\\", \\\"Field\\\": \\\"Size\\\", \\\"Value\\\": \\\"1\\\"}\"}" --meta-query-mode semantic

Para mais informações sobre este comando, consulte do-meta-query.

Faturamento

O uso do recurso de Consciência de Conteúdo com IA gera as seguintes taxas:

  • Taxas de indexação de dados: Ative a Consciência de Conteúdo com IA no modo Data Index - AISearch. Isso gera taxas relacionadas ao Data Index - AISearch.

  • Taxas de Consciência de Conteúdo com IA: Essas taxas incluem cobranças por consciência de conteúdo de imagem e vídeo, faturadas com base no tipo e uso dos arquivos processados. Após ativar a Consciência de Conteúdo com IA, o OSS verifica automaticamente os arquivos de imagem e vídeo existentes no bucket. Quando novos arquivos de imagem ou vídeo são carregados, o OSS aciona automaticamente a Consciência de Conteúdo com IA. Esses arquivos recém-carregados também incorrem em taxas de Consciência de Conteúdo com IA. Recomendamos monitorar suas faturas atentamente.

  • Taxas de solicitação de API: As taxas de solicitação de API são geradas durante a indexação de arquivos existentes e a atualização de índices para arquivos incrementais. Essas taxas são cobradas com base no número de chamadas de API. As operações de API relevantes são as seguintes:

    Operação

    API

    Verificar arquivos em um bucket

    ListObjects

    Criar um índice para arquivos em um bucket

    HeadObject e GetObject

    O arquivo no bucket possui uma tag

    GetObjectTag

    O arquivo no bucket possui metadados personalizados

    GetObjectMeta

    O bucket contém um arquivo de link simbólico

    GetSymlink

Para evitar cobranças adicionais, desative o AISearch prontamente.

APIs relacionadas

O recurso de Consciência de Conteúdo com IA é implementado com base nas seguintes APIs RESTful. Caso sua aplicação tenha requisitos elevados de personalização, chame essas APIs diretamente para o desenvolvimento. No entanto, implemente manualmente o cálculo de assinatura.

  • Para mais informações sobre como ativar o recurso de gestão de metadados, consulte OpenMetaQuery.

  • Para consultar o status atual da gestão de metadados, consulte GetMetaQueryStatus.

  • Para consultar arquivos que atendem a condições especificadas, consulte DoMetaQuery.

  • Para desativar o recurso de gestão de metadados, consulte CloseMetaQuery.