Sdílet prostřednictvím


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_queryná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ší.
  • 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žít 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 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.

Odvozování dávky LLM s poznámkovým blokem zřízeného koncového bodu propustnosti

Get poznámkový blok