Partekatu honen bidez:


Aplicación de inteligencia artificial en datos mediante Azure Databricks AI Functions

Importante

Esta característica está en versión preliminar pública.

En este artículo se describen Azure Databricks AI Functions y las funciones admitidas.

¿Qué son las funciones de IA?

Las funciones de IA son funciones integradas que puede usar para aplicar inteligencia artificial, como la traducción de texto o el análisis de sentimiento, en los datos almacenados en Databricks. Se pueden ejecutar desde cualquier lugar de Databricks, incluidos Databricks SQL, cuadernos, canalizaciones declarativas de Spark de Lakeflow y flujos de trabajo.

Las funciones de IA son fáciles de usar, rápidas y escalables. Los analistas pueden usarlos para aplicar la inteligencia de datos a sus datos propietarios, mientras que los científicos de datos y los ingenieros de aprendizaje automático pueden usarlos para crear canalizaciones por lotes de nivel de producción.

Las funciones de IA proporcionan funciones específicas de tareas y de uso general.

  • Las funciones específicas de tareas proporcionan funcionalidades de inteligencia artificial de alto nivel para tareas como resumir texto y traducción. Estas funciones específicas de la tarea cuentan con tecnología de modelos de IA generativos de última generación hospedados y administrados por Databricks. Consulte Funciones de IA específicas de la tarea para conocer las funciones y modelos admitidos.
  • ai_query es una función de uso general que permite aplicar cualquier tipo de modelo de inteligencia artificial en los datos. Consulte Función de uso general: ai_query.

Funciones de IA específicas de la tarea

Las funciones específicas de la tarea se limitan a una determinada tarea para que pueda automatizar acciones rutinarias, como resúmenes sencillos y traducciones rápidas. Databricks recomienda estas funciones para empezar porque invocan modelos de IA generativos de última generación mantenidos por Databricks y no requieren ninguna personalización.

Consulte Análisis de opiniones de clientes con AI Functions para obtener un ejemplo.

En la tabla siguiente se enumeran las funciones admitidas y la tarea que realizan.

Función Descripción
ai_analyze_sentiment Realice un análisis de sentimiento en el texto de entrada mediante un modelo de ia generativa de última generación.
ai_classify Clasifique el texto de entrada según las etiquetas que proporcione mediante un modelo de ia generativa de última generación.
ai_extract Extraiga las entidades especificadas por las etiquetas del texto mediante un modelo de IA generativa de última generación.
ai_corregir_gramática Corrija los errores gramaticales en el texto mediante un modelo de ia generativa de última generación.
ai_gen Responda al mensaje proporcionado por el usuario mediante un modelo de ia generativa de última generación.
ai_mask Enmascarar las entidades especificadas en el texto mediante un modelo de IA generativo de última generación.
ai_parse_document Extraiga contenido estructurado de documentos no estructurados mediante un modelo de ia generativa de última generación.
ai_similarity Compare dos cadenas y calcule la puntuación de similitud semántica mediante un modelo de ia generativa de última generación.
ai_summarize Genere un resumen del texto mediante SQL y el modelo de ia generativa de última generación.
ai_translate Traduzca texto a un idioma de destino especificado mediante un modelo de ia generativa de última generación.
ai_forecast Previsión de datos hasta un horizonte especificado. Esta función con valores de tabla está diseñada para extrapolar los datos de series temporales en el futuro.
vector_search Busque y consulte un índice de búsqueda de vectores de IA de mosaico mediante un modelo de IA generativo de última generación.

Función de uso general: ai_query

La ai_query() función permite aplicar cualquier modelo de inteligencia artificial a los datos de las tareas de inteligencia artificial generativa y aprendizaje automático clásico, incluida la extracción de información, el resumen del contenido, la identificación del fraude y la previsión de los ingresos. Para obtener detalles de sintaxis y parámetros, consulte ai_query function.

En la tabla siguiente se resumen los tipos de modelo admitidos, los modelos asociados y los requisitos de configuración del punto de conexión de servicio para cada uno.

Tipo Descripción Modelos compatibles Requisitos
Modelos implementados previamente Estos modelos fundamentales se hospedan en Databricks y ofrecen puntos de conexión preconfigurados que puede consultar mediante ai_query. Consulte Modelos de base admitidos en Mosaic AI Model Serving para ver qué modelos son compatibles con cada característica de servicio de modelos y su disponibilidad de región. Estos modelos son compatibles y optimizados para empezar a trabajar con flujos de trabajo de inferencia y producción por lotes:
  • databricks-claude-sonnet-4
  • databricks-gpt-oss-20b
  • databricks-gpt-oss-120b
  • databricks-gemma-3-12b
  • databricks-llama-4-maverick
  • databricks-meta-llama-3-3-70b-instruct
  • databricks-meta-llama-3-1-8b-instruct
  • databricks-gte-large-en

Otros modelos hospedados en Databricks están disponibles para su uso con AI Functions, pero no se recomiendan para flujos de trabajo de producción de inferencia por lotes a escala. Estos otros modelos están disponibles para la inferencia en tiempo real mediante las API de pago por token de Foundation Model.
Databricks Runtime 15.4 LTS o superior es necesario para usar esta funcionalidad. No requiere ninguna configuración ni aprovisionamiento de puntos de conexión. El uso de estos modelos está sujeto a la disponibilidad de las licencias y términos aplicables para desarrolladores de modelos y a la disponibilidad de la región de AI Functions.
Traiga su propio modelo Puede traer sus propios modelos y consultarlos mediante AI Functions. AI Functions ofrece flexibilidad para poder consultar modelos para escenarios de inferencia en tiempo real o de inferencia por lotes.

Uso de ai_query con modelos de base

En el ejemplo siguiente se muestra cómo usar ai_query un modelo de base hospedado por Databricks.


SELECT text, ai_query(
    "databricks-meta-llama-3-3-70b-instruct",
    "Summarize the given text comprehensively, covering key points and main ideas concisely while retaining relevant details and examples. Ensure clarity and accuracy without unnecessary repetition or omissions: " || text
) AS summary
FROM uc_catalog.schema.table;

Cuaderno de ejemplo: inferencia por lotes y extracción de datos estructurados

En el cuaderno de ejemplo siguiente se muestra cómo realizar la extracción básica de datos estructurados mediante ai_query para transformar datos sin procesar y no estructurados en información organizada y utilizable a través de técnicas de extracción automatizadas. En este cuaderno también se muestra cómo aprovechar la evaluación del agente de IA de Mosaic para evaluar la precisión utilizando datos de referencia.

Cuaderno de inferencia por lotes y extracción de datos estructurados

Obtener el cuaderno

Uso ai_query con modelos tradicionales de ML

ai_query admite modelos tradicionales de ML, incluidos los totalmente personalizados. Estos modelos deben implementarse en los puntos de conexión de Servicio de modelos. Para obtener detalles de sintaxis y parámetros, consulte ai_query función .

SELECT text, ai_query(
  endpoint => "spam-classification",
  request => named_struct(
    "timestamp", timestamp,
    "sender", from_number,
    "text", text),
  returnType => "BOOLEAN") AS is_spam
FROM catalog.schema.inbox_messages
LIMIT 10

Cuaderno de ejemplo: inferencia por lotes mediante BERT para el reconocimiento de entidades con nombre

En el cuaderno siguiente se muestra un ejemplo de inferencia por lotes de modelos de ML tradicional mediante BERT.

Inferencia por lotes mediante BERT para el cuaderno de reconocimiento de entidades con nombre

Obtener el cuaderno

Uso de funciones de IA en flujos de trabajo de Python existentes

Las funciones de IA se pueden integrar fácilmente en flujos de trabajo de Python existentes.

A continuación se escribe la salida del ai_query en una tabla de salida:


df_out = df.selectExpr(
  "ai_query('databricks-meta-llama-3-3-70b-instruct', CONCAT('Please provide a summary of the following text: ', text), modelParameters => named_struct('max_tokens', 100, 'temperature', 0.7)) as summary"
)
df_out.write.mode("overwrite").saveAsTable('output_table')

A continuación se escribe el texto resumido en una tabla:

df_summary = df.selectExpr("ai_summarize(text) as summary")
df_summary.write.mode('overwrite').saveAsTable('summarized_table')

Uso de funciones de IA en flujos de trabajo de producción

Para la inferencia por lotes a gran escala, puede integrar funciones de IA específicas de tareas o la función de uso general ai_query en sus flujos de trabajo de producción, como las canalizaciones declarativas de Lakeflow Spark, los flujos de trabajo de Databricks y Structured Streaming. Esto permite el procesamiento de nivel de producción a escala. Consulte Implementación de canalizaciones de inferencia por lotes para obtener ejemplos y detalles.

Supervisión del progreso de las funciones de IA

Para comprender cuántas inferencias se han completado o producido errores y solucionar problemas de rendimiento, puede supervisar el progreso de las funciones de IA mediante la característica de perfil de consulta.

En Databricks Runtime 16.1 ML y versiones posteriores, desde la ventana de consulta del editor de SQL del área de trabajo:

  1. Seleccione el vínculo En ejecución--- en la parte inferior de la ventana Resultados sin procesar. La ventana de rendimiento aparece a la derecha.
  2. Haga clic en Ver perfil de consulta para ver los detalles del rendimiento.
  3. Haga clic en Consulta de IA para ver las métricas de esa consulta concreta, incluido el número de inferencias completadas y con errores y el tiempo total que tardó la solicitud en completarse.

Supervisión del progreso de la función de IA

Visualización de los costos de las cargas de trabajo de la función de IA

Los costos de la función de IA quedan registrados como parte del MODEL_SERVING producto bajo el BATCH_INFERENCE tipo de oferta. Consulte Visualización de los costos de las cargas de trabajo de inferencia por lotes para obtener una consulta de ejemplo.

Nota:

Los ai_parse_document gastos se registran como parte del AI_FUNCTIONS producto. Consulte Visualización de los costos de ai_parse_document ejecuciones para obtener una consulta de ejemplo.

Visualización de los costos de las cargas de trabajo de inferencia por lotes

En los ejemplos siguientes se muestra cómo filtrar las cargas de trabajo de inferencia por lotes en función del trabajo, el proceso, los almacenes de SQL y las canalizaciones declarativas de Spark de Lakeflow.

Consulte Supervisión de los costos de servicio del modelo para obtener ejemplos generales sobre cómo ver los costos de las cargas de trabajo de inferencia por lotes que usan AI Functions.

Jobs

En la consulta siguiente se muestran los trabajos que se utilizan para la inferencia por lotes mediante una tabla de sistemas system.workflow.jobs. Consulte Supervisión de costos y rendimiento de trabajos con tablas del sistema.


SELECT *
FROM system.billing.usage u
  JOIN system.workflow.jobs x
    ON u.workspace_id = x.workspace_id
    AND u.usage_metadata.job_id = x.job_id
  WHERE u.usage_metadata.workspace_id = <workspace_id>
    AND u.billing_origin_product = "MODEL_SERVING"
    AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";

Compute

A continuación se muestran los clústeres que se están utilizando para la inferencia por lotes con la tabla de sistemas system.compute.clusters.

SELECT *
FROM system.billing.usage u
  JOIN system.compute.clusters x
    ON u.workspace_id = x.workspace_id
    AND u.usage_metadata.cluster_id = x.cluster_id
  WHERE u.usage_metadata.workspace_id = <workspace_id>
    AND u.billing_origin_product = "MODEL_SERVING"
    AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";

Canalizaciones declarativas de Spark de Lakeflow

La siguiente descripción muestra cuáles canalizaciones declarativas de Lakeflow Spark se están utilizando para la inferencia por lotes con la tabla system.lakeflow.pipelines systems.

SELECT *
FROM system.billing.usage u
  JOIN system.lakeflow.pipelines x
    ON u.workspace_id = x.workspace_id
    AND u.usage_metadata.dlt_pipeline_id = x.pipeline_id
  WHERE u.usage_metadata.workspace_id = <workspace_id>
    AND u.billing_origin_product = "MODEL_SERVING"
    AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";

Almacén de SQL

A continuación se muestran los almacenes de SQL que se usan para la inferencia en lotes mediante la tabla de sistemas system.compute.warehouses.

SELECT *
FROM system.billing.usage u
  JOIN system.compute.clusters x
    ON u.workspace_id = x.workspace_id
    AND u.usage_metadata.cluster_id = x.cluster_id
  WHERE u.workspace_id = <workspace_id>
    AND u.billing_origin_product = "MODEL_SERVING"
    AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";

Visualización de los costos de ai_parse_document ejecuciones

En el ejemplo siguiente se muestra cómo consultar las tablas del sistema de facturación para ver los costos de las ai_parse_document ejecuciones.


SELECT *
FROM system.billing.usage u
WHERE u.workspace_id = <workspace_id>
  AND u.billing_origin_product = "AI_FUNCTIONS"
  AND u.product_features.ai_functions.ai_function = "AI_PARSE_DOCUMENT";