Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:
Databricks SQL
Databricks Runtime
Importante
Esta funcionalidad está en versión preliminar pública y compatible con HIPAA.
Durante la versión preliminar:
- El modelo de lenguaje subyacente puede controlar varios idiomas, pero esta función de IA está optimizada para inglés.
- Consulte Características con disponibilidad regional limitada para la disponibilidad regional de AI Functions.
La ai_classify() función clasifica el contenido de texto según las etiquetas personalizadas que proporcione. Puede usar nombres de etiqueta simples para la clasificación básica o agregar descripciones de etiquetas e instrucciones para mejorar la precisión de los casos de uso, como el enrutamiento de soporte técnico al cliente, la categorización de documentos y el análisis de contenido.
La función acepta texto o VARIANT salida de otras funciones de IA como ai_parse_document, lo que permite flujos de trabajo que se pueden componer.
Para que una versión de la interfaz de usuario itera en ai_classify, consulte Clasificación.
Requisitos
Licencia de Apache 2.0
Los modelos subyacentes que se pueden usar en este momento tienen licencia bajo la licencia de Apache 2.0, Copyright © The Apache Software Foundation. Los clientes son responsables de garantizar el cumplimiento de las licencias de modelo aplicables.
Databricks recomienda revisar estas licencias para garantizar el cumplimiento de los términos aplicables. Si los modelos surgen en el futuro que funcionan mejor según las pruebas comparativas internas de Databricks, Databricks podría cambiar el modelo (y la lista de licencias aplicables proporcionadas en esta página).
El modelo que alimenta esta función está disponible mediante las API de modelo de Model Serving Foundation. Consulte Términos aplicables para desarrolladores de modelos para obtener información sobre qué modelos están disponibles en Databricks y las licencias y directivas que rigen el uso de esos modelos.
Si los modelos surgen en el futuro que funcionan mejor según las pruebas comparativas internas de Databricks, Databricks puede cambiar los modelos y actualizar la documentación.
- Esta función solo está disponible en algunas regiones, consulte Disponibilidad de funciones de IA.
- Esta función no está disponible en Azure Databricks SQL Classic.
- Consulte la página de precios de Databricks SQL.
- En Databricks Runtime 15.1 y versiones posteriores, esta función se admite en cuadernos de Databricks, incluidos los cuadernos que se ejecutan como una tarea en un flujo de trabajo de Databricks.
- Las cargas de trabajo de inferencia por lotes requieren Databricks Runtime 15.4 ML LTS para mejorar el rendimiento.
Sintaxis
Versión 2 (recomendado)
ai_classify(
content VARIANT | STRING,
labels STRING,
[options MAP<STRING, STRING>]
) RETURNS VARIANT
Versión 1
ai_classify(
content STRING,
labels ARRAY<STRING>,
[options MAP<STRING, STRING>]
) RETURNS STRING
Argumentos
Versión 2 (recomendado)
content: una expresiónVARIANToSTRING. Acepta cualquiera de:- Texto sin formato como
STRING - Objeto
VARIANTgenerado por otra función de IA (por ejemploai_parse_document, oai_extract)
- Texto sin formato como
labels: literalSTRINGque define las etiquetas de clasificación. Las etiquetas pueden ser:- Etiquetas simples: una matriz JSON de nombres de etiqueta.
["urgent", "not_urgent"] - Etiquetas con descripciones: un nombre de etiqueta de asignación de objetos JSON a descripciones. Las descripciones de etiquetas deben tener entre 0 y 1000 caracteres.
{ "billing_error": "Payment, invoice, or refund issues", "product_defect": "Any malfunction, bug, or breakage", "account_issue": "Login failures, password resets" }
Cada etiqueta debe tener entre 1 y 100 caracteres.
labelsdebe contener al menos 2 etiquetas y no más de 500 etiquetas.- Etiquetas simples: una matriz JSON de nombres de etiqueta.
options: una opción queMAP<STRING, STRING>contiene las opciones de configuración:-
version: cambio de versión para admitir la migración ("1.0"para el comportamiento de la versión 1,"2.0"para el comportamiento de la versión 2). El valor predeterminado se basa en los tipos de entrada, pero se revertirá a"1.0". -
instructions: descripción global de la tarea y el dominio para mejorar la calidad de la clasificación. Debe tener menos de 20 000 caracteres. -
multilabel: se establece en"true"para devolver varias etiquetas cuando se aplican varias categorías. El valor predeterminado es"false"(clasificación de etiqueta única).
-
Versión 1
contentSTRING: expresión que contiene el texto que se va a clasificar.labelsARRAY<STRING>: literal con las etiquetas de clasificación de salida esperadas. Debe contener al menos 2 y no más de 20 elementos. Cada etiqueta debe tener entre 1 y 50 caracteres.options: una opción queMAP<STRING, STRING>contiene las opciones de configuración:-
version: cambio de versión para admitir la migración ("1.0"para el comportamiento de la versión 1,"2.0"para el comportamiento de la versión 2). El valor predeterminado se basa en los tipos de entrada, pero se revertirá a"1.0".
-
Devoluciones
Versión 2 (recomendado)
Devuelve un VARIANT objeto que contiene:
{
"response": ["label_name"], // Array with single label (or multiple if multilabel=true)
"error_message": null // null on success, or error message on failure
}
El response campo contiene:
- Modo de etiqueta única (valor predeterminado): matriz con un elemento que contiene la mejor etiqueta coincidente
-
Modo de varias etiquetas (
multilabel: "true"): matriz con varias etiquetas cuando se aplican varias categorías - Los nombres de etiqueta coinciden exactamente con los proporcionados en el
labelsparámetro
Devuelve NULL si content es NULL o si el contenido no se puede clasificar.
Versión 1
Devuelve un STRINGobjeto . El valor coincide con una de las cadenas proporcionadas en el argumento labels.
Devuelve NULL si content es NULL o si el contenido no se puede clasificar.
Ejemplos
Versión 2 (recomendado)
Etiquetas simples: solo nombres de etiqueta
> SELECT ai_classify(
'My password is leaked.',
'["urgent", "not_urgent"]'
);
{
"response": ["urgent"],
"error": null
}
Etiquetas con descripciones
> 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
}
Uso de instrucciones globales
> 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
}
Clasificación de varias etiquetas
> 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
}
Capacidad de redacción con 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;
Clasificación por lotes
> SELECT
description,
ai_classify(
description,
'["clothing", "shoes", "accessories", "furniture", "electronics"]'
) AS category
FROM products
LIMIT 10;
Versión 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;
Limitaciones
Versión 2 (recomendado)
Limitaciones de la versión 2:
Esta función no está disponible en Azure Databricks SQL Classic.
Esta función no se puede usar con Views.
Los nombres de etiqueta deben tener entre 1 y 100 caracteres cada uno.
El
labelsparámetro debe contener entre 2 y 500 etiquetas únicas.Las descripciones de etiquetas deben tener entre 0 y 1000 caracteres cada una.
El tamaño de contexto total máximo es de 128 000 tokens.
Versión 1
Limitaciones de la versión 1:
Esta función no está disponible en Azure Databricks SQL Classic.
Esta función no se puede usar con Views.
Los nombres de etiqueta deben tener entre 1 y 50 caracteres.
La
labelsmatriz debe contener entre 2 y 20 etiquetas.La
contententrada debe tener menos de 128 000 tokens (unos 300 000 caracteres).