Bagikan melalui


ai_generate_text fungsi

Berlaku untuk:centang ditandai ya Databricks SQL

Penting

Fitur ini ada di Pratinjau Publik.

Peringatan

Fungsi AI, ai_generate_text() tidak digunakan lagi. Databricks merekomendasikan penggunaan ai_query dengan model eksternal.

Menghasilkan teks dari model bahasa besar (LLM) yang dipilih berdasarkan masukan.

Persyaratan

  • Fungsi ini hanya tersedia di Databricks SQL Pro dan Tanpa Server.
  • Fungsi ini tidak digunakan lagi. Databricks merekomendasikan penggunaan ai_query dengan model eksternal.

Sintaks

ai_generate_text(prompt, modelName[, param1, value1] [...])

Argumen

  • prompt: Ekspresi dalam bentuk string, pesan teks yang diteruskan ke LLM yang dipilih.
  • modelName: String literal, hanya 'openai/gpt-3.5-turbo' dan 'azure_openai/gpt-35-turbo' didukung.
  • paramN dan valueN: pasangan kunci-nilai untuk mengautentikasi dan mengonfigurasi LLM yang dipilih. Kunci harus berupa string literal dan sensitif terhadap huruf besar/kecil. Jenis nilai bergantung pada kunci berikut:
    • Model 'openai/gpt-3.5-turbo' menggunakan API penyelesaian obrolan dari Open AI. Ini mendukung parameter berikut:
      • 'apiKey':Diperlukan. Kunci OpenAI API untuk mengakses endpoint model. Nilai yang ditentukan tidak dapat menjadi string konstanta eksplisit. Nilai yang direkomendasikan mencakup fungsi rahasia(cakupan, kunci) dan SELECT ... subkueri skalar.
      • 'temperature': Suhu pengambilan sampel yang akan digunakan. Nilainya adalah harfiah numerik antara 0 dan 2. Nilai defaultnya adalah 1.0.
      • stop: Hentikan teks. Nilainya adalah STRING literal atau ARRAY<STRING> maksimal 4 literal string. Nilai default-nya adalah null.
    • Model 'azure_openai/gpt-35-turbo' menggunakan API penyelesaian obrolan dari Azure OpenAI Service. Ini menerima semua parameter dari model 'openai/gpt-3.5-turbo' di atas dan parameter tambahan apa pun untuk membuat URL titik akhir. Databricks hanya mendukung autentikasi Kunci API.
      • 'resourceName':Diperlukan. Nilainya adalah string literal untuk menentukan nama sumber daya.
      • 'deploymentName':Diperlukan. Nilainya adalah string literal yang digunakan untuk menentukan nama penerapan.
      • 'apiVersion':Diperlukan. Nilainya adalah string literal untuk menentukan versi API yang akan digunakan.

Pengembalian

Pernyataan string yang mewakili teks yang diregenerasi dari LLM yang telah dipilih.

Contoh

Lihat Menganalisis ulasan pelanggan dengan ai_generate_text() dan OpenAI untuk contoh kasus ai_generate_text penggunaan fungsi.


> SELECT ai_generate_text('Hello', 'openai/gpt-3.5-turbo',
    'apiKey', secret('ml', 'key'),
    'temperature', 0.1);

  Hello! How can I assist you today?

> SELECT ai_generate_text('Hello',
    'azure_openai/gpt-35-turbo',
    'apiKey', secret('ml', 'key'),
    'resouceName', 'resource',
    'deploymentName', 'deploy',
    'apiVersion', '2023-03-15-preview',
    'temperature', 0.1);

  Hello! How can I assist you today?

> SELECT ai_generate_text('Hello', 'openai/gpt-3.5-turbo',
    'apiKey', (SELECT secret FROM secrets.open_ai_tokens LIMIT 1),
    'temperature', 0.1);

  Hello! How can I assist you today?

> CREATE FUNCTION summarize(text STRING)
  RETURNS STRING
  RETURN AI_GENERATE_TEXT(
    CONCAT('Summarize the following text: ',
      text),
    'openai/gpt-3.5-turbo',
    'apiKey', (SELECT secret FROM secrets.open_ai_tokens LIMIT 1),
    'temperature', 0.1
  );

  SELECT summarize('This is the text to be summarized.')

  This is the summarization.

> SELECT ai_generate_text('Hello',
    'openai/gpt-3.5-turbo',
    'apiKey', 'sg-xxxxxxxxxxxxxxxxxxxxxx',
    'temperature', 0.1);

 Error: DATATYPE_MISMATCH.INVALID_SECRET
 The parameter value of the "apiKey" argument to the ai_generate_text function can not be a constant 'sg-xxxxxxxxxxxxxxxxxxxxxx'. Recommended usages include `secret(scope, key)` function or a `SELECT ...` subquery.