Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Função
Aplica-se a:
Databricks SQL
Databricks Runtime
Importante
Esta funcionalidade está em Pré-visualização Pública e em conformidade com a HIPAA.
Durante a antevisão:
- O modelo de linguagem subjacente pode lidar com várias línguas, mas esta Função de IA está ajustada para inglês.
- Ver Funcionalidades com disponibilidade regional limitada para disponibilidade regional de Funções de IA.
A ai_classify() função classifica o conteúdo do texto de acordo com etiquetas personalizadas que fornece. Pode usar nomes simples de etiquetas para classificação básica, ou adicionar descrições e instruções de etiquetas para melhorar a precisão em casos de uso como encaminhamento de apoio ao cliente, categorização de documentos e análise de conteúdos.
A função aceita texto ou VARIANT saída de outras funções de IA, como ai_parse_document, permitindo fluxos de trabalho componíveis.
Para uma versão da interface para iterar em ai_classify, veja Classificação.
Requisitos
Licença Apache 2.0
Os modelos subjacentes que poderão ser usados atualmente estão licenciados sob a Licença Apache 2.0, Direitos de Autor © da Apache Software Foundation. Os clientes são responsáveis por garantir a conformidade com as licenças de modelo aplicáveis.
A Databricks recomenda a revisão dessas licenças para garantir a conformidade com quaisquer termos aplicáveis. Se surgirem modelos no futuro com melhor desempenho de acordo com os benchmarks internos da Databricks, a Databricks poderá alterar o modelo (e a lista de licenças aplicáveis fornecida nesta página).
O modelo que alimenta esta função está disponível através das APIs Model Serving Foundation Model Model. Consulte Termos Aplicáveis para desenvolvedores de modelos para obter informações sobre quais modelos estão disponíveis nos Databricks e as licenças e políticas que regem a utilização desses modelos.
Se surgirem no futuro modelos com melhor desempenho de acordo com os benchmarks internos da Databricks, a Databricks poderá alterar os modelos e atualizar a documentação.
- Esta função está disponível apenas em algumas regiões, veja disponibilidade de funções de IA.
- Esta função não está disponível no Azure Databricks SQL Classic.
- Consulte a página de preços do Databricks SQL.
- No Databricks Runtime 15.1 e superior, essa função é suportada em blocos de anotações Databricks, incluindo blocos de anotações que são executados como uma tarefa em um fluxo de trabalho Databricks.
- As cargas de trabalho de inferência em lote exigem o Databricks Runtime 15.4 ML LTS para melhorar o desempenho.
Sintaxe
Versão 2 (recomendada)
ai_classify(
content VARIANT | STRING,
labels STRING,
[options MAP<STRING, STRING>]
) RETURNS VARIANT
Versão 1
ai_classify(
content STRING,
labels ARRAY<STRING>,
[options MAP<STRING, STRING>]
) RETURNS STRING
Argumentos
Versão 2 (recomendada)
content: Uma expressãoVARIANTouSTRING. Aceita um:- Texto bruto como um
STRING - Um
VARIANTproduzido por outra função de IA (comoai_parse_documentouai_extract)
- Texto bruto como um
labels: UmSTRINGliteral que define as etiquetas de classificação. As etiquetas podem ser:- Etiquetas simples: Um array JSON de nomes de etiquetas.
["urgent", "not_urgent"] - Rótulos com descrições: Um objeto JSON a mapear nomes de etiquetas para descrições. As descrições das etiquetas devem ter entre 0 e 1000 caracteres.
{ "billing_error": "Payment, invoice, or refund issues", "product_defect": "Any malfunction, bug, or breakage", "account_issue": "Login failures, password resets" }
Cada rótulo deve ter de 1 a 100 caracteres.
labelsdevem conter pelo menos 2 etiquetas, e não mais do que 500 etiquetas.- Etiquetas simples: Um array JSON de nomes de etiquetas.
options: Um opcionalMAP<STRING, STRING>contendo opções de configuração:-
version: Mudança de versão para suportar migração ("1.0"para comportamento v1,"2.0"para comportamento v2). O padrão baseia-se nos tipos de entrada, mas voltará a"1.0"ser . -
instructions: Descrição global da tarefa e do domínio para melhorar a qualidade da classificação. Deve ter menos de 20.000 caracteres. -
multilabel: Defina para"true"devolver múltiplas etiquetas quando se aplicam várias categorias. O padrão é"false"(classificação de etiqueta única).
-
Versão 1
content: UmaSTRINGexpressão contendo o texto a classificar.labels: UmARRAY<STRING>literal com as etiquetas de classificação de saída esperadas. Deve conter pelo menos 2 elementos, e não mais de 20 elementos. Cada etiqueta deve ter entre 1 a 50 caracteres.options: Um opcionalMAP<STRING, STRING>contendo opções de configuração:-
version: Mudança de versão para suportar migração ("1.0"para comportamento v1,"2.0"para comportamento v2). O padrão baseia-se nos tipos de entrada, mas voltará a"1.0"ser .
-
Devoluções
Versão 2 (recomendada)
Devolve um VARIANT que contém:
{
"response": ["label_name"], // Array with single label (or multiple if multilabel=true)
"error_message": null // null on success, or error message on failure
}
O response campo contém:
- Modo de etiqueta única (por defeito): Um array com um elemento contendo a etiqueta de melhor correspondência
-
Modo multi-rótulo (
multilabel: "true"): Um array com múltiplas etiquetas quando se aplicam várias categorias - Os nomes das etiquetas correspondem exatamente aos fornecidos no
labelsparâmetro
Devolve NULL se content for NULL ou se o conteúdo não puder ser classificado.
Versão 1
Devolve um STRINGficheiro . O valor corresponde a uma das cadeias de caracteres fornecidas no labels argumento.
Devolve NULL se content for NULL ou se o conteúdo não puder ser classificado.
Exemplos
Versão 2 (recomendada)
Rótulos simples - apenas nomes de etiquetas
> SELECT ai_classify(
'My password is leaked.',
'["urgent", "not_urgent"]'
);
{
"response": ["urgent"],
"error": null
}
Rótulos com descrições
> SELECT ai_classify(
'Customer cannot complete checkout due to payment processing error.',
'{
"billing_error": "Payment, invoice, or refund issues",
"product_defect": "Any malfunction, bug, or breakage",
"account_issue": "Login failures, password resets",
"feature_request": "Customer suggestions for improvements"
}'
);
{
"response": ["billing_error"],
"error": null
}
Utilização de instruções globais
> SELECT ai_classify(
'User reports app crashes on startup after update.',
'["critical", "high", "medium", "low"]',
MAP('instructions', 'Classify bug severity based on user impact and frequency.')
);
{
"response": ["critical"],
"error": null
}
Classificação multi-rótulo
> SELECT ai_classify(
'Customer wants refund and reports product arrived broken.',
'{
"billing_issue": "Payment or refund requests",
"product_defect": "Damaged or malfunctioning items",
"shipping_issue": "Delivery problems"
}',
MAP('multilabel', 'true')
);
{
"response": ["billing_issue", "product_defect"],
"error": null
}
Composabilidade com ai_parse_document
> WITH parsed_docs AS (
SELECT
path,
ai_parse_document(
content,
MAP('version', '2.0')
) AS parsed_content
FROM READ_FILES('/Volumes/support/tickets/', format => 'binaryFile')
)
SELECT
path,
ai_classify(
parsed_content,
'["billing_error", "product_defect", "account_issue", "feature_request"]',
MAP('instructions', 'Customer support ticket classification.')
) AS ticket_category
FROM parsed_docs;
Classificação por lotes
> SELECT
description,
ai_classify(
description,
'["clothing", "shoes", "accessories", "furniture", "electronics"]'
) AS category
FROM products
LIMIT 10;
Versão 1
> SELECT ai_classify("My password is leaked.", ARRAY("urgent", "not urgent"));
urgent
> SELECT
description,
ai_classify(description, ARRAY('clothing', 'shoes', 'accessories', 'furniture')) AS category
FROM
products
LIMIT 10;
Limitações
Versão 2 (recomendada)
Limitações da versão 2:
Esta função não está disponível no Azure Databricks SQL Classic.
Esta função não pode ser usada com as Vistas.
Os nomes das etiquetas devem ter entre 1 e 100 caracteres cada.
O
labelsparâmetro deve conter entre 2 e 500 rótulos únicos.As descrições das etiquetas devem ter entre 0 e 1.000 caracteres cada.
O tamanho máximo total de contexto é de 128.000 tokens.
Versão 1
Limitações da versão 1:
Esta função não está disponível no Azure Databricks SQL Classic.
Esta função não pode ser usada com as Vistas.
Os nomes das etiquetas devem ter entre 1 e 50 caracteres cada.
O
labelsarray deve conter entre 2 e 20 etiquetas.A
contententrada deve ser inferior a 128.000 tokens (cerca de 300.000 caracteres).