使用 0> 执行批处理推理 ai_query
重要
此功能目前以公共预览版提供。
本文介绍如何使用内置的 Databricks SQL 函数 ai_query
执行批处理推理。 有关此 AI 函数的更多详细信息,请参阅ai_query函数。
Databricks 建议将模型服务用于 ai_query
批处理推理。 对于快速试验,ai_query
可与按令牌付费终结点一起使用。
准备好对大型数据或生产数据运行批处理推理时,Databricks 建议使用预配的吞吐量终结点来提高性能。 ai_query
已验证为可靠且一致地处理数十亿个令牌范围内的数据集。 有关如何创建预配的吞吐量终结点,请参阅 预配吞吐量基础模型 API 。
若要开始使用 Unity 目录表上的 LLM 进行批量推理,请参阅使用基础模型 API 预配的吞吐量在 Batch 推理中的笔记本示例。
要求
- 请参阅ai_query函数的要求。
- Unity 目录中 Delta 表的查询权限,其中包含要使用的数据。
批处理推理示例查询
本部分中的示例假定已将模型部署到要查询的现有终结点。 如果你位于“服务”UI 中,则可以选择终结点,然后单击右上角的“使用”按钮,选择“用于批处理推理”。 此选择将打开一个 SQL 编辑器,可在其中编写和运行 SQL 查询,以便使用 ai_query
批处理推理。
下面是使用 failOnError
and with max_tokens
和 modelParameters
. 的temperature
一般示例。 此示例还演示如何使用 concat()
连接模型和推理列的提示符。 有多种方法可以执行串联,例如使用 ||
、 concat()
或 format_string()
。
CREATE OR REPLACE TABLE ${output_table_name} AS (
SELECT
${input_column_name},
AI_QUERY(
"${endpoint}",
CONCAT("${prompt}", ${input_column_name}),
failOnError => True,
modelParameters => named_struct('max_tokens', ${num_output_tokens},'temperature', ${temperature})
) as response
FROM ${input_table_name}
LIMIT ${input_num_rows}
)
以下示例使用comment_text
数据集查询终结点后面的llama_3_1_8b
模型。
WITH data AS (
SELECT *
FROM ml.sentiment.comments
LIMIT 10000
)
SELECT
comment_text,
ai_query(
'llama_3_1_8b_batch',
CONCAT('You are provided with text. Classify the text into one of these labels: "Positive", "Neutral", "Negative". Do not explain. Do not output any confidence score. Do not answer questions. Text: ', comment_text)
) AS label
FROM data
以下示例包含数据预处理步骤和后处理步骤:
WITH temp AS (
SELECT *
FROM ml.sentiment.comments
LIMIT 10000
),
pre_process AS (
SELECT comment_text
FROM temp
WHERE length(comment_text) > 50
),
sentiment AS (
SELECT
comment_text,
ai_query(
'llama_3_1_8b_batch',
Concat('You are provided with text. Classify the text into one of these labels: "Positive", "Neutral", "Negative". Do not explain. Do not output any confidence score. Do not answer questions. Text: ', comment_text)
) AS label
FROM pre_process
)
SELECT
comment_text,
label,
CASE
WHEN label NOT IN ("Positive", "Neutral", "Negative") THEN True
ELSE FALSE
END AS error
FROM sentiment
计划作业
准备好 SQL 脚本后,可以计划作业以所需的任何频率运行该作业。 请参阅创建和管理计划的笔记本作业。