使用 ai_query() 查询服务模型

重要

此功能目前以公共预览版提供。

本文介绍如何使用 ai_query() 从 SQL 查询模型服务终结点

ai_query() 是什么?

ai_query() 函数是一个内置的 Azure Databricks SQL 函数,是 AI 函数的一部分。 它支持从 SQL 查询访问以下类型的模型:

  • 由模型服务终结点托管的自定义模型。
  • 由 Databricks 基础模型 API 托管的模型。
  • 外部模型(在 Databricks 外部托管的第三方模型)。

有关语法和设计模式,请参阅 ai_query 函数

当使用此函数查询模型服务终结点时,它仅在可使用且已启用模型服务的工作区和区域中可用。

要求

使用 ai_query() 查询终结点

可以在无服务器版或专业版 SQL 仓库上使用 ai_query() 查询终结点背后的模型。 有关评分请求和响应格式,请参阅 查询生成 AI 模型

注意

  • 对于 Databricks Runtime 14.2 及更高版本,笔记本环境(包括 Databricks 笔记本和作业)支持此函数。
  • 对于 Databricks Runtime 14.1 及更低版本,笔记本环境(包括 Databricks 笔记本)不支持此函数。

示例:查询大语言模型

以下示例使用 text 数据集查询 sentiment-analysis 终结点背后的模型,并指定请求的返回类型。

SELECT text, ai_query(
    "sentiment-analysis",
    text,
    returnType => "STRUCT<label:STRING, score:DOUBLE>"
  ) AS predict
FROM
  catalog.schema.customer_reviews

示例:查询预测模型

以下示例可查询 spam-classification 终结点后面的分类模型,以批量预测 inbox_messages 表中的 text 是否为垃圾邮件。 模型采用 3 个输入功能:时间戳、发送方、文本。 模型会返回布尔数组。

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