使用 Azure Databricks AI Functions 对数据应用 AI

重要说明

此功能以 公共预览版提供

本文旨在介绍 Azure Databricks AI Functions 以及支持的功能。

什么是 AI 功能?

AI 功能是指可用于对存储在 Databricks 上的数据应用 AI 的内置功能(例如,文本翻译或情绪分析)。 它们可以从 Databricks 上的任意位置运行,包括 Databricks SQL、笔记本、DLT 和工作流。

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

AI 功能提供常规用途型和特定任务型功能。

  • ai_query是一项常规用途型功能,允许将任意类型的 AI 模型应用到数据上。 请参阅 “常规用途”函数: ai_query
  • 特定任务型功能可为归纳总结文本和翻译等任务提供高级别 AI 功能。 这些特定任务型功能使用最前沿的生成式 AI 模型,这些模型由 Databricks 托管和管理。 有关支持的函数和模型,请参阅 特定于任务的 AI 函数

常规用途型功能:ai_query

ai_query() 功能允许对生成式 AI 和经典机器学习任务(其中包括提取信息、归纳总结内容、识别欺诈和预测收入等)的数据应用任何 AI 模型。 有关语法详细信息和参数,请参阅 ai_query 函数

下表汇总了支持的模型类型、关联的模型和为每个模型提供终结点配置要求的模型。

类型 支持的模型 要求
针对 AI Functions 优化的 Databricks 托管的基础模型 建议使用这些模型开始使用批处理推理方案和生产工作流:
  • databricks-llama-4-maverick
  • databricks-meta-llama-3-3-70b-instruct
  • databricks-meta-llama-3-1-8b-instruct
  • databricks-gte-large-en

其他由 Databricks 托管的模型可以与 AI 功能一起使用,但不建议用于大规模生产工作流中的批量推理。
使用此功能需要 Databricks Runtime 15.4 LTS 或更高版本。 不需要终结点预配或配置。 这些模型的使用受 适用的模型开发人员许可证和条款以及 AI Functions 区域可用性的约束。
经过微调的基础模型 经过微调的基础模型部署在 Mosaic AI 模型服务上 需要在模型服务 中创建预配的吞吐量终结点 。 查看 ai_query 和自定义或微调的基础模型
Databricks 外部托管的基础模型 模型是使用外部模型提供的。 请参阅 Databricks 外部托管的 Access 基础模型 需要你 创建外部模型服务端点
自定义传统机器学习和深度学习模型 任何传统的机器学习或深度学习模型,例如 Scikit-learn、xgboost 或 PyTorch 需要您创建一个自定义模型服务端点

将ai_query与基础模型配合使用

以下示例演示如何利用使用由 Databricks 托管的基础模型的 ai_query


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;

ai_query 与传统机器学习模型搭配使用

ai_query 支持包括完全自定义在内的传统机器学习模型。 这些模型必须部署在模型服务终结点上。 有关语法详细信息和参数,请参阅 ai_query 函数 函数。

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

特定任务型 AI 功能

特定于任务的函数适用于特定任务,因此你可以自动执行常规作,例如简单的摘要和快速翻译。 Databricks 建议这些函数入门,因为它们调用 Databricks 维护的最先进的生成 AI 模型,并且不需要任何自定义。

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

下表列出了支持的功能以及每项功能可执行什么任务。

功能 DESCRIPTION
ai_analyze_sentiment 使用最前沿的生成式 AI 模型对输入文本执行情绪分析。
ai_classify 使用最前沿的生成式 AI 模型,根据你提供的标签对输入文本进行分类。
ai_extract 使用最前沿的生成式 AI 模型,从文本中提取按标签指定的实体。
ai_fix_grammar 使用最前沿的生成式 AI 模型,纠正文本中的语法错误。
ai_gen 使用最前沿的生成式 AI 模型,回答用户提供的提示词。
ai_mask 使用最前沿的生成式 AI 模型,掩码文本中的指定实体。
ai_similarity 使用最前沿的生成式 AI 模型,比较两个字符串并计算出语义相似度分数。
ai_summarize 使用 SQL 和最前沿的生成式 AI 模型,生成文本的归纳总结。
ai_translate 使用最前沿的生成式 AI 模型,将文本翻译成指定的目标语言。
ai_forecast 预测最远到指定边际的数据。 该 TVF 用于推断未来的时间序列数据。
vector_search 使用最先进的生成 AI 模型搜索和查询 马赛克 AI 矢量搜索 索引。

使用 Python 工作流中现有的 AI 功能

AI 功能可轻松集成到现有 Python 工作流中。

下面这项功能可将 ai_query 的输出写入到输出表中:

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')

下面这项功能可将文本归纳总结到表中:

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

在生产工作流中使用 AI 功能

对于大规模批处理推理,可以将特定于任务的 AI 函数或常规用途函数 ai_query 集成到生产工作流中,例如 DLT 管道、Databricks 工作流和结构化流式处理。 这样可实现大规模的生产级处理。 有关示例和详细信息,请参阅 使用 AI Functions 执行批处理 LLM 推理

监控 AI 功能进度

可以监控使用队列配置文件功能的 AI 功能的进度,了解已完成或失败多少推理,并排查性能问题。

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

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

监视 AI 函数进度