Udostępnij za pośrednictwem


Wykonywanie wnioskowania wsadowego w usłudze LLM przy użyciu ai_query

Ważne

Ta funkcja jest dostępna w publicznej wersji zapoznawczej.

W tym artykule opisano, jak wykonywać wnioskowanie wsadowe przy użyciu wbudowanej funkcji SQL Databricks ai_query, z punktem końcowym wykorzystującym interfejsy API modelu bazowego z zastrzeżonymi zasobami przepustowości. Przykłady i wskazówki w tym artykule są zalecane w przypadku obciążeń wnioskowania wsadowego, które używają dużych modeli językowych (LLM) do przetwarzania wielu danych wejściowych.

Do uruchamiania obciążeń wnioskowania wsadowego można użyć ai_query za pomocą SQL lub PySpark. Aby uruchomić wnioskowanie wsadowe na Twoich danych, określ następujące elementy w ai_query:

  • Tabela wejściowa i tabela wyjściowa Katalogu Unity
  • Nazwa punktu końcowego przydzielonej przepływności
  • Wezwanie modelu i wszystkie parametry modelu

Aby uzyskać więcej informacji na temat tej funkcji sztucznej inteligencji, zobacz ai_query funkcji .

Wymagania

  • Obszar roboczy w regionie obsługującym interfejsy API modelu Foundation .
  • Jedną z następujących czynności:
    • Obliczenia ogólnego przeznaczenia z rozmiarem obliczeniowym i3.2xlarge lub większym z zainstalowanym środowiskiem Databricks Runtime 15.4 ML LTS lub nowszym oraz co najmniej dwoma pracownikami.
    • Magazyn SQL — średni i większy.
  • Istniejący model obsługujący punkt końcowy. Zobacz interfejsy API modelu bazowego o przydzielonej przepływności, aby utworzyć punkt końcowy o przydzielonej przepływności.
  • Zapytaj o uprawnienia do tabeli Delta w katalogu Unity zawierającej dane, których chcesz użyć.
  • Ustaw pipelines.channel we właściwościach tabeli jako "wersja zapoznawcza", aby użyć ai_query(). Zobacz Przykłady, aby zapoznać się z przykładowym zapytaniem.

Korzystanie z usług ai_query i SQL

Poniżej przedstawiono przykład wnioskowania wsadowego przy użyciu ai_query i języka SQL. Ten przykład zawiera modelParameters z max_tokens i temperature oraz pokazuje, jak połączyć monit oraz kolumnę wejściową dla twojego modelu przy użyciu concat(). Istnieje wiele sposobów łączenia, takich jak używanie ||metody , concat()lub 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}
)

Korzystanie z ai_query i PySpark

Jeśli wolisz używać języka Python, możesz również uruchamiać wnioskowanie wsadowe za pomocą ai_query i PySpark, jak pokazano w poniższych artykułach:

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)

Przykładowe zeszyty wnioskowania wsadowego przy użyciu Pythona

Poniższy przykładowy notatnik tworzy punkt końcowy z zarezerwowaną przepustowością i uruchamia wnioskowanie wsadowe przy użyciu LLM w Pythonie oraz modelu Meta Llama 3.1 70B. Zawiera również wskazówki dotyczące porównywania obciążenia wnioskowania wsadowego i tworzenia aprowizowanego modelu przepływności obsługującego punkt końcowy.

Wnioskowanie wsadowe z notesem usługi LLM dla punktu końcowego z zarezerwowaną przepływnością

Pobieranie notesu

Poniższy przykładowy notes tworzy skonfigurowany punkt końcowy przepustowości i uruchamia wnioskowanie wsadowe modelu LLM przy użyciu Pythona oraz wybranego modelu osadzania: GTE Large (angielski) lub BGE Large (angielski).

Osadzanie wnioskowania wsadowego w usłudze LLM z aprowizowanym notesem punktu końcowego przepływności

Pobieranie notesu