ai_query
-Funktion
Gilt für: Databricks SQL
Wichtig
Dieses Feature befindet sich in der Public Preview.
Ruft einen vorhandenen Modellbereitstellungsendpunkt von Azure Databricks, parst ihn und gibt seine Antwort zurück.
Anforderungen
- Diese Funktion ist in Azure Databricks SQL Classic nicht verfügbar.
- Das Abfragen von Foundation Model-APIs ist standardmäßig aktiviert. Um Endpunkte abzufragen, die benutzerdefinierten Modelle oder externen Modelle bedienen, müssen Sie sich in der öffentlichen Vorschau registrieren. Füllen Sie das KI Functions Public Preview-Registrierungsformular aus und übermitteln Sie es.
Syntax
So fragen Sie einen Endpunkt für ein externes Modell oder Foundation Model-Endpunkt ab
ai_query(endpointName, request)
So fragen Sie einen Model Serving-Endpunkt ab
ai_query(endpointName, request, returnType)
Argumente
endpointName
: Ein STRING-Literal, der Name des vorhandenen Databricks-Modellbereitstellungsendpunkts im selben Arbeitsbereich für Aufrufe. Das Definer-Element muss über die Berechtigung KANN ABFRAGEN für den Endpunkt verfügen.request
: Ein Ausdruck, die Anforderung, die zum Aufrufen des Endpunkts verwendet wird.- Wenn der Endpunkt ein externer Model Serving-Endpunkt ist oder für Databricks Foundation Model-APIs verwendet wird, muss die Anforderung eine ZEICHENFOLGE sein.
- Wenn der Endpunkt ein benutzerdefinierter Model Serving-Endpunkt ist, kann die Anforderung eine einzelne Spalte oder ein Strukturausdruck sein. Die Namen des Strukturfelds sollten mit den Featurenamen der Eingabe übereinstimmen, die vom Endpunkt erwartet werden.
returnType
: Ein Ausdruck, der vom Endpunkt erwartete Rückgabetyp (returnType). Dies ähnelt dem Schemaparameter in der from_json-Funktion, die sowohl einen STRING-Ausdruck als auch den Aufruf der schema_of_json-Funktion akzeptiert. Erforderlich für das Abfragen eines Model Serving-Endpunkts.
Gibt zurück
Die geparste Antwort vom Endpunkt.
Beispiele
So fragen Sie einen externen Model Serving- oder Databricks Foundation Model-Endpunkt ab
> SELECT ai_query(
'my-external-model-openai-chat',
'Describe Databricks SQL in 30 words.'
) AS summary
"Databricks SQL is a cloud-based platform for data analytics and machine learning, providing a unified workspace for collaborative data exploration, analysis, and visualization using SQL queries."
> CREATE FUNCTION correct_grammar(text STRING)
RETURNS STRING
RETURN ai_query(
'databricks-llama-2-70b-chat',
CONCAT('Correct this to standard English:\n', text));
> GRANT EXECUTE ON correct_grammar TO ds;
- DS fixes grammar issues in a batch.
> SELECT
* EXCEPT text,
correct_grammar(text) AS text
FROM articles;
So fragen Sie einen Model Serving-Endpunkt ab
> SELECT text, ai_query(
endpoint => 'spam-classification-endpoint',
request => named_struct(
'timestamp', timestamp,
'sender', from_number,
'text', text),
returnType => 'BOOLEAN') AS is_spam
FROM messages
> SELECT ai_query(
'weekly-forecast',
request => struct(*),
returnType => 'FLOAT') AS predicted_revenue
FROM retail_revenue
> SELECT ai_query(
'custom-llama-2-7b-chat',
request => named_struct("messages",
ARRAY(named_struct("role", "user", "content", "What is ML?"))),
returnType => 'STRUCT<candidates:ARRAY<STRING>>')
{"candidates":["ML stands for Machine Learning. It's a subfield of Artificial Intelligence that involves the use of algorithms and statistical models to enable machines to learn from data, make decisions, and improve their performance on a specific task over time."]}