Freigeben über


ai_query-Funktion

Gilt für:check marked yes 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

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."]}