使用 AI 函数扩充数据

AI 函数是内置函数,可用于对存储在Azure Databricks上的数据应用 LLM 或最先进的研究技术,以便进行数据转换和扩充。 它们可以从 Databricks SQL、笔记本、Lakeflow 管道和工作流中运行。

AI 功能使用简单、速度快、可缩放。 分析师可以使用它们将数据智能应用于其专有数据,而数据工程师、数据科学家和机器学习工程师可以使用它们生成生产级批处理管道。

Requirements

  • AI 函数在 Pro 或经典 SQL 仓库上不可用。
  • 笔记本和工作流:需要 无服务器计算 。 经典计算群集不支持 AI 函数。
  • 需要 Databricks Runtime 18.2 或更高版本。

专用于任务和通用用途

AI 函数具有特定任务的函数和通用函数:

  • 特定于任务的 AI 函数 - 针对特定任务进行优化的用途构建函数,例如文档分析、实体提取、分类和情绪分析。 这些功能由Azure Databricks托管的研究备份系统提供支持。 某些函数包括 UI 体验。 有关支持的函数和模型,请参阅 特定于任务的 AI 函数
  • ai_query — 任务和模型灵活性的常规用途函数。 提供提示并选择任何受支持的基础模型 API。 请参阅 “使用 ai_query”。

特定于任务的 AI 函数和 ai_query 决策树

若要限制组织可以访问哪些特定于任务的 AI 函数,请参阅 AI Functions Unity 目录权限

特定任务型 AI 功能

特定于任务的函数适用于特定任务,因此可以自动执行例程转换,例如实体提取、翻译和分类。 Databricks 建议这些函数入门,因为它们调用 Databricks 维护的最先进的研究技术,并且不需要任何自定义。

有关示例,请参阅 使用 AI Functions 分析客户评论

以下函数按任务分组。

智能文档处理

功能 DESCRIPTION
ai_parse_document 使用最先进的研究技术分析非结构化文档的结构化内容(文本、表格、图说明)和布局。
ai_extract 使用定义的架构从文档或文本中提取结构化字段。
ai_classify 根据你提供的标签对输入文本进行分类,使用最先进的研究技术。
ai_prep_search (Beta) 将解析后的文档输出转换为面向 AI 搜索和 RAG 流程优化的可搜索分块。

转换文本:

功能 DESCRIPTION
ai_fix_grammar 使用最前沿的生成式 AI 模型,纠正文本中的语法错误。
ai_translate 使用最前沿的生成式 AI 模型,将文本翻译成指定的目标语言。
ai_summarize 使用 SQL 和最先进的生成 AI 模型生成文本摘要。
ai_mask 使用最前沿的生成式 AI 模型,掩码文本中的指定实体。

分析文本:

功能 DESCRIPTION
ai_analyze_sentiment 使用最前沿的生成式 AI 模型对输入文本执行情绪分析。
ai_similarity 使用最前沿的生成式 AI 模型,比较两个字符串并计算出语义相似度分数。

生成内容。 有关自定义提示或特定模型,请参阅使用 ai_query

功能 DESCRIPTION
ai_gen 使用最先进的生成 AI 模型回答用户提供的提示。

预测时序:

功能 DESCRIPTION
ai_forecast 预测最远到指定边际的数据。 该 TVF 用于推断未来的时间序列数据。

使用 AI 搜索嵌入进行搜索

功能 DESCRIPTION
vector_search 使用最先进的生成 AI 模型搜索和查询 AI 搜索 索引。

在生产工作流中使用 AI 函数

对于大规模批处理推理,可以将特定于任务的 AI 函数或常规用途函数 ai_query 集成到生产工作流中,例如 Lakeflow 管道、Databricks 工作流和结构化流式处理。 这样可实现大规模的生产级处理。

在生产环境中 AI 功能的最佳做法:

让 AI Functions 大规模处理工作负荷: AI Functions 会自动管理并行化、重试和缩放。 建议在单个查询中提交完整的数据集,而不是手动将其拆分为小批。 性能可能不会从非常小的工作负荷线性缩放到大规模工作负荷。

使用 Databricks 托管的基础模型: 使用 ai_query AI 函数时,请使用 Databricks 托管的基础模型(以 databricks 为前缀),而不是预配的吞吐量。 这些无预配终结点是完全托管的,最适合批处理。

有关示例和详细信息,请参阅 “部署批处理推理管道 ”。

监视 AI 函数进度

若要了解有多少推理已完成或失败并排查性能问题,可以使用查询配置文件功能监视 AI Functions 的进度。

在 Databricks Runtime 16.1 ML 及更高版本中,从工作区中的 SQL 编辑器查询窗口:

  1. 选择链接,正在原始结果窗口底部运行。 性能窗口显示在右侧。
  2. 点击查看查询配置文件,查看性能详细信息。
  3. 点击“AI 查询”查看特定查询的指标,其中包括已完成或已失败的推理数量和完成请求花费的总时间。

查看 AI 函数工作负载的成本

AI 函数成本被记录为 MODEL_SERVING 产品类型下的 BATCH_INFERENCE 产品的一部分。 有关示例查询,请参阅 查看批处理推理工作负荷的成本

注释

对于 ai_parse_documentai_extractai_classify,成本记录为 AI_FUNCTIONS 产品的一部分。 有关示例查询,请参阅查看 ai_parse_document 运行的成本

查看批处理推理工作负荷的成本

以下示例演示如何基于作业、计算、SQL 仓库和 Lakeflow 管道筛选批处理推理工作负荷。

有关如何查看使用 AI Functions 的批处理推理工作负荷的成本的常规示例,请参阅 Monitor 模型提供服务成本

Jobs

以下查询显示了使用 system.workflow.jobs 系统表进行批量推理的作业。 请参阅 使用系统表监视作业成本和性能


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";

计算

下面显示了哪些群集通过系统表 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";

Lakeflow Spark 声明性管道

下面显示了哪些 Lakeflow 管道被用于使用 system.lakeflow.pipelines 系统表进行批量推理。

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";

SQL 仓库

下面显示了哪些 SQL 仓库正用于使用系统表进行 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";

查看 ai_parse_document 运行的成本

以下示例演示如何查询计费系统表以查看 ai_parse_document 的运行成本。


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";