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í:
- Vstupní tabulka a výstupní tabulka katalogu Unity
- Název koncového bodu zřízené propustnosti
- Výzva k modelu a všechny parametry modelu
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.
- Oprávnění dotazu na tabulku Delta v katalogu Unity obsahující data, která chcete použít.
- Nastavte
pipelines.channel
ve vlastnostech tabulky na „náhled“ pro využitíai_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 zahrnuje modelParameters
s max_tokens
a temperature
a ukazuje, jak zřetězit výzvu pro váš model s vstupním sloupcem 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é bloky pro odvození služby Batch pomocí Pythonu
Následující 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.
Odvozování dávky LLM s poznámkovým blokem zřízeného koncového bodu propustnosti
Získej poznámkový blok
Následující ukázkový poznámkový blok vytvoří koncový bod s předem stanovenou propustností a spustí dávkové inferování LLM pomocí Pythonu a podle vašeho výběru modelu pro vkládání GTE Large (angličtina) nebo BGE Large (angličtina).
Vkládání dávkových odvozování LLM s poznámkovým blokem zřízeného koncového bodu propustnosti
Získej poznámkový blok