Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
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_queryes 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:
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.
- Consulte
ai_queryfunción para obtener detalles y parámetros de sintaxis. - Consulte Entradas multiplataforma para ver ejemplos de consultas de entrada multiplataforma.
- Consulte Ejemplos de escenarios avanzados para obtener instrucciones sobre cómo configurar parámetros para casos de uso avanzados, como:
-
Control de errores mediante
failOnError - Salidas estructuradas en Azure Databricks para especificar la salida estructurada para las respuestas de consulta.
-
Control de errores mediante
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
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
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:
- 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.
- Haga clic en Ver perfil de consulta para ver los detalles del rendimiento.
- 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.
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";