重要说明
此功能以 公共预览版提供。
本文旨在介绍 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 托管的模型可以与 AI 功能一起使用,但不建议用于大规模生产工作流中的批量推理。 |
使用此功能需要 Databricks Runtime 15.4 LTS 或更高版本。 不需要终结点预配或配置。 这些模型的使用受 适用的模型开发人员许可证和条款以及 AI Functions 区域可用性的约束。 |
经过微调的基础模型 | 经过微调的基础模型部署在 Mosaic AI 模型服务上 | 需要在模型服务 中创建预配的吞吐量终结点 。 查看 ai_query 和自定义或微调的基础模型。 |
Databricks 外部托管的基础模型 | 模型是使用外部模型提供的。 请参阅 Databricks 外部托管的 Access 基础模型。 | 需要你 创建外部模型服务端点。 |
自定义传统机器学习和深度学习模型 | 任何传统的机器学习或深度学习模型,例如 Scikit-learn、xgboost 或 PyTorch | 需要您创建一个自定义模型服务端点。 |
将ai_query与基础模型配合使用
以下示例演示如何利用使用由 Databricks 托管的基础模型的 ai_query
。
- 有关语法详细信息和参数,请参阅
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 编辑器查询窗口:
- 选择链接,正在原始结果窗口底部运行。 性能窗口显示在右侧。
- 点击查看查询配置文件,查看性能详细信息。
- 点击“AI 查询”查看特定查询的指标,其中包括已完成或已失败的推理数量和完成请求花费的总时间。