Provedení dávkového odvozování LLM pomocí ai_query
Důležité
Tato funkce je ve verzi Public Preview.
Tento článek popisuje, jak provádět dávkové inference pomocí integrované funkce Databricks SQL ai_query
s koncovým bodem, který používá rozhraní API základního modelu se zřízenou propustností. Příklady a pokyny v tomto článku se doporučují pro úlohy dávkového odvozování, které používají velké jazykové modely (LLM) ke zpracování více vstupů.
Ke spouštění dávkových odvozování úloh můžete použít ai_query
s SQL nebo PySpark. Pokud chcete spustit dávkové odvozování dat, zadejte v ai_query
následující:
- Unity Catalog vstup table a výstup table
- Název koncového bodu zřízené propustnosti
- Výzva k modelu a jakýkoli model parameters
Další podrobnosti o této funkci AI najdete v ai_query funkci.
Požadavky
- Pracovní prostor v rozhraních API modelu Foundation podporuje oblast.
- Jedna z následujících možností:
- Univerzální výpočetní prostředky s velikostí
i3.2xlarge
nebo větší běžící na Databricks Runtime 15.4 ML LTS nebo vyšší s alespoň dvěma pracovníky. - SQL Warehouse – střední a větší.
- Univerzální výpočetní prostředky s velikostí
- Existující model obsluhující koncový bod Podívejte se na rozhraní API základního modelu zřízené propustnosti pro vytvoření koncového bodu zřízené propustnosti.
- Vyžádejte si oprávnění k dotazu na Delta table v Unity Catalog, která obsahuje data, která chcete použít.
-
Set
pipelines.channel
ve vlastnostech table ve verzi Preview, aby bylo možné použítai_query()
. Viz příklad pro ukázkový dotaz.
Použijte ai_query
a SQL
Následuje příklad dávkového odvození pomocí ai_query
a SQL. Tento příklad obsahuje modelParameters
s max_tokens
a temperature
a ukazuje, jak zřetězit výzvu pro váš model a vstup column s pomocí concat()
. Existuje několik způsobů, jak provést zřetězení, například pomocí ||
, concat()
nebo format_string()
.
CREATE OR REPLACE TABLE ${output_table_name} AS (
SELECT
${input_column_name},
AI_QUERY(
"${endpoint}",
CONCAT("${prompt}", ${input_column_name}),
modelParameters => named_struct('max_tokens', ${num_output_tokens},'temperature', ${temperature})
) as response
FROM ${input_table_name}
LIMIT ${input_num_rows}
)
Použijte ai_query
a PySpark
Pokud dáváte přednost používání Pythonu, můžete také spustit dávkové odvozy s ai_query
a PySpark, jak je znázorněno v následujících příkladech:
df_out = df.selectExpr("ai_query('{endpoint_name}', CONCAT('{prompt}', {input_column_name}), modelParameters => named_struct('max_tokens', ${num_output_tokens},'temperature', ${temperature})) as {output_column_name}")
df_out.write.mode("overwrite").saveAsTable(output_table_name)
Ukázkový poznámkový blok pro hromadnou inferenci s využitím Pythonu
Ukázkový poznámkový blok vytvoří koncový bod zřízené propustnosti a spustí dávkové odvozování LLM pomocí Pythonu a modelu Meta Llama 3.1 70B. Obsahuje také pokyny k srovnávacímu testování dávkového inferenčního pracovního zatížení a vytvoření modelu propustnosti pro zřízený obslužný koncový bod.