Todos os produtos
Search
Central de documentação

Hologres:AI functions

Última atualização: Jul 29, 2026

O Hologres V3.2 e versões posteriores oferecem suporte a funções de IA para embedding, reranking, inferência de LLM, entre outras tarefas. Chame-as com SQL padrão — cada função invoca automaticamente o modelo implantado correspondente. Antes de usar as funções de IA, implante um modelo no Hologres (modelos gerenciados, modelos de nó de IA do Hologres, etc.). Se você implantar um modelo de nó de IA, adquira primeiro os recursos de nó de IA (GPU).

Pré-requisitos

  • Um modelo deve estar implantado no Hologres. As fontes de modelo suportadas incluem modelos gerenciados, modelos de nó de IA do Hologres, entre outros.

  • Cada função de IA possui modelos recomendados. Consulte a tabela de resumo e a seção de funções e modelos de IA abaixo.

Limitações

  • As funções de IA exigem o Hologres V3.2 ou posterior.

  • Cada função de IA tem limitações específicas, descritas em sua respectiva documentação.

Resumo das funções de IA

O Hologres oferece suporte às seguintes funções de IA:

  • O sistema mapeia automaticamente cada função de IA para um modelo ideal com base nos modelos implantados. Visualize o mapeamento padrão de modelos na tabela do sistema. Para alterar o mapeamento, consulte Modify the model for an AI function.

  • Se houver vários modelos implantados na instância, recomendamos especificar explicitamente o nome do modelo ao chamar uma função para evitar ambiguidades.

  • Ao implantar modelos de nó de IA, considere que cada modelo exige diferentes recursos de nó de IA. Adquira as especificações adequadas conforme descrito em Purchase AI resources.

Função

Descrição

Modelos suportados

Versões suportadas

ai_gen

Utiliza um LLM para realizar inferência em textos, imagens e vídeos com base em prompts. Também suporta texto para imagem, edição de imagem, fusão de múltiplas imagens, texto para vídeo e geração de vídeo a partir de quadro inicial, quadros inicial/final ou imagens de referência.

  • Modelos integrados do nó de IA:

    • Texto: LLMs da série Qwen3 (recomendado: Qwen/Qwen3-32B)

    • Imagem/vídeo/áudio: série Qwen-wl-embedding, série qwen-vl

  • Modelos gerenciados:

    • Inferência de texto: qwen3,7-max, qwen3,7-plus, qwen3,6-plus, qwen3,6-flash

    • Inferência multimodal: qwen3-vl-plus

    • Geração de conteúdo: qwen-image-2.0-pro, wan2.7-image-pro, série wan2.7, série happyhorse-1.0

  • Inferência de texto: Hologres V3.2 e posterior

  • Inferência de imagem: Hologres V4.0 e posterior

AI_GEN_STRUCTURED

Chama um LLM para gerar saída JSON estruturada em conformidade com um JSON Schema especificado. Suporta entrada de texto e multimodal, como imagens e vídeos.

  • Modelos hospedados: inferência de texto qwen3,7-max, qwen3,7-plus; inferência multimodal qwen3,7-plus

Hologres V4.2.4 e posterior

AI_TRANSCRIBE

Converte arquivos de áudio em dados de texto estruturados.

Modelo gerenciado: fun-asr

Hologres V4.2 e posterior

to_file

Converte uma URL para o tipo FILE.

Não requer modelo. Esta função é geralmente usada com Object Tables.

Hologres V4.0 e posterior

prompt

Monta um prompt para um LLM e empacota prompts multimodais.

Não requer modelo.

ai_parse_document

Analisa dados não estruturados, como arquivos PDF e imagens, convertendo-os em texto.

Modelo integrado do nó de IA: ds4sd/docling-models

AI_EMBED

Calcula um vetor denso de dimensão fixa para texto ou imagens de entrada.

Modelos integrados do nó de IA:

  • Texto: série iic/nlp_gte_sentence-embedding_chinese, série Qwen/Qwen3-Embedding-XB

  • Imagem: série clip-ViT-B

Modelos gerenciados: text-embedding-v4, qwen3-vl-embedding

  • Vetor de texto: Hologres V3.2 e posterior

  • Vetor de imagem: Hologres V4.0 e posterior

ai_rank

Pontua a relevância do texto de entrada.

Modelos integrados do nó de IA: LLMs da série Qwen3 (recomendado: Qwen/Qwen3-32B)

Hologres V3.2.2 e posterior

ai_chunk

Realiza o chunking de texto.

Modelo integrado do nó de IA: recursive-character-text-splitter

ai_classify

Classifica o texto de entrada com base nos rótulos de categoria fornecidos.

Modelos integrados do nó de IA: LLMs da série Qwen3 (recomendado: Qwen/Qwen3-32B). Modelos gerenciados: qwen3,7-max, qwen3,7-plus, qwen3,6-plus, qwen3,6-flash.

Hologres V3.2 e posterior

ai_extract

Extrai informações de rótulos especificados do texto de entrada.

Modelos integrados do nó de IA: LLMs da série Qwen3 (recomendado: Qwen/Qwen3-32B). Modelos gerenciados: qwen3,7-max, qwen3,7-plus, qwen3,6-plus, qwen3,6-flash.

ai_mask

Oculta informações de tags especificadas no texto de entrada, substituindo-as pelo placeholder [MASKED].

Modelos integrados do nó de IA: LLMs da série Qwen3 (recomendado: Qwen/Qwen3-32B). Modelos gerenciados: qwen3,7-max, qwen3,7-plus, qwen3,6-plus, qwen3,6-flash.

ai_fix_grammar

Corrige erros gramaticais no texto de entrada.

Modelos integrados do nó de IA: LLMs da série Qwen3 (recomendado: Qwen/Qwen3-32B). Modelos gerenciados: qwen3,7-max, qwen3,7-plus, qwen3,6-plus, qwen3,6-flash.

ai_summarize

Gera um resumo do texto de entrada.

Modelos integrados do nó de IA: LLMs da série Qwen3 (recomendado: Qwen/Qwen3-32B). Modelos gerenciados: qwen3,7-max, qwen3,7-plus, qwen3,6-plus, qwen3,6-flash.

ai_translate

Traduz o texto de entrada para um idioma especificado.

Modelos integrados do nó de IA: LLMs da série Qwen3 (recomendado: Qwen/Qwen3-32B).

Modelos gerenciados: qwen-mt-plus.

ai_similarity

Calcula a similaridade entre duas entradas de texto.

Modelos integrados do nó de IA: LLMs da série Qwen3 (recomendado: Qwen/Qwen3-32B). Modelos gerenciados: qwen3,7-max, qwen3,7-plus, qwen3,6-plus, qwen3,6-flash.

ai_analyze_sentiment

Analisa o sentimento do texto de entrada.

  • Modelos integrados do nó de IA: LLMs da série Qwen3 (recomendado: Qwen/Qwen3-32B).

  • Modelos gerenciados: qwen3,7-max, qwen3,7-plus, qwen3,6-plus, qwen3,6-flash.

Uso das funções de IA

ai_gen

  • Descrição: Chama um LLM para realizar inferência em textos, imagens e vídeos com base em prompts. Após implantar os modelos relevantes de geração multimodal no console, use ai_gen também para texto para imagem, edição de imagem, fusão de múltiplas imagens, texto para vídeo e geração de vídeo a partir de quadro inicial, quadros inicial/final ou imagens de referência. Para nomes de modelos e detalhes dos parâmetros, consulte Managed models.

    -- Text inference
    SELECT ai_gen([model,] text)
    -- Image inference
    SELECT ai_gen([model,] text, file)
    -- Prompt object input
    SELECT ai_gen([model,] prompt)
    -- Multimodal generation (Example: Specify a model and JSON prompt; 'file' is used for OSS authentication)
    SELECT ai_gen('<model_name>', <prompt_json>::text, to_file('oss://...','oss-xxx-internal.aliyuncs.com','acs:ram::...'));
  • Parâmetros

    • model: (Opcional) Nome do modelo usado pela função de IA. Por padrão, o sistema atribui automaticamente o modelo ideal com base nos modelos implantados. Para alterar o modelo, implante primeiro o modelo desejado e depois modifique a configuração da tabela do sistema. Para mais detalhes, consulte Modify the model for an AI function.

    • text: (Obrigatório) O prompt de entrada. Este parâmetro suporta os tipos CHAR, VARCHAR e TEXT.

    • file: (Obrigatório) Um valor do tipo FILE, como uma imagem de uma Object Table convertida para o tipo FILE. Este parâmetro é suportado apenas no Hologres V4.0 e posterior.

    • prompt: (Obrigatório) Um valor do tipo JSON retornado pela função prompt().

  • Valor de retorno

    • Retorna a resposta do modelo.

    • Se o parâmetro text for NULL, retorna NULL.

    • Se o parâmetro text for uma string vazia (""), retorna uma string vazia ("").

    • Se o parâmetro prompt for NULL, a função retornará um erro.

  • Modelos suportados

    • Modelos integrados do nó de IA do Hologres: Para inferência de texto, recomenda-se os LLMs da série Qwen3 (como Qwen/Qwen3-32B). Para imagem, vídeo e áudio, há suporte para as séries qwen-vl-embedding e qwen-vl.

    • Modelos gerenciados: Para inferência de texto, qwen3,7-max, qwen3,7-plus, qwen3,6-plus e qwen3,6-flash. Para inferência multimodal, qwen3-vl-plus. Para geração de conteúdo, qwen-image-2.0-pro, wan2.7-image-pro, a série wan2.7 e a série happyhorse-1.0.

  • Exemplos

    • Inferência de texto

      CREATE TABLE questions (
          question TEXT
      );
      
      INSERT INTO questions (question) VALUES
        ('What is artificial intelligence?'),
        ('How can I improve my English speaking skills?'),
        ('What are the key points of a healthy diet?');
      
      SELECT
        question,
        ai_gen('Answer the following question in 20 words: ' || question) AS answer
      FROM
        questions;

      O seguinte resultado é retornado.

                     question                |                                             answer
      -----------------------------------------+-------------------------------------------------------------------------------------------------
       How can I improve my English speaking skills?   | Practice often, mimic pronunciation, build vocabulary, and speak up.
       What are the key points of a healthy diet?      | Eat balanced meals, limit oil, salt, and sugar, eat more fruits and vegetables, and keep regular mealtimes.
       What is artificial intelligence?        | Artificial intelligence is a computer system that simulates human intelligence to learn, reason, perceive, and solve problems.
    • Inferência de imagem

      SELECT  ai_gen('jpg_llm','What is in this image?', to_file('oss://****/bd****k/val/images/b9b53753-91a5****.jpg','oss-cn-hangzhou-internal.aliyuncs.com','acs:ram::****' ) )

      O seguinte resultado é retornado.

      ai_gen
      -----
      This image shows a city street scene. A white car with the license plate BTB-9784 is parked on the side of the road. There are several cars on the street, including a yellow taxi. In the background, there are buildings and trees. The weather appears to be overcast, possibly a rainy day. There are also pedestrians and traffic lights on the street.
    • Geração multimodal (imagens e vídeos)

      Defina prompt como uma string JSON contendo parâmetros de negócio. Passe uma função to_file como terceiro argumento para concluir a autenticação do OSS. É obrigatório passar um objeto FILE válido para superar a verificação de permissões, mesmo quando a função não precisar ler conteúdo de imagem ou vídeo. O resultado geralmente é um texto JSON, com campos como image_urls e video_url que variam conforme o modelo. Se configurar o parâmetro output_dir para gravar resultados no seu bucket do OSS, poderão ser aplicadas taxas de transferência pela rede pública. Recomendamos avaliar cuidadosamente os custos potenciais.

      Texto para imagem (exemplo)

      SELECT ai_gen(
        'qwen_image_2_pro',
        json_build_object(
          'prompt', 'Example: Generate a product promotion image',
          'parameters', json_build_object('n', 1, 'size', '1024*1024', 'watermark', false)
        )::text,
        to_file('oss://your-bucket/path/placeholder.png', 'oss-cn-hangzhou-internal.aliyuncs.com', 'acs:ram::your-account-id:role/your-role')
      );

      Texto para vídeo (exemplo)

      SELECT ai_gen(
        'wan26_t2v',
        json_build_object(
          'prompt', 'Example: Show a game character entrance in 10 seconds',
          'parameters', json_build_object(
            'size', '1280*720',
            'prompt_extend', true,
            'duration', 5,
            'shot_type', 'multi'
          )
        )::text,
        to_file('oss://your-bucket/path/placeholder.png', 'oss-cn-hangzhou-internal.aliyuncs.com', 'acs:ram::your-account-id:role/your-role')
      );

      Referência rápida de cenários e modelos (Os nomes reais de implantação aparecem no console. Esta tabela serve apenas como referência.)

      Cenário

      Exemplos de nomes de modelos

      Texto para imagem

      qwen-image-2.0-pro, qwen-image-max, qwen-image

      Edição de imagem / fusão de múltiplas imagens

      qwen-image-edit, qwen-image-2.0-pro

      Texto para vídeo

      wan2.6-t2v

      Geração de vídeo a partir de quadro inicial, quadros inicial/final ou imagem de referência

      wan2.6-i2v-flash, wan2.2-kf2v-flash, wan2.6-r2v

      Para um exemplo completo de pipeline ponta a ponta de geração de vídeos de anúncios de jogos, consulte Best practice: Generate game ad videos with an AI function.

AI_GEN_STRUCTURED

  • Descrição: Chama um LLM para gerar saída JSON estruturada em conformidade com um JSON Schema especificado. Suporta entrada de texto e multimodal, como imagens e vídeos, para casos de uso como extração de entidades estruturadas de texto ou informações de anotação de imagens e vídeos. Requer Hologres V4.2.4 ou posterior.

ai_transcribe

  • Descrição: Converte arquivos de áudio em dados de texto estruturados. Esta função baseia-se nos modelos de reconhecimento de fala do Alibaba Cloud Model Studio e suporta múltiplos modos de granularidade de segmentação (nenhum, sentença, orador, palavra) para casos de uso como transcrição de reuniões, geração de legendas e diarização de oradores. Requer Hologres V4.2 ou posterior.

to_file

  • Descrição: Converte uma URL para o tipo FILE.

    select to_file(oss_url, oss_endpoint, oss_rolearn);
  • Notas de uso

    Não requer modelo.

  • Parâmetros

    • oss_url: (Obrigatório) TEXT. O caminho do arquivo no OSS a ser analisado.

    • oss_endpoint: (Obrigatório) TEXT. O endpoint da região do OSS. Apenas nomes de domínio de rede clássica são suportados.

    • oss_rolearn: (Obrigatório) O ARN da função do RAM para acessar o OSS.

  • Valor de retorno

    Retorna um valor do tipo FILE. Se o caminho da URL for inválido ou o arquivo não existir, a função retornará um erro.

  • Exemplo

    select to_file('oss://****/bd****k/val/images/b9b53753-91a5****.jpg','oss-cn-hangzhou-internal.aliyuncs.com','acs:ram::****' );

prompt

  • Descrição: Monta prompts para LLMs, incluindo prompts multimodais.

    SELECT prompt('<template_string>', <expr_1> [ , <expr_2>, ... ])
        FROM <table>;
  • Notas de uso

    A função prompt() não suporta entrada de string escalar. Se tiver apenas uma string, passe-a diretamente para a função LLM em vez de usar prompt(). Esta função é tipicamente usada em consultas a tabelas.

  • Parâmetros

    • template_string: (Obrigatório) TEXT. A string do modelo de prompt. Use placeholders como {0} e {1} para variáveis.

    • <expr_1> [ , <expr_2>, ... ]: Um ou mais parâmetros de expressão. Este parâmetro suporta os tipos TEXT, NUMERIC e FILE.

  • Valor de retorno

    Na maioria dos casos, esta função retorna um valor do tipo JSON no seguinte formato:

    {
      "prompt": "<template_string>",
      "args": ARRAY(<value_1>, <value_2>, ...)
    }

    Casos especiais:

    • Se o parâmetro template_string for NULL, a função retornará um erro.

    • Se uma expressão resultar em NULL, o placeholder correspondente em template_string será substituído pela string 'None'.

    • Se todas as expressões de uma linha resultarem em NULL, a linha não será filtrada. Em vez disso, todos os elementos do array args serão preenchidos com 'None'.

  • Exemplo

    create table customer_service_konwledge_detail(
      question text, 
      question_summarize text
    );
    
    insert into customer_service_konwledge_detail values
    ('The instance is suddenly experiencing many OOM SQL errors.', 'A backend investigation revealed that an increase in customer traffic exceeded available resources. The customer resolved the issue by scaling up.'),
    ('DataWorks cannot connect to Hologres.', 'This is not our issue. Please contact the DataWorks on-call team.');
    
    -- prompt
    SELECT question, question_summarize, ai_gen(
      prompt('Customer ticket content: {0}, Support response: {1}. Did the response resolve the customer issue? Reply with yes or no only.', question, question_summarize)) 
          from customer_service_konwledge_detail;
         

    O seguinte resultado é retornado.

              question           |                                 question_summarize                                 | ai_gen 
    -----------------------------+------------------------------------------------------------------------------------+--------
     DataWorks cannot connect to Hologres | This is not our issue. Please contact the DataWorks on-call team.                                              | no
     The instance is suddenly experiencing many OOM SQL errors    | A backend investigation revealed that an increase in customer traffic exceeded available resources. The customer resolved the issue by scaling up. | yes
    (2 rows)

ai_parse_document

  • Descrição: Analisa dados não estruturados (PDF, imagens, Word, PPT, TXT, Markdown) e os converte em texto.

    SELECT ai_parse_document([model,] input_bytes , input_format [, output_format]);
    SELECT ai_parse_document([model,] file [, input_format, output_format]);
  • Parâmetros

    Parâmetro

    Descrição

    model

    (Opcional) Nome do modelo usado pela função de IA. Por padrão, o sistema atribui automaticamente o modelo ideal com base nos modelos implantados. Para alterar o modelo, implante primeiro o modelo desejado e depois modifique a configuração da tabela do sistema. Para mais detalhes, consulte Modify the model for an AI function.

    input_bytes

    (Obrigatório) BYTEA. O conteúdo binário do arquivo a ser analisado.

    file

    (Obrigatório) FILE. Recomendamos usar esta função com uma Object Table.

    input_format

    Opcional. O valor padrão é auto. O tipo é TEXT. Os formatos de arquivo suportados incluem PDF, Word, PPT, TXT, IMAGE e AUTO.

    • Formatos de imagem suportados: ["jpg", "jpeg", "png", "tif", "tiff", "bmp"].

    • Se um diretório do OSS contiver documentos de vários tipos, defina input_format=auto. O modelo determina automaticamente o tipo de arquivo com base na extensão.

    output_format

    (Opcional) TEXT. O formato do resultado analisado. Os formatos suportados incluem JSON e markdown. Valor padrão: JSON.

  • Valor de retorno

    Retorna um valor do tipo TEXT. O formato é determinado pela configuração de output_format.

    • Se output_format=JSON, a saída será uma string JSON do tipo TEXT. Faça um cast explícito para JSON antes de utilizá-la.

    • Se a análise falhar, a função retornará uma descrição do erro como texto, em vez de reportar um erro.

  • Modelos suportados: o modelo integrado do nó de IA ds4sd/docling-models.

  • Exemplos

    • Converter um único arquivo PDF no OSS para texto.

      SELECT object_uri, etag, ai_parse_document(to_file ('oss://xxxx-hangzhou/bs_challenge_financial_14b_dataset/pdf', 'oss-cn-hangzhou-internal.aliyuncs.com', 'acs:ram::18xxx:role/xxx'), 'auto', 'markdown') AS doc 
          FROM pdf_bs_challenge_financial_14b_dataset limit 1);
    • Para converter dados não estruturados de uma Object Table em texto, consulte Unstructured data (Object Table).

ai_embed

  • Descrição: Calcula um vetor contínuo de dimensão fixa para texto ou imagem de entrada.

    -- Compute text vector
    select ai_embed([model,] content);
    -- Compute image vector
    select ai_embed([model,] file);
  • Parâmetros

    • model: (Opcional) Nome do modelo usado pela função de IA. Por padrão, o sistema atribui automaticamente o modelo ideal com base nos modelos implantados. Para alterar o modelo, implante primeiro o modelo desejado e depois modifique a configuração da tabela do sistema. Para mais detalhes, consulte Modify the model for an AI function.

    • content: (Obrigatório) O texto de entrada. Este parâmetro suporta os tipos CHAR, VARCHAR e TEXT.

    • file: (Obrigatório) Um valor do tipo FILE, que normalmente é o objeto FILE de uma imagem. Este tipo é suportado apenas no Hologres V4.0 e posterior.

  • Valor de retorno

  • Modelos suportados

    • Modelos integrados do nó de IA do Hologres: Para embeddings de texto, as séries iic/nlp_gte_sentence-embedding_chinese e Qwen/Qwen3-Embedding-XB. Para embeddings de imagem, a série clip-ViT-B.

    • Modelos gerenciados: text-embedding-v4, qwen3-vl-embedding.

  • Exemplos

    • Embedding de texto

      SELECT ai_embed('Hologres is a one-stop real-time data warehouse engine self-developed by Alibaba, supporting real-time ingestion, updates, processing, and analysis of massive data.');

      O seguinte resultado é retornado.

      ai_embed
      -------
      {-0.020090256, -0.009496426, -0.01584659, ..., -0.057956327}
    • Embedding de imagem

      -- The following example shows how to embed an image from OSS.
      SELECT ai_embed('clip-ViT-B-32', to_file('oss://****', 'oss-cn-hangzhou-internal.aliyuncs.com', 'acs:ram::****'));

O Hologres V4.2 e posterior também suportam o cálculo de vetores de imagem a partir de dados binários BYTEA/BLOB. Para sintaxe detalhada, lista de modelos gerenciados, exemplos de uso de BYTEA e exemplos de cenários de negócios, consulte AI_EMBED.

ai_rank

  • Descrição: Calcula a pontuação de relevância entre dois textos.

    SELECT ai_rank([model,] source_sentence, sentence_to_compare);
  • Parâmetros

    • model: (Opcional) Nome do modelo usado pela função de IA. Por padrão, o sistema atribui automaticamente o modelo ideal com base nos modelos implantados. Para alterar o modelo, implante primeiro o modelo desejado e depois modifique a configuração da tabela do sistema. Para mais detalhes, consulte Modify the model for an AI function.

    • source_sentence: (Obrigatório) O texto de origem. Este parâmetro suporta os tipos CHAR, VARCHAR e TEXT.

    • sentence_to_compare: (Obrigatório) O texto a ser comparado com source_sentence. Este parâmetro suporta os tipos CHAR, VARCHAR e TEXT.

  • Valor de retorno

    • Retorna uma pontuação de relevância do tipo FLOAT no intervalo [0, 1]. Um valor maior indica maior relevância.

    • Se o parâmetro source_sentence ou sentence_to_compare for NULL, retorna 0.

  • Modelos suportados: Modelos integrados do nó de IA. Recomenda-se os LLMs da série Qwen3 (por exemplo, Qwen/Qwen3-32B).

  • Exemplo

    SELECT knowledge, ai_rank('What was the revenue of Alibaba in 2024?', knowledge) AS score
      FROM (
          VALUES ('Amazon revenue in 2024 was 638 billion USD'), 
                 ('Alibaba revenue in 2024 was 941.168 billion CNY'), 
                 ('Alibaba revenue in 2023 was 868.687 billion CNY')
      ) AS knowledge_table(knowledge)
      ORDER BY score DESC;

    O seguinte resultado é retornado.

    knowledge	                  | score
    -----------------------------|-------
    Alibaba revenue in 2024 was 941.168 billion CNY	 |0.899999976
    Alibaba revenue in 2023 was 868.687 billion CNY |0.200000003
    Amazon revenue in 2024 was 638 billion USD	   |0.100000001

ai_chunk

  • Descrição: Divide um texto longo em chunks.

    SELECT ai_chunk([model,] long_sentence[, chunk_size, chunk_overlap, separators])
  • Parâmetros

    Parâmetro

    Descrição

    model

    (Opcional) Nome do modelo usado pela função de IA. Por padrão, o sistema atribui automaticamente o modelo ideal com base nos modelos implantados. Para alterar o modelo, implante primeiro o modelo desejado e depois modifique a configuração da tabela do sistema. Para mais detalhes, consulte Modify the model for an AI function.

    long_sentence

    (Obrigatório) O texto de origem a ser dividido em chunks. Este parâmetro suporta os tipos CHAR, VARCHAR e TEXT.

    chunk_size

    (Opcional) INT. O número máximo de caracteres em cada chunk. Valor padrão: 300.

    chunk_overlap

    (Opcional) INT. Sobreposição entre chunks adjacentes para preservar a continuidade semântica. Padrão: 50.

    separators

    Opcional. Os separadores usados para dividir o texto em chunks. Este parâmetro é do tipo TEXT[]. O valor padrão é ["\n\n", "\n", " ", ""], adequado para texto em inglês. Para texto em chinês, recomendamos usar separadores chineses, como ["\n\n", "\n", "。", "!", "?", ";", ",", " "].

  • Valor de retorno

    • Retorna um valor TEXT[], que corresponde à lista de chunks.

    • Se o parâmetro long_sentence for NULL, retorna NULL.

  • Modelos suportados: o modelo integrado do nó de IA recursive-character-text-splitter.

  • Exemplo

    SELECT ai_chunk('Hologres is a one-stop real-time data warehouse engine (Real-Time Data Warehouse) self-developed by Alibaba. It supports real-time ingestion, updating, processing, and analysis of massive data, standard SQL (compatible with PostgreSQL protocol and syntax, supporting most PostgreSQL functions), PB-level multidimensional analysis (OLAP) and ad-hoc analysis (Ad Hoc), high-concurrency and low-latency online data services (Serving), and fine-grained isolation for multiple workloads and enterprise-level security capabilities. It is deeply integrated with MaxCompute, Flink, and DataWorks to provide an enterprise-level full-stack data warehouse solution for online and offline integration.',40,10);

    O seguinte resultado é retornado.

    ai_chunk
    ---
    "{\"Hologres is a one-stop real-time data\",\"warehouse engine (Real-Time Data Wareho\",\"use) self-developed by Alibaba. It suppo\",\"orts real-time ingestion, updating, proce\",\"ssing, and analysis of massive data, stand\",\"ard SQL (compatible with PostgreSQL protoc\",\"ol and syntax, supporting most PostgreSQL\",\" functions), PB-level multidimensional an\",\"alysis (OLAP) and ad-hoc analysis (Ad Ho\",\"c), high-concurrency and low-latency onli\",\"ne data services (Serving), and fine-grai\",\"ned isolation for multiple workloads and e\",\"nterprise-level security capabilities. It\",\" is deeply integrated with MaxCompute, Fl\",\"ink, and DataWorks to provide an enterpris\",\"e-level full-stack data warehouse solutio\",\"n for online and offline integration.\"}"

ai_classify

  • Descrição: Classifica o texto de entrada com base em uma lista fornecida de rótulos de categoria.

    SELECT ai_classify([model,] content, labels)
  • Parâmetros

    • model: (Opcional) Nome do modelo usado pela função de IA. Por padrão, o sistema atribui automaticamente o modelo ideal com base nos modelos implantados. Para alterar o modelo, implante primeiro o modelo desejado e depois modifique a configuração da tabela do sistema. Para mais detalhes, consulte Modify the model for an AI function.

    • content: (Obrigatório) O texto a ser classificado. Este parâmetro suporta os tipos CHAR, VARCHAR e TEXT.

    • labels: (Obrigatório) ARRAY. Uma lista de rótulos de categoria de saída esperados. O número de rótulos deve estar entre 2 e 20.

  • Valor de retorno

    • Retorna o rótulo de categoria correspondente. O tipo de retorno é TEXT.

    • Se o parâmetro content for NULL, retorna NULL.

    • Se o parâmetro content for uma string vazia (""), retorna NULL.

    • Se o número de labels estiver fora do intervalo válido, a função retornará um erro.

  • Modelos suportados

    • Modelos gerenciados: qwen3,7-max, qwen3,7-plus, qwen3,6-plus e qwen3,6-flash.

  • Exemplo

    CREATE TABLE product_detail(
        product_name TEXT,
        product_desc TEXT
    );
    INSERT INTO product_detail VALUES
    ('iphone','Apple phone'),
    ('p50','Huawei phone'),
    ('x200','vivo phone'),
    ('aaa','Dior dress'),
    ('bbb','Dior pants'),
    ('Sheng Sheng Oolong','Cha Yan Yue Se milk tea'),
    ('sandwich cookie','Oreo cookie');
    
    --Classify text using ai_classify
    SELECT
        product_name,
        ai_classify(product_desc, ARRAY['Electronics', 'Apparel', 'Food & Beverage']) AS category
      FROM
         product_detail
      LIMIT 10;

    O seguinte resultado é retornado.

    product_name	|category
    --------------|------
    aaa	          |Apparel
    iphone	      |Electronics
    Sheng Sheng Oolong	      |Food & Beverage
    p50	          |Electronics
    x200	        |Electronics
    bbb	          |Apparel
    sandwich cookie	      |Food & Beverage

ai_extract

  • Descrição: Extrai informações especificadas do texto de entrada e retorna os resultados como um objeto JSON.

    SELECT ai_extract([model,] content, labels)
  • Parâmetros

    • model: (Opcional) Nome do modelo usado pela função de IA. Por padrão, o sistema atribui automaticamente o modelo ideal com base nos modelos implantados. Para alterar o modelo, implante primeiro o modelo desejado e depois modifique a configuração da tabela do sistema. Para mais detalhes, consulte Modify the model for an AI function.

    • content: (Obrigatório) O texto de entrada do qual extrair informações. Este parâmetro suporta os tipos CHAR, VARCHAR e TEXT.

    • labels: (Obrigatório) ARRAY. Os rótulos das informações a serem extraídas. O número de rótulos deve estar entre 1 e 20.

  • Valor de retorno

    • Retorna as informações extraídas para cada rótulo no formato JSON.

    • Se o parâmetro content for NULL ou uma string vazia (""), retorna NULL.

    • Se o número de labels estiver fora do intervalo válido, a função retornará um erro.

  • Modelos suportados

    • Modelos integrados do nó de IA do Hologres: Recomenda-se os LLMs da série Qwen3 (como Qwen/Qwen3-32B).

    • Modelos gerenciados: qwen3,7-max, qwen3,7-plus, qwen3,6-plus e qwen3,6-flash.

  • Exemplo

    CREATE TABLE users (
      user_id TEXT,
      resume TEXT
    );
    
    INSERT INTO users (user_id, resume) VALUES
      ('u001', 'Name: Zhang San, Male, 28 years old. Email: zhangsan@example.com, Phone: 1380013****. Extensive work experience.'),
      ('u002', 'Name: Li Si, Female, 35 years old. Phone: 1390013****, Email: lisi@example.com. Has management experience.'),
      ('u003', 'Name: Wang Wu, Male, 25 years old. Email: wangwu@example.com. Phone: 1370013****.');
    
    SELECT
      user_id,
      ai_extract(resume, ARRAY['name','email','phone','gender','age']) AS user_desc_obj
    FROM
      users;

    O seguinte resultado é retornado.

    user_id	|user_desc_obj
    --------|-------------
    u002	  |"{"name":"Li Si","age":"35 years old","gender":"Female","phone":"1390013****","email":"lisi@example.com"}"
    u003	  |"{"name":"Wang Wu","age":"25 years old","gender":"Male","phone":"1370013****","email":"wangwu@example.com"}"
    u001	  |"{"name":"Zhang San","age":"28 years old","gender":"Male","phone":"1380013****","email":"zhangsan@example.com"}"

ai_mask

  • Descrição: Oculta informações especificadas no texto de entrada, substituindo as correspondências pelo placeholder [MASKED].

    SELECT ai_mask([model,] content, labels)
  • Parâmetros:

    • model: (Opcional) Nome do modelo usado pela função de IA. Por padrão, o sistema atribui automaticamente o modelo ideal com base nos modelos implantados. Para alterar o modelo, implante primeiro o modelo desejado e depois modifique a configuração da tabela do sistema. Para mais detalhes, consulte Modify the model for an AI function.

    • content: (Obrigatório) O texto de entrada a ser mascarado. Este parâmetro suporta os tipos CHAR, VARCHAR e TEXT.

    • labels: (Obrigatório) ARRAY. Os rótulos das informações a serem mascaradas. O número de rótulos deve estar entre 1 e 20.

  • Valor de retorno

    • Retorna o conteúdo de texto mascarado.

    • Se o parâmetro content for NULL, retorna NULL.

    • Se o parâmetro content for uma string vazia (""), retorna uma string vazia.

    • Se o número de labels estiver fora do intervalo válido, a função retornará um erro.

  • Modelos suportados

    • Modelos gerenciados: qwen3,7-max, qwen3,7-plus, qwen3,6-plus e qwen3,6-flash.

  • Exemplo

    SELECT ai_mask(
      'User Wang Xiaoming, ID number: 23030611111111, phone number: 1388888****.',
      ARRAY['ID number', 'phone number']); 

    O seguinte resultado é retornado.

    ai_mask
    -------
    User Wang Xiaoming, ID number: [MASKED], phone number: [MASKED].

ai_fix_grammar

  • Descrição: Corrige erros gramaticais no texto de entrada.

    SELECT ai_fix_grammar([model,] content)
  • Parâmetros

    • model: (Opcional) Nome do modelo usado pela função de IA. Por padrão, o sistema atribui automaticamente o modelo ideal com base nos modelos implantados. Para alterar o modelo, implante primeiro o modelo desejado e depois modifique a configuração da tabela do sistema. Para mais detalhes, consulte Modify the model for an AI function.

    • content: (Obrigatório) O texto de entrada a ser corrigido. Este parâmetro suporta os tipos CHAR, VARCHAR e TEXT.

  • Valor de retorno

    • Retorna o conteúdo de texto corrigido.

    • Se o parâmetro content for NULL, retorna NULL.

    • Se o parâmetro content for uma string vazia (""), retorna uma string vazia ("").

  • Modelos suportados

    • Modelos integrados do nó de IA do Hologres: Recomenda-se os LLMs da série Qwen3 (como Qwen/Qwen3-32B).

    • Modelos gerenciados: qwen3,7-max, qwen3,7-plus, qwen3,6-plus e qwen3,6-flash.

  • Exemplo

    SELECT ai_fix_grammar('He dont know what to did.');

    O seguinte resultado é retornado.

    ai_fix_grammar
    --------------
    He doesn't know what to do.

ai_summarize

  • Descrição: Gera um resumo do texto de entrada.

    SELECT ai_summarize([model,] content[, max_words])
  • Parâmetros

    • model: (Opcional) Nome do modelo usado pela função de IA. Por padrão, o sistema atribui automaticamente o modelo ideal com base nos modelos implantados. Para alterar o modelo, implante primeiro o modelo desejado e depois modifique a configuração da tabela do sistema. Para mais detalhes, consulte Modify the model for an AI function.

    • content: (Obrigatório) O texto de entrada a ser resumido. Este parâmetro suporta os tipos CHAR, VARCHAR e TEXT.

    • max_words: (Opcional) O número alvo de palavras para o resumo. O modelo tenta gerar um resultado próximo a este valor. O valor padrão é 50. Se definir este parâmetro como 0, nenhum limite será aplicado.

  • Valor de retorno

    • Retorna um resumo do texto.

    • Se o parâmetro content for NULL, retorna NULL.

    • Se o parâmetro content for uma string vazia (""), retorna uma string vazia ("").

    • Se o valor de max_words for menor que 0, a função retornará um erro.

  • Modelos suportados

    • Modelos gerenciados: qwen3,7-max, qwen3,7-plus, qwen3,6-plus e qwen3,6-flash.

  • Exemplo

    SELECT ai_summarize('Hologres is a one-stop real-time data warehouse engine (Real-Time Data Warehouse) self-developed by Alibaba. It supports real-time ingestion, updating, processing, and analysis of massive data, standard SQL (compatible with PostgreSQL protocol and syntax, supporting most PostgreSQL functions), PB-level multidimensional analysis (OLAP) and ad-hoc analysis (Ad Hoc), high-concurrency and low-latency online data services (Serving), and fine-grained isolation for multiple workloads and enterprise-level security capabilities. It is deeply integrated with MaxCompute, Flink, and DataWorks to provide an enterprise-level full-stack data warehouse solution for online and offline integration.', 15);

    O seguinte resultado é retornado.

    ai_summarize
    ------------
    Hologres is Alibaba's self-developed real-time data warehouse engine, supporting real-time processing and multidimensional analysis of massive data.

ai_translate

  • Descrição: Traduz o texto de entrada para um idioma especificado.

    SELECT ai_translate([model,] content, to_lang)
  • Parâmetros

    • model: (Opcional) Nome do modelo usado pela função de IA. Por padrão, o sistema atribui automaticamente o modelo ideal com base nos modelos implantados. Para alterar o modelo, implante primeiro o modelo desejado e depois modifique a configuração da tabela do sistema. Para mais detalhes, consulte Modify the model for an AI function.

    • content: (Obrigatório) O texto de entrada a ser traduzido. Este parâmetro suporta os tipos CHAR, VARCHAR e TEXT.

    • to_lang: (Obrigatório) O código do idioma alvo conforme ISO 639-1.

  • Valor de retorno

    • Retorna o texto traduzido.

    • Se o parâmetro content for NULL, retorna NULL.

    • Se o parâmetro content for uma string vazia (""), retorna uma string vazia ("").

    • Se o valor do parâmetro to_lang for inválido, a função retornará um erro.

  • Modelos suportados

    • Modelos integrados do nó de IA do Hologres: Recomenda-se os LLMs da série Qwen3 (como Qwen/Qwen3-32B).

    • Modelos gerenciados: qwen-mt-plus.

  • Exemplo

    SELECT ai_translate('Hologres is a one-stop real-time data warehouse engine developed by Alibaba Cloud. It supports real-time data ingestion, updates, processing, and analytics at scale, with standard SQL compatibility (PostgreSQL protocol and syntax). Hologres enables PB-scale multidimensional analysis (OLAP), ad hoc queries, and high-concurrency low-latency online data serving, with fine-grained workload isolation and enterprise-grade security. It is deeply integrated with MaxCompute, Flink, and DataWorks to deliver a unified full-stack data warehouse solution.', 'fr');

    O seguinte resultado é retornado.

    ai_translate
    -----------
    Hologres est un moteur d'entrepot de donnees en temps reel tout-en-un developpe par Alibaba Cloud. Il prend en charge l'ingestion, la mise a jour, le traitement et l'analyse de donnees en temps reel a grande echelle, avec une compatibilite SQL standard (protocole et syntaxe PostgreSQL). Hologres permet l'analyse multidimensionnelle a l'echelle du petaoctet (OLAP), les requetes ad hoc et le service de donnees en ligne a haute concurrence et faible latence, avec une isolation fine des charges de travail et une securite de niveau entreprise. Il est profondement integre a MaxCompute, Flink et DataWorks pour fournir une solution d'entrepot de donnees unifiee et complete.

ai_similarity

  • Descrição: Calcula a pontuação de similaridade entre duas entradas de texto.

    SELECT ai_similarity([model,] text1, text2)
  • Parâmetros

    • model: (Opcional) Nome do modelo usado pela função de IA. Por padrão, o sistema atribui automaticamente o modelo ideal com base nos modelos implantados. Para alterar o modelo, implante primeiro o modelo desejado e depois modifique a configuração da tabela do sistema. Para mais detalhes, consulte Modify the model for an AI function.

    • text1 e text2: (Obrigatório) Os dois textos a serem comparados quanto à similaridade. Estes parâmetros suportam os tipos CHAR, VARCHAR e TEXT.

  • Valor de retorno

    • Retorna um valor do tipo FLOAT no intervalo [0, 1], onde um valor maior indica maior similaridade. Um valor de 0 indica nenhuma similaridade, e um valor de 1 indica que os dois textos são idênticos.

    • Se o parâmetro text1 ou text2 for NULL, retorna 0.

    • Se ambos os parâmetros text1 e text2 forem strings vazias (""), retorna 1.

    • Se um parâmetro for uma string vazia ("") e o outro for uma string não vazia, retorna 0.

  • Modelos suportados

    • Modelos integrados do nó de IA do Hologres: Recomenda-se os LLMs da série Qwen3 (como Qwen/Qwen3-32B).

    • Modelos gerenciados: qwen3,7-max, qwen3,7-plus, qwen3,6-plus e qwen3,6-flash.

  • Exemplo

    CREATE TABLE products2 (
        product_name TEXT
    );
    
    INSERT INTO products2 (product_name) VALUES
      ('white shirt'), ('black suit pants'), ('casual top'), ('sports jacket'), ('white dress'),
      ('bluetooth headset'), ('milk chocolate'), ('white top'), ('men''s t-shirt'), ('down jacket');
    
    SELECT product_name FROM products2 
      ORDER BY ai_similarity(product_name, 'white top') DESC LIMIT 5;
    

    O seguinte resultado é retornado.

    product_name
    ----------
    white top
    white shirt
    casual top
    white dress
    men's t-shirt

ai_analyze_sentiment

  • Descrição: Realiza análise de sentimento no texto de entrada.

    select ai_analyze_sentiment([model,] content);
  • Parâmetros

    • model: (Opcional) Nome do modelo usado pela função de IA. Por padrão, o sistema atribui automaticamente o modelo ideal com base nos modelos implantados. Para alterar o modelo, implante primeiro o modelo desejado e depois modifique a configuração da tabela do sistema. Para mais detalhes, consulte Modify the model for an AI function.

    • content: (Obrigatório) O texto de entrada a ser analisado. Este parâmetro suporta os tipos CHAR, VARCHAR e TEXT.

  • Valor de retorno

    • Retorna o rótulo de sentimento resultante como um valor TEXT. Os rótulos retornados variam conforme o modelo.

      • Os LLMs da série Qwen3 retornam um dos seguintes rótulos: positive, negative, neutral ou mixed. Se a entrada estiver vazia, retorna NULL.

      • O modelo iic/nlp_structbert_sentiment-classification_chinese-base: Retorna o rótulo com a maior probabilidade, que pode ser positive, negative ou NULL. Se a entrada estiver vazia, retorna NULL.

    • Se o parâmetro content for NULL ou uma string vazia (""), retorna NULL.

  • Modelos suportados

    • Modelos integrados do nó de IA do Hologres: Recomenda-se os LLMs da série Qwen3 (como Qwen/Qwen3-32B).

    • Modelos gerenciados: qwen3,7-max, qwen3,7-plus, qwen3,6-plus e qwen3,6-flash.

  • Exemplos

    -- Using an LLM:
    SELECT ai_analyze_sentiment('A joyful night of celebration, a time of great success.');
    -- Example output: positive
    
    -- Using the iic/nlp_structbert_sentiment-classification_chinese-base model:
    SELECT ai_analyze_sentiment('A drizzling rain falls on the day of mourning; the traveler on the road is heartbroken.');
    -- Example output: negative

Funções e modelos de IA

Visualizar o mapeamento entre funções e modelos

O Hologres fornece a tabela de sistema list_ai_function_infos, que mostra o mapeamento entre funções de IA e modelos. Após implantar um modelo no console do Hologres, esta tabela de sistema é atualizada automaticamente com o mapeamento de modelos para cada função de IA. Chame as funções de IA para invocar os modelos correspondentes.

Nota

Diferentes funções de IA exigem tipos específicos de modelos. Por exemplo, ai_embed requer um modelo de embedding, e ai_classify requer um LLM. Se apenas um tipo de modelo estiver implantado na instância, algumas funções de IA podem ficar sem um modelo atribuído. Uma função de IA não pode ser usada se não houver um modelo correspondente implantado.

SELECT * FROM list_ai_function_infos();

O seguinte resultado é retornado.

    function_name     |    model_name    
----------------------+------------------
 ai_embed             | my_gte_embedding
 ai_classify          | my_qwen32b
 ai_extract           | my_qwen32b

Modificar o modelo de uma função de IA

As funções de IA possuem mapeamentos de modelos padrão. Modifique o modelo mapeado para uma função de IA usando os métodos a seguir. Após a modificação, a função de IA invocará o novo modelo.

  • Modificação global

    SELECT set_ai_function_info('<function_name>', '<model_name>');

    Parâmetros

    • function_name: O nome da função de IA. Visualize os nomes das funções de IA em AI function summary.

    • model_name: O nome de um modelo implantado. Faça login no console do Hologres e visualize os nomes dos modelos implantados na página AI Node.

    Nota

    Se o nome da função de IA especificado ou o nome do modelo implantado não existir, um erro será retornado.

    Exemplo

    SELECT set_ai_function_info('ai_embed', 'my_gte_embedding');
  • Modificação no nível da sessão

    Após a modificação no nível da sessão, a configuração no nível da sessão terá precedência sobre a configuração global (ai_function_info) ao chamar funções de IA.

    -- Applies only to the current connection
    SET hg_experimental_ai_function_name_to_model_name_mapping='<function_name>:<model_name>[,<function_name1>:<model_name1>]';

Melhores práticas

Após aprender o básico sobre funções de IA, explore as melhores práticas a seguir para entender como combiná-las em cenários reais e resolver problemas complexos de negócios.