Bagikan melalui


ai_query fungsi

Berlaku untuk:check marked yes Databricks SQL

Penting

Fitur ini ada di Pratinjau Publik.

Memanggil titik akhir dan penguraian Azure Databricks Model Serving yang ada dan mengurai dan mengembalikan responsnya.

Persyaratan

  • Fungsi ini tidak tersedia di Azure Databricks SQL Classic.
  • API Model Querying Foundation diaktifkan secara default. Untuk mengkueri titik akhir yang melayani model kustom atau model eksternal, Anda harus mendaftar di pratinjau publik. Silakan isi dan kirim formulir pendaftaran Pratinjau Publik Fungsi AI.

Sintaks

Untuk mengkueri titik akhir yang melayani model eksternal atau model fondasi:

ai_query(endpointName, request)

Untuk mengkueri model kustom yang melayani titik akhir:

ai_query(endpointName, request, returnType)

Argumen

  • endpointName: String literal, nama titik akhir Databricks Model Serving yang ada di ruang kerja yang sama untuk pemanggilan. Pendefinisi harus memiliki izin CAN QUERY pada titik akhir.
  • request: Ekspresi, permintaan yang digunakan untuk memanggil titik akhir.
    • Jika titik akhir adalah model eksternal yang melayani titik akhir atau titik akhir API Model Databricks Foundation, permintaan harus berupa STRING.
    • Jika titik akhir adalah model kustom yang melayani titik akhir, permintaan dapat berupa kolom tunggal atau ekspresi struct. Nama bidang struct harus cocok dengan nama fitur input yang diharapkan oleh titik akhir.
  • returnType: Ekspresi, returnType yang diharapkan dari titik akhir. Ini mirip dengan parameter skema dalam fungsi from_json, yang menerima ekspresi STRING atau pemanggilan fungsi schema_of_json. Diperlukan untuk mengkueri Titik Akhir Penyajian Model kustom.

Mengembalikan

Respons yang diurai dari titik akhir.

Contoh

Untuk mengkueri Model Eksternal Yang Melayani Titik Akhir atau Model Databricks Foundation:

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

Untuk mengkueri Titik Akhir Penyajian Model kustom:


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