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 de modelo Aplicável para 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).