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.
- Obliczenia ogólnego przeznaczenia z rozmiarem obliczeniowym
- 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