ai_query-functie

Van toepassing op:check marked yes Databricks SQL

Belangrijk

Deze functie is beschikbaar als openbare preview.

Roept een bestaand Azure Databricks Model Serving-eindpunt aan en parseert en retourneert het antwoord.

Vereisten

Syntaxis

Een query uitvoeren op een eindpunt dat een extern model of een basismodel dient:

ai_query(endpointName, request)

Ga als volgende te werk om een query uit te voeren op een aangepast model voor eindpunten:

ai_query(endpointName, request, returnType)

Argumenten

  • endpointName: Een letterlijke tekenreeks, de naam van het bestaande Databricks Model Serving-eindpunt in dezelfde werkruimte voor aanroepen. De definitier moet de machtiging CAN QUERY hebben voor het eindpunt.
  • request: Een expressie, de aanvraag die wordt gebruikt om het eindpunt aan te roepen.
    • Als het eindpunt een extern model is dat een eindpunt of Databricks Foundation Model-API-eindpunt biedt, moet de aanvraag een TEKENREEKS zijn.
    • Als het eindpunt een aangepast model voor eindpunt is, kan de aanvraag één kolom of een struct-expressie zijn. De veldnamen van de struct moeten overeenkomen met de namen van invoerfuncties die door het eindpunt worden verwacht.
  • returnType: Een expressie, het verwachte returnType van het eindpunt. Dit is vergelijkbaar met de schemaparameter in from_json functie, die zowel een tekenreeksexpressie als aanroep van schema_of_json functie accepteert. Vereist voor het uitvoeren van query's op een aangepast eindpunt voor modelverdiening.

Retouren

Het geparseerde antwoord van het eindpunt.

Voorbeelden

Een query uitvoeren op een extern model voor eindpunt of Databricks Foundation-model:

> 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;

Een query uitvoeren op een aangepast eindpunt voor het leveren van modellen:


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