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.
fungsi
Berlaku untuk:
Databricks SQL
Databricks Runtime
Important
Fitur ini ada di Beta. Admin ruang kerja dapat mengontrol akses ke fitur ini dari halaman Pratinjau . Lihat Kelola Pratinjau Azure Databricks.
Fungsi ini ai_decide() mengevaluasi satu atau lebih pertanyaan terhadap teks atau data terstruktur. Untuk setiap pertanyaan, ia mengembalikan probabilitas, pilihan dari kriteria yang disebutkan, atau skor pada skala terurut. Gunakan untuk mengarahkan tiket dukungan, menilai apakah suatu acara membutuhkan perhatian, atau memprioritaskan pekerjaan menggunakan rubrik yang Anda tentukan.
Semua pertanyaan dalam panggilan menggunakan input yang sama, yaitu state. Anda dapat menggabungkan berbagai jenis pertanyaan dalam satu panggilan dan menggunakan jawaban yang dikembalikan dalam query SQL hilir.
Keamanan data
Data dokumen Anda diproses dalam perimeter keamanan Databricks. Databricks tidak menyimpan parameter yang diteruskan ke panggilan fungsi AI, tetapi tetap menyimpan detail run metadata, seperti versi Databricks Runtime yang digunakan.
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 yang berkinerja lebih baik sesuai dengan tolok ukur internal Azure Databricks, Databricks mungkin mengubah model dan memperbarui dokumentasi.
Fungsi ini hanya tersedia di beberapa wilayah, lihat Ketersediaan fungsi AI.
Untuk ruang kerja dengan add-on Keamanan dan Kepatuhan yang Ditingkatkan,
- Lihat dukungan regional untuk
ai_decidestandar kepatuhan yang sesuai. - Lihat Mengelola pratinjau Azure Databricks cara mengaktifkannya di ruang kerja Anda.
- Lihat dukungan regional untuk
Fungsi ini tidak tersedia di Azure Databricks SQL Classic.
Databricks Runtime 15.4 LTS atau lebih tinggi diperlukan. Databricks Runtime 18.2 atau lebih tinggi direkomendasikan untuk performa terbaik dan akses ke fitur terbaru.
Periksa halaman harga Databricks SQL.
Sintaksis
ai_decide(state, questions [, options])
Arguments
state: AVARIANTatauSTRINGekspresi yang memuat isi, konteks, dan contoh yang dibutuhkan untuk menjawab pertanyaan. Nilainya dapat bervariasi menurut baris. Menerima:- Sebuah
STRINGyang berisi teks biasa atau objek atau array yang dikodekan JSON. Objek dan array JSON diinterpretasikan sebagai data terstruktur. String lain diperlakukan sebagai teks. -
VARIANTDiproduksi oleh fungsi AI lain (sepertiai_parse_documentatauai_extract)
- Sebuah
questions: Ekspresi konstanSTRINGyang berisi objek JSON yang tidak kosong. Setiap kunci adalah ID pertanyaan yang tidak kosong, dan setiap nilai adalah definisi pertanyaan. Definisi yang sama berlaku untuk setiap baris. Lihat Definisi Pertanyaan.options: Ekspresi konstantaMAP<STRING, STRING>opsional. Opsi yang didukung adalahversion, dengan nilai'1.0'. Versi 1.0 adalah default. Untuk menentukannya secara eksplisit, gunakanmap('version', '1.0').
Definisi pertanyaan
Setiap definisi pertanyaan membutuhkan type dan instructions, plus criteria jika diperlukan oleh jenis soal. Kolom wajib tidak dapat berupa null. Bidang lain tidak didukung.
-
type: Salah satu darinoul,choice, atauscore. -
instructions: Instruksi untuk mengevaluasi status, dinyatakan sebagai string, objek JSON, atau array JSON. -
criteria: Deskripsi yang mendefinisikan cara menjawab. Bentuk yang dibutuhkan tergantung padatype.
Noul bertanya
Gunakan noul untuk memperkirakan kemungkinan suatu pertanyaan benar. Hasilnya adalah angka dari 0 sampai 1.
Objek opsional criteria dapat berisi true dan false tombol untuk mendeskripsikan hasil tersebut. Setiap deskripsi dapat berupa string, objek JSON, atau array JSON. Hilangkan criteria jika Anda tidak membutuhkan deskripsi ini. Jika disediakan, criteria harus menjadi objek dan tidak dapat .null
{
"needs_escalation": {
"type": "noul",
"instructions": "Does this ticket need immediate escalation?",
"criteria": {
"true": "An active service outage blocks the customer from working.",
"false": "The customer can continue working or has a workaround."
}
}
}
Pertanyaan pilihan
Gunakan choice untuk memilih satu label dari serangkaian kriteria bernama.
Objek yang diperlukan criteria memetakan 1 hingga 255 label yang tidak kosong ke deskripsi. Setiap deskripsi dapat berupa string, objek JSON, array JSON, atau null. Gunakan null ketika label saja sudah menggambarkan pilihan.
{
"team": {
"type": "choice",
"instructions": "Which team should handle this ticket?",
"criteria": {
"shipping": "Delivery or shipment issues",
"billing": "Payment or invoice issues",
"technical_support": "Product technical problems"
}
}
}
Pertanyaan skor
Gunakan score untuk mengevaluasi keadaan terhadap skala yang terurut.
Array yang dibutuhkan criteria berisi 2 hingga 10 deskripsi, diurutkan dari terendah hingga tertinggi. Setiap deskripsi dapat berupa string, objek JSON, atau array JSON. Kriteria pertama memiliki indeks 0, yang berikutnya memiliki indeks 1, dan seterusnya.
Hasilnya adalah rata-rata berbobot probabilitas dari indeks-indeks ini. Kriteria ini bisa pecahan dan berkisar dari 0 hingga jumlah kriteria dikurangi satu. Sebagai contoh, probabilitas , 0.10.3, dan 0.6 di antara tiga kriteria menghasilkan skor .1.5
{
"urgency": {
"type": "score",
"instructions": "How urgent is this ticket?",
"criteria": [
"Routine request with no time pressure",
"Time-sensitive issue with a workaround",
"Critical issue that blocks the customer"
]
}
}
Returns
Mengembalikan a VARIANT dengan field response, metadata, dan error_message. Bidang tersebut response berisi sebuah answers objek dengan satu entri per pertanyaan. ID pertanyaan persis sama dengan yang diberikan dalam questions parameter. Setiap jawaban mencakup type bidang yang sesuai dengan jenis pertanyaan: noul, , choiceatau score. Contoh berikut menunjukkan response bidang untuk setiap jenis pertanyaan:
Noul bertanya: A
probabilitydari 0 sampai 1 memperkirakan kemungkinan pertanyaan itu benar.{ "answers": { "needs_escalation": { "type": "noul", "probability": 0.1 } } }Pertanyaan pilihan: A
choiceyang berisi label dengan probabilitas tertinggi dan objekprobabilitiesyang memetakan setiap label sesuai probabilitasnya.confidenceadalah angka dari 0 sampai 1 yang menunjukkan seberapa baik negara bagian mendukung penilaian tersebut. Nilai-nilai tersebutprobabilitiesberjumlah 1. Nama label persis sama dengan yang disediakan dicriteria.{ "answers": { "team": { "type": "choice", "choice": "shipping", "probabilities": { "shipping": 0.8, "billing": 0.1, "technical_support": 0.1 }, "confidence": 0.9 } } }Pertanyaan skor: A
scoreyang berisi rata-rata berbobot probabilitas dari indeks kriteria,legendsebuah indeks string yang memetakan (seperti"0") ke deskripsi kriteria asli, dan sebuahprobabilitiesobjek yang memetakan indeks tersebut ke probabilitas.confidenceadalah angka dari 0 sampai 1 yang menunjukkan seberapa baik negara bagian mendukung penilaian tersebut. Nilai-nilai tersebutprobabilitiesberjumlah 1.{ "answers": { "urgency": { "type": "score", "score": 1.5, "legend": { "0": "Routine request with no time pressure", "1": "Time-sensitive issue with a workaround", "2": "Critical issue that blocks the customer" }, "probabilities": { "0": 0.1, "1": 0.3, "2": 0.6 }, "confidence": 0.8 } } }
Setelah berhasil, metadata.version mengidentifikasi versi fungsi yang digunakan dan error_message adalah null.
Tentang kegagalan, response adalah null dan error_message menggambarkan kegagalan. Jenis argumen yang tidak valid atau definisi pertanyaan yang tidak konstan juga dapat menyebabkan kesalahan kueri.
Contoh
Contoh berikut menunjukkan cara mengevaluasi beberapa pertanyaan dalam satu panggilan. Jawaban yang dihasilkan dapat berbeda antara panggilan.
Mengevaluasi beberapa jenis pertanyaan
Contoh ini mengevaluasi daftar produk sesuai kategorinya, penggunaan bahan daur ulang, dan kesesuaian untuk mendaki di cuaca hujan:
SELECT ai_decide(
'{"name": "TrailShell jacket", "description": "Lightweight waterproof hiking jacket made from recycled polyester. Packs into its own pocket."}',
'{
"category": {
"type": "choice",
"instructions": "Which product category best fits this item?",
"criteria": {
"outerwear": "Jackets, coats, and other protective outer layers",
"footwear": "Shoes, boots, and sandals",
"accessories": "Bags, hats, and other accessories"
}
},
"recycled_materials": {
"type": "noul",
"instructions": "Does the listing state that the product uses recycled materials?"
},
"hiking_suitability": {
"type": "score",
"instructions": "How suitable is this product for hiking in rainy weather?",
"criteria": [
"Not suitable for outdoor use in rain",
"Offers some protection from rain",
"Designed for hiking with waterproof protection"
]
}
}',
map('version', '1.0')
) AS decision;
Contoh respons:
{
"response": {
"answers": {
"category": {
"type": "choice",
"choice": "outerwear",
"probabilities": { "outerwear": 0.95, "footwear": 0.01, "accessories": 0.04 },
"confidence": 0.95
},
"recycled_materials": { "type": "noul", "probability": 0.98 },
"hiking_suitability": {
"type": "score",
"score": 1.8,
"legend": {
"0": "Not suitable for outdoor use in rain",
"1": "Offers some protection from rain",
"2": "Designed for hiking with waterproof protection"
},
"probabilities": { "0": 0.05, "1": 0.1, "2": 0.85 },
"confidence": 0.9
}
}
},
"metadata": { "version": "1.0" },
"error_message": null
}