Todos os produtos
Search
Central de documentação

Realtime Compute for Apache Flink:Início rápido: Análise de dados em tempo real com LLMs

Última atualização: Jun 27, 2026

Use os LLMs do Model Studio com o Realtime Compute for Apache Flink para criar pipelines de análise de IA em tempo real.

Informações básicas

O Model Studio é uma plataforma para criação de aplicações com LLMs. Ele se integra ao Realtime Compute for Apache Flink , permitindo combinar as capacidades dos LLMs com pipelines de dados em tempo real do Flink. Dois tipos principais de modelos são suportados:

  • Modelo chat/completions: LLM voltado para geração de diálogos e compreensão de texto, usado em sistemas de análise de sentimentos, reconhecimento de intenção e perguntas e respostas.

    • Análise de sentimentos: Classifica comentários de redes sociais em tempo real como positivos, negativos ou neutros.

    • Atendimento ao cliente inteligente: Viabiliza interações em linguagem natural para sistemas automatizados de atendimento.

    • Moderação de conteúdo: Identifica conteúdo sensível ou violações de políticas em textos para auditorias de segurança.

  • Modelo de embedding: Converte texto em representações vetoriais de alta dimensão para busca semântica, sistemas de recomendação e construção de grafos de conhecimento.

    • Busca semântica: Vetoriza descrições de produtos ou consultas de usuários para buscar por relevância.

    • Sistemas de recomendação: Descobre associações entre interesses de usuários e características de produtos por meio da vetorização de texto.

    • Grafo de conhecimento: Transforma texto não estruturado em vetores para extração de conhecimento e modelagem de relacionamentos.

Pré-requisitos

Limitações

Este recurso tem suporte apenas no Ververica Runtime (VVR) 11.1 ou superior.

Etapa 1: Registrar um modelo do Model Studio

Registre um modelo conforme descrito em Configurar um modelo.

Modelo Chat/completions

O exemplo de SQL a seguir registra o modelo qwen-turbo:

CREATE MODEL ai_analyze_sentiment
INPUT (`input` STRING)
OUTPUT (`content` STRING)
WITH (
    'provider'='bailian',
    'endpoint'='<base_url>/compatible-mode/v1/chat/completions',    -- The endpoint for chat/completions model tasks.
    'api-key' = '<YOUR KEY>',
    'model'='qwen-turbo',                                                               -- The Qwen-turbo model.
    'system-prompt' = 'Classify the text below into one of the following labels: [positive, negative, neutral, mixed]. Output only the label.'
);

Substitua <base_url> no valor do endpoint conforme o método de acesso:

  • Acesso pela internet: substitua <base_url> por https://dashscope-intl.aliyuncs.com.

  • Acesso por rede privada VPC: substitua <base_url> por https://vpc-ap-southeast-1.dashscope.aliyuncs.com.

    Nota

    O parâmetro endpoint suporta apenas o protocolo HTTPS.

Modelo de Embedding

O exemplo de SQL abaixo registra o modelo text-embedding-v3:

CREATE MODEL embedding_model
INPUT (`input` STRING)
OUTPUT (`embeddings` ARRAY<FLOAT>)
WITH (
    'provider'='bailian',
    'endpoint'='https://dashscope.aliyuncs.com/compatible-mode/v1/embeddings',   -- The endpoint for embedding model tasks.
    'api-key' = '<YOUR KEY>',
    'model'='text-embedding-v3'                                                  -- The text-embedding-v3 model.
);

Etapa 2: Criar um job

Crie um rascunho de job de streaming SQL. Jobs do Flink SQL.

Etapa 3: Escrever um job SQL para análise com LLM

Modelo Chat/completions

Chame o modelo registrado ai_analyze_sentiment com ML_PREDICT para analisar sentimentos em críticas de filmes.

Importante

O operador ML_PREDICT está sujeito aos limites de taxa do Model Studio. Ao atingir esses limites, ocorre backpressure e o operador ML_PREDICT torna-se o gargalo. Limitações severas podem causar timeouts no operador e reinícios do job. Consulte os limites específicos de cada modelo em Limites de QPS e tokens. Entre em contato com seu gerente de contas para solicitar aumentos de limite.

Copie este SQL para o editor.

-- Create a temporary sink table.
CREATE TEMPORARY TABLE print_sink(
  id BIGINT,
  movie_name VARCHAR, 
  predict_label VARCHAR, 
  actual_label VARCHAR
) WITH (
  'connector' = 'print',   -- Use the print connector.
  'logger' = 'true'        -- Display the results in the console.
);
-- Create a temporary data view to construct test data.
-- | id | movie_name         | comment                                                                                                                        | actual_label |
-- | 1  | Her Story          | My favorite part was when the kid guessed the sounds. It is one of the most romantic narratives I have seen in movies. Very gentle and loving. | POSITIVE     |
-- | 2  | The Dumpling Queen | Unremarkable.                                                                                                                  | NEGATIVE     |
CREATE TEMPORARY VIEW movie_comment(id, movie_name, user_comment, actual_label)
AS VALUES (1, 'Her Story', 'My favorite part was when the kid guessed the sounds. It is one of the most romantic narratives I have seen in movies. Very gentle and loving.', 'positive'), (2, 'The Dumpling Queen', 'Unremarkable.', 'negative');
INSERT INTO print_sink
SELECT id, movie_name, content as predict_label, actual_label 
FROM ML_PREDICT(
  TABLE movie_comment, 
  MODEL ai_analyze_sentiment,  -- The registered Qwen qwen-turbo model.
  DESCRIPTOR(user_comment));   

Modelo de Embedding

Chame o embedding_model registrado com ML_PREDICT para gerar embeddings das críticas de filmes e gravar os resultados no Milvus (visualização pública).

Importante

O operador ML_PREDICT está sujeito aos limites de taxa do Model Studio. Ao atingir esses limites, ocorre backpressure e o operador ML_PREDICT torna-se o gargalo. Limitações severas podem causar timeouts no operador e reinícios do job. Consulte os limites específicos de cada modelo em Limites de QPS e tokens. Entre em contato com seu gerente de contas para solicitar aumentos de limite.

Copie este SQL para o editor.

-- Create a temporary sink table named milvus_sink.
CREATE TEMPORARY TABLE milvus_sink
(
    id STRING,
    movie_name STRING,
    user_comment STRING,
    embeddings ARRAY<FLOAT>,
    PRIMARY KEY (id) NOT ENFORCED
)
WITH (
    'connector' = 'milvus',
    'endpoint' = '<YOUR-ENDPOINT>',
    'port' = '<YOUR-PORT>',
    'userName' = '<YOUR-USERNAME>',
    'password' = '<YOUR-PASSWORD>',
    'databaseName' = 'default',
    'collectionName' = 'movie-comment-embeddings'
);
-- Create a temporary data view to construct test data.
-- | id | movie_name         | comment                                                                                                                        |
-- | 1  | Her Story          | My favorite part was when the kid guessed the sounds. It is one of the most romantic narratives I have seen in movies. Very gentle and loving. |
-- | 2  | The Dumpling Queen | Unremarkable.                                                                                                                  |
CREATE TEMPORARY VIEW movie_comment(id, movie_name,  user_comment)
AS VALUES ('1', 'Her Story', 'My favorite part was when the kid guessed the sounds. It is one of the most romantic narratives I have seen in movies. Very gentle and loving.'), ('2', 'The Dumpling Queen', 'Unremarkable.');
INSERT INTO
    milvus_sink
SELECT
    id,
    movie_name,
    user_comment,
    embeddings
FROM
    ML_PREDICT (
        TABLE movie_comment,
        MODEL embedding_model,  -- The registered text-embedding-v3 model.                   
        DESCRIPTOR (user_comment)
    );

Etapa 4: Implantar e iniciar o job

Implante e inicie o job. Jobs do Flink SQL.

Etapa 5: Visualizar os resultados da análise

Modelo Chat/completions

  1. Verifique se o status do job é FINISHED.

  2. No console de O&M, acesse Deployments e clique em no job desejado.

  3. Na aba Logs, clique em na subaba Task Managers e selecione o current TaskManager.

  4. Clique em Log e pesquise por PrintSinkOutputWriter.

    O valor de predict_label deve corresponder ao actual_label.

    Por exemplo, +I[1, Her Story, positive, positive] e +I[2, The Dumpling Queen, negative, negative] confirmam que as previsões correspondem aos rótulos reais.

Documentos relacionados