A AI_CLASSIFY é uma função de IA do MaxCompute que chama um modelo para retornar o rótulo de um conjunto fornecido que melhor corresponde à entrada.
Sintaxe
STRING AI_CLASSIFY(
STRING <model_name>,
STRING <version_name>,
STRING <input>,
ARRAY<STRING> <labels>
[, STRING <model_parameters>]
);
Parâmetros
model_name: Obrigatório. STRING. Nome do modelo a usar. Para obter mais informações, consulte SQL AI function.
version_name: Obrigatório. STRING. Nome da versão do modelo a usar. Para chamar a versão padrão, especifique
DEFAULT_VERSION.input: Obrigatório. STRING. Texto a classificar.
labels: Obrigatório. ARRAY<STRING>. Lista de rótulos candidatos para classificação. Este parâmetro aceita constantes e entradas de coluna. Se você usar uma constante, o número de rótulos deve estar entre 2 e 20, inclusive.
-
model_parameters: Opcional. STRING. Especifique parâmetros do modelo como
max_tokens,temperatureetop_p. O formato é uma string JSON:'{"max_tokens": 500, "temperature": 0.6, "top_p": 0.95}'.max_tokens: Número máximo de tokens a gerar em uma única chamada de modelo. Para modelos públicos do MaxCompute, o valor padrão é 4.096.
temperature: Valor entre 0 e 1 que controla a aleatoriedade da saída. Valores mais altos resultam em saídas mais criativas e diversificadas, enquanto valores mais baixos produzem resultados mais determinísticos e conservadores.
top_p: Valor entre 0 e 1 que limita o intervalo de rótulos candidatos disponíveis para escolha pelo modelo. Valores mais altos permitem um intervalo mais amplo e maior diversidade, enquanto valores mais baixos restringem o intervalo e geram resultados mais focados.
Valor de retorno
Retorna um valor STRING que representa o rótulo com melhor correspondência à entrada.
Retorna um erro se
inputnão for STRING ou selabelsnão for ARRAY<STRING>.Retorna um erro se
labelsfor uma constante e o número de rótulos for igual a 1 ou superior a 20.Retorna NULL se
inputoulabelsfor NULL ou uma string vazia ("").
Exemplos
Exemplo 1: Classificar texto constante
Chama o modelo público qwen3.7-max fornecido pelo MaxCompute para classificar o texto de entrada e retorna o resultado mais adequado dentre os rótulos informados.
SET odps.namespace.schema=true;
SELECT AI_CLASSIFY(
bigdata_public_modelset.default.`qwen3.7-max`,
DEFAULT_VERSION,
'MaxCompute is a fully managed, high-performance big data computing platform that provides fast and scalable data warehousing and analysis capabilities.',
ARRAY('Technology', 'Sports', 'Finance', 'Healthcare', 'Education')
) AS classified_label;
-- Result
+------------------+
| classified_label |
+------------------+
| Technology |
+------------------+
Exemplo 2: Classificar dados de tabela
Use o modelo público do MaxCompute deepseek-v4-pro para classificar em lote várias entradas de texto em uma tabela.
-- Sample data
CREATE TABLE news_articles (
content STRING
);
INSERT INTO news_articles VALUES
('Artificial intelligence is changing the healthcare industry with new diagnostic tools.'),
('Driven by a rally in the tech sector, the stock market hit a record high today.'),
('The team won the championship after a thrilling overtime.'),
('Cloud computing enables businesses to scale their infrastructure on demand.');
-- Use the model to classify the text in the table
SET odps.namespace.schema=true;
SELECT
content,
AI_CLASSIFY(
bigdata_public_modelset.default.`deepseek-v4-pro`,
DEFAULT_VERSION,
content,
ARRAY('Technology', 'Sports', 'Finance', 'Healthcare')
) AS category
FROM news_articles;
-- Result
+------------------------------------------------------------------------------------------+------------+
| content | category |
+------------------------------------------------------------------------------------------+------------+
| Artificial intelligence is changing the healthcare industry with new diagnostic tools. | Healthcare |
| Driven by a rally in the tech sector, the stock market hit a record high today. | Finance |
| The team won the championship after a thrilling overtime. | Sports |
| Cloud computing enables businesses to scale their infrastructure on demand. | Technology |
+------------------------------------------------------------------------------------------+------------+
Perguntas frequentes
Solução de problemas com modelos públicos
Sintoma: Ao chamar um modelo público compatível com o service de Computação de Modelos do MaxCompute, o service retorna a seguinte mensagem de erro:
FAILED: ODPS-0130071:[1,8] Semantic analysis exception - inference quota status check failed, error message: region cn-shanghai not found in inference quota
Causa: O service de Computação de Modelos do MaxCompute não está ativado na região do seu projeto (por exemplo, cn-shanghai). Consequentemente, não é possível chamar os recursos de inferência de IA.
Solução: Acesse o console da Alibaba Cloud e ative o service de Computação de Modelos do MaxCompute para a região do seu projeto. Para obter mais informações, consulte Purchase and use MaxCompute Model Computing Service.