Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:
Databricks SQL
Databricks Runtime
Penting
Fungsionalitas ini sesuai dengan Pratinjau Umum dan HIPAA.
Selama pratinjau:
- Model bahasa yang mendasar dapat menangani beberapa bahasa, tetapi Fungsi AI ini disetel untuk bahasa Inggris.
- Lihat Fitur dengan ketersediaan regional terbatas untuk mengetahui ketersediaan regional dari Fungsi AI.
Fungsi ini ai_classify() mengklasifikasikan konten teks sesuai dengan label kustom yang Anda sediakan. Anda dapat menggunakan nama label sederhana untuk klasifikasi dasar, atau menambahkan deskripsi label dan instruksi untuk meningkatkan akurasi untuk kasus penggunaan seperti perutean dukungan pelanggan, kategorisasi dokumen, dan analisis konten.
Fungsi menerima teks atau VARIANT output dari fungsi AI lainnya seperti ai_parse_document, mengaktifkan alur kerja yang dapat disusupi.
Untuk versi UI yang akan diulang pada ai_classify, lihat Klasifikasi.
Persyaratan
Lisensi Apache 2.0
Model dasar yang mungkin digunakan saat ini dilisensikan di bawah Lisensi Apache 2.0, Hak Cipta © Apache Software Foundation. Pelanggan bertanggung jawab untuk memastikan kepatuhan terhadap lisensi model yang berlaku.
Databricks merekomendasikan untuk meninjau lisensi ini untuk memastikan kepatuhan terhadap persyaratan yang berlaku. Jika model muncul di masa depan yang berkinerja lebih baik sesuai dengan tolok ukur internal Databricks, Databricks mungkin mengubah model (dan daftar lisensi yang berlaku yang disediakan di halaman ini).
Model yang mendukung fungsi ini tersedia menggunakan MODEL Model Serving Foundation API. Lihat Ketentuan model yang berlaku untuk informasi tentang model mana yang tersedia di Databricks serta lisensi dan kebijakan yang mengatur penggunaan model tersebut.
Jika model muncul di masa depan yang berkinerja lebih baik sesuai dengan tolok ukur internal Databricks, Databricks dapat mengubah model dan memperbarui dokumentasi.
- Fungsi ini hanya tersedia di beberapa wilayah, lihat Ketersediaan fungsi AI.
- Fungsi ini tidak tersedia di Azure Databricks SQL Classic.
- Periksa halaman harga Databricks SQL.
- Di Databricks Runtime 15.1 ke atas, fungsi ini didukung di notebook Databricks, termasuk notebook yang dijalankan sebagai tugas dalam alur kerja Databricks.
- Beban kerja inferensi batch memerlukan Databricks Runtime 15.4 ML LTS untuk meningkatkan performa.
Sintaks
Versi 2 (disarankan)
ai_classify(
content VARIANT | STRING,
labels STRING,
[options MAP<STRING, STRING>]
) RETURNS VARIANT
Versi 1
ai_classify(
content STRING,
labels ARRAY<STRING>,
[options MAP<STRING, STRING>]
) RETURNS STRING
Argumen
Versi 2 (disarankan)
content: EkspresiVARIANTatauSTRING. Menerima:- Teks mentah sebagai
STRING -
VARIANTDiproduksi oleh fungsi AI lain (sepertiai_parse_documentatauai_extract)
- Teks mentah sebagai
labels: HarfiahSTRINGyang mendefinisikan label klasifikasi. Label dapat berupa:- Label sederhana: Array nama label JSON.
["urgent", "not_urgent"] - Label dengan deskripsi: Nama label pemetaan objek JSON ke deskripsi. Deskripsi label harus 0-1000 karakter.
{ "billing_error": "Payment, invoice, or refund issues", "product_defect": "Any malfunction, bug, or breakage", "account_issue": "Login failures, password resets" }
Setiap label harus 1-100 karakter.
labelsharus berisi setidaknya 2 label, dan tidak lebih dari 500 label.- Label sederhana: Array nama label JSON.
options: OpsiMAP<STRING, STRING>konfigurasi opsional yang berisi:-
version: Peralihan versi untuk mendukung migrasi ("1.0"untuk perilaku v1,"2.0"untuk perilaku v2). Default didasarkan pada jenis input, tetapi akan kembali ke"1.0". -
instructions: Deskripsi global tentang tugas dan domain untuk meningkatkan kualitas klasifikasi. Harus kurang dari 20.000 karakter. -
multilabel: Atur ke"true"untuk mengembalikan beberapa label saat beberapa kategori berlaku. Defaultnya adalah"false"(klasifikasi label tunggal).
-
Versi 1
content: EkspresiSTRINGyang berisi teks yang akan diklasifikasikan.labels: LiteralARRAY<STRING>dengan label klasifikasi output yang diharapkan. Harus berisi setidaknya 2 elemen, dan tidak lebih dari 20 elemen. Setiap label harus 1-50 karakter.options: OpsiMAP<STRING, STRING>konfigurasi opsional yang berisi:-
version: Peralihan versi untuk mendukung migrasi ("1.0"untuk perilaku v1,"2.0"untuk perilaku v2). Default didasarkan pada jenis input, tetapi akan kembali ke"1.0".
-
Pengembalian
Versi 2 (disarankan)
Mengembalikan yang VARIANT berisi:
{
"response": ["label_name"], // Array with single label (or multiple if multilabel=true)
"error_message": null // null on success, or error message on failure
}
Bidang response berisi:
- Mode label tunggal (default): Array dengan satu elemen yang berisi label pencocokan terbaik
-
Mode multi-label (
multilabel: "true"): Array dengan beberapa label saat beberapa kategori berlaku - Nama label sama persis dengan yang disediakan dalam
labelsparameter
Mengembalikan jika NULL adalah content atau jika konten tidak dapat diklasifikasikanNULL.
Versi 1
Mengembalikan STRING. Nilai cocok dengan salah satu string yang disediakan dalam labels argumen.
Mengembalikan jika NULL adalah content atau jika konten tidak dapat diklasifikasikanNULL.
Contoh
Versi 2 (disarankan)
Label sederhana - nama label saja
> SELECT ai_classify(
'My password is leaked.',
'["urgent", "not_urgent"]'
);
{
"response": ["urgent"],
"error": null
}
Label dengan deskripsi
> SELECT ai_classify(
'Customer cannot complete checkout due to payment processing error.',
'{
"billing_error": "Payment, invoice, or refund issues",
"product_defect": "Any malfunction, bug, or breakage",
"account_issue": "Login failures, password resets",
"feature_request": "Customer suggestions for improvements"
}'
);
{
"response": ["billing_error"],
"error": null
}
Menggunakan instruksi global
> SELECT ai_classify(
'User reports app crashes on startup after update.',
'["critical", "high", "medium", "low"]',
MAP('instructions', 'Classify bug severity based on user impact and frequency.')
);
{
"response": ["critical"],
"error": null
}
Klasifikasi multi-label
> SELECT ai_classify(
'Customer wants refund and reports product arrived broken.',
'{
"billing_issue": "Payment or refund requests",
"product_defect": "Damaged or malfunctioning items",
"shipping_issue": "Delivery problems"
}',
MAP('multilabel', 'true')
);
{
"response": ["billing_issue", "product_defect"],
"error": null
}
Komposabilitas dengan ai_parse_document
> WITH parsed_docs AS (
SELECT
path,
ai_parse_document(
content,
MAP('version', '2.0')
) AS parsed_content
FROM READ_FILES('/Volumes/support/tickets/', format => 'binaryFile')
)
SELECT
path,
ai_classify(
parsed_content,
'["billing_error", "product_defect", "account_issue", "feature_request"]',
MAP('instructions', 'Customer support ticket classification.')
) AS ticket_category
FROM parsed_docs;
Klasifikasi batch
> SELECT
description,
ai_classify(
description,
'["clothing", "shoes", "accessories", "furniture", "electronics"]'
) AS category
FROM products
LIMIT 10;
Versi 1
> SELECT ai_classify("My password is leaked.", ARRAY("urgent", "not urgent"));
urgent
> SELECT
description,
ai_classify(description, ARRAY('clothing', 'shoes', 'accessories', 'furniture')) AS category
FROM
products
LIMIT 10;
Keterbatasan
Versi 2 (disarankan)
Batasan versi 2:
Fungsi ini tidak tersedia di Azure Databricks SQL Classic.
Fungsi ini tidak dapat digunakan dengan Tampilan.
Nama label harus masing-masing 1–100 karakter.
Parameter
labelsharus berisi antara 2 dan 500 label unik.Deskripsi label harus masing-masing 0–1.000 karakter.
Ukuran konteks total maksimum adalah 128.000 token.
Versi 1
Batasan versi 1:
Fungsi ini tidak tersedia di Azure Databricks SQL Classic.
Fungsi ini tidak dapat digunakan dengan Tampilan.
Nama label masing-masing harus 1–50 karakter.
Array
labelsharus berisi antara 2 dan 20 label.Input
contentharus kurang dari 128.000 token (sekitar 300.000 karakter).