Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:
Databricks SQL
Databricks Runtime
işlevi, ai_classify() metin içeriğini sağladığınız özel etiketlere göre sınıflandırır. Temel sınıflandırma için basit etiket adları kullanabilir veya müşteri desteği yönlendirmesi, belge kategorilere ayırma ve içerik analizi gibi kullanım örneklerinin doğruluğunu geliştirmek için etiket açıklamaları ve yönergeleri ekleyebilirsiniz.
İşlev, gibi VARIANTdiğer yapay zeka işlevlerinden metin veya ai_parse_document çıktı kabul ederek birleştirilebilir iş akışlarını etkinleştirir.
üzerinde ai_classifyyineleyici bir kullanıcı arabirimi sürümü için bkz . Sınıflandırma.
Veri güvenliği
Belge verileriniz Databricks güvenlik çevresi içinde işlenir. Databricks, yapay zeka fonksiyon çağrılarına iletilen parametreleri saklamaz, ancak kullanılan Databricks Çalışma Zamanı versiyonu gibi metaveri çalışma detaylarını korur.
Gereksinimler
Apache 2.0 lisansı
Şu anda kullanılabilecek temel modeller Apache 2.0 Lisansı, Telif Hakkı © Apache Software Foundation kapsamında lisanslandırılır. Müşteriler, geçerli model lisanslarıyla uyumluluğu sağlamakla sorumludur.
Databricks, geçerli koşullarla uyumluluğu sağlamak için bu lisansların gözden geçirilmesini önerir. Gelecekte Databricks'in iç karşılaştırmalarına göre daha iyi performans gösteren modeller ortaya çıkarsa Databricks modeli (ve bu sayfada sağlanan geçerli lisansların listesini) değiştirebilir.
Bu işlevi güçlendiren model, Model Sunma Temeli Model API'leri kullanılarak kullanılabilir hale getirilir. Databricks'te hangi modellerin kullanılabildiği ve bu modellerin kullanımını yöneten lisanslar ve ilkeler hakkında bilgi için bkz. Geçerli model koşulları .
Azure Databricks iç karşılaştırmalarına göre daha iyi performans gösteren modeller ortaya çıkarsa Databricks modelleri değiştirebilir ve belgeleri güncelleştirebilir.
Bu işlev yalnızca bazı bölgelerde kullanılabilir. Bkz. Yapay zeka işlevi kullanılabilirliği.
Gelişmiş Güvenlik ve Uyumluluk eklentisine sahip çalışma alanları için,
- Uygun
ai_classifyiçin bölgesel desteğe bakın. - Çalışma alanınızda nasıl etkinleştirileceğini öğrenmek için bkz. Azure Databricks önizlemelerini yönetme.
- Uygun
Bu işlev Pro veya Klasik SQL ambarlarında kullanılamaz.
Databricks Runtime 15.4 LTS veya üzeri gereklidir. Databricks Runtime 18.2 veya üzeri en iyi performans ve en son özelliklere erişim için önerilir.
Not defterleri ve Databricks iş akışları için sunucusuz işlem gereklidir.
Databricks SQL fiyatlandırma sayfasını gözden geçirin.
Tip
Databricks, için ai_classify kullanılmasını önerir. Sürüm 1.0, bu özellikleri desteklemeyen eski bir arabirimdir ve yeni veya üretim iş yükleri için önerilmez.
Sürüm 2.0 şu desteği destekler:
- İyileştirilmiş doğruluk için etiket açıklamaları
- Çok etiketli sınıflandırma
- Genel yönergeler
- Sürüm 1.0'da 20 etiketle karşılaştırıldığında en fazla 500 etiket
-
VARIANTgibi yukarı akış yapay zeka işlevlerinden girişai_parse_document - Hata bilgileriyle yapılandırılmış
VARIANTbir değer döndürür
Sürüm 2.1 de şunları destekler:
- Döndürülen her etiket için güvenilirlik puanları
enableConfidenceScores - Ile etkinleştirilen, döndürülen her etiketi açıklayan rasyonaliteler
enableRationales
Sürüm 2.1'de response içindeki her sınıflandırma, düz etiket dizesi yerine anahtar içeren value etiket başına bir nesnedir. Bu çıkış şekli değişikliği, yeni seçenekler devre dışı bırakıldığında bile tüm sürüm 2.1 çağrıları için geçerlidir. Sürüm 2.0'dan 2.1'e geçiş çıkış uyumlu değildir. Doğrudan okumak yerine anahtardan value etiketi okumak için sorgularınızı ve aşağı akış kodunuzu güncelleştirin.
Bir sürümü açıkça sabitlemek için geçirin options => map('version', '2.1').
Söz dizimi
Sürüm 2.1 (önerilir)
ai_classify(content, labels [, options])
Sürüm 2
ai_classify(content, labels [, options])
Sürüm 1 (Eski)
ai_classify(content, labels [, options])
Argümanlar
Sürüm 2.1 (önerilir)
content:VARIANTveyaSTRINGifadesi. Kabul eder:- Ham metin olarak
STRING -
VARIANTBaşka bir yapay zeka işlevi (veyaai_parse_documentgibiai_extract) tarafından üretilen bir
- Ham metin olarak
labelsSTRING: Sınıflandırma etiketlerini tanımlayan bir ifade. Bu bir dize değişmez değeri veya delta tablo sütunu da dahil olmak üzere bir olarak değerlendirilen herhangi birSTRINGSQL ifadesi olabilir. Etiketler şu şekilde olabilir:- Basit etiketler: Etiket adlarının JSON dizisi.
["urgent", "not_urgent"] - Açıklamalı etiketler: Etiket adlarını açıklamalarla eşleştiren bir JSON nesnesi. Etiket açıklamaları 0-1000 karakter uzunluğunda olmalıdır.
{ "billing_error": "Payment, invoice, or refund issues", "product_defect": "Any malfunction, bug, or breakage", "account_issue": "Login failures, password resets" }
Her etiket 1-100 karakter uzunluğunda olmalıdır.
labelsen az 2 etiket içermeli ve 500'den fazla etiket içermemelidir. 500'den büyük taksonomiler için bkz. 500'den fazla etiketli sınıflandırma.- Basit etiketler: Etiket adlarının JSON dizisi.
options: Yapılandırma seçeneklerini içeren isteğe bağlıMAP<STRING, STRING>bir seçenek:-
version: Geçişi ("1.0","2.0"veya"2.1") desteklemek için sürüm anahtarı. Varsayılan, giriş türlerini temel alır, ancak öğesine geri döner"1.0". -
instructions: Sınıflandırma kalitesini artırmak için görevin ve etki alanının genel açıklaması. 20.000 karakterden az olmalıdır. -
multilabel: Birden çok kategori uygulandığında birden çok etiket döndürmek için olarak ayarlayın"true". Varsayılan değerdir"false"(tek etiketli sınıflandırma). -
enableConfidenceScores: Döndürülen her etiket için bir"true"(0-1) içerecek şekildeconfidence_scoreayarlayın. Sürümü"2.1"gerektirir. Varsayılan"false"değeridir. -
enableRationales: Giriş metninde"true"topraklanmış, döndürülen her etiketi açıklayan kısa bir rasyonalite içerecek şekilde ayarlayın. Sürümü"2.1"gerektirir. Varsayılan"false"değeridir.
-
Sürüm 2
content:VARIANTveyaSTRINGifadesi. Kabul eder:- Ham metin olarak
STRING -
VARIANTBaşka bir yapay zeka işlevi (veyaai_parse_documentgibiai_extract) tarafından üretilen bir
- Ham metin olarak
labelsSTRING: Sınıflandırma etiketlerini tanımlayan bir ifade. Bu bir dize değişmez değeri veya delta tablo sütunu da dahil olmak üzere bir olarak değerlendirilen herhangi birSTRINGSQL ifadesi olabilir. Etiketler şu şekilde olabilir:- Basit etiketler: Etiket adlarının JSON dizisi.
["urgent", "not_urgent"] - Açıklamalı etiketler: Etiket adlarını açıklamalarla eşleştiren bir JSON nesnesi. Etiket açıklamaları 0-1000 karakter uzunluğunda olmalıdır.
{ "billing_error": "Payment, invoice, or refund issues", "product_defect": "Any malfunction, bug, or breakage", "account_issue": "Login failures, password resets" }
Her etiket 1-100 karakter uzunluğunda olmalıdır.
labelsen az 2 etiket içermeli ve 500'den fazla etiket içermemelidir. 500'den büyük taksonomiler için bkz. 500'den fazla etiketli sınıflandırma.- Basit etiketler: Etiket adlarının JSON dizisi.
options: Yapılandırma seçeneklerini içeren isteğe bağlıMAP<STRING, STRING>bir seçenek:-
version: Geçişi desteklemek için sürüm anahtarı ("1.0"v1 davranışı için,"2.0"v2 davranışı için). Varsayılan, giriş türlerini temel alır, ancak öğesine geri döner"1.0". -
instructions: Sınıflandırma kalitesini artırmak için görevin ve etki alanının genel açıklaması. 20.000 karakterden az olmalıdır. -
multilabel: Birden çok kategori uygulandığında birden çok etiket döndürmek için olarak ayarlayın"true". Varsayılan değerdir"false"(tek etiketli sınıflandırma).
-
Sürüm 1 (Eski)
contentSTRING: Sınıflandırılacak metni içeren ifade.labelsARRAY<STRING>: Beklenen çıkış sınıflandırma etiketlerine sahip değişmez değer. En az 2 öğe ve en fazla 20 öğe içermelidir. Her etiket 1-50 karakter uzunluğunda olmalıdır.options: Yapılandırma seçeneklerini içeren isteğe bağlıMAP<STRING, STRING>bir seçenek:-
version: Geçişi desteklemek için sürüm anahtarı ("1.0"v1 davranışı için,"2.0"v2 davranışı için). Varsayılan, giriş türlerini temel alır, ancak öğesine geri döner"1.0".
-
İadeler
Sürüm 2.1 (önerilir)
Şunu içeren bir VARIANT döndürür:
{
"response": [{ "value": "label_name", "confidence_score": 0.97, "rationale": "Short justification for the label." }],
"metadata": {
"version": "2.1"
},
"error_message": null // null on success, or error message on failure
}
içindeki response her öğe, düz etiket dizesi yerine anahtara sahip value etiket başına bir nesnedir. olduğunda enableConfidenceScores"true", her nesne bir confidence_score de (0-1) içerir. olduğunda enableRationales"true", her nesne bir rationalede içerir. Her iki seçenek de etkinleştirildiğinde, her nesnedeki valueanahtar sırası , confidence_scoreve olur rationale.
Alanı response aşağıdakileri içerir:
- Tek etiket modu (varsayılan): En iyi eşleşen etiketi içeren bir öğeye sahip dizi
-
Çoklu etiket modu (
multilabel: "true"): Birden çok kategori uygulandığında birden çok etiketi olan bir dizi - Etiket adları, parametresinde
labelssağlanan adlarla tam olarak eşleşer
ise NULLcontent veya içerik sınıflandırılamıyorsa döndürürNULL.
Sürüm 2
Şunu içeren bir VARIANT döndürür:
{
"response": ["label_name"], // Array with single label (or multiple if multilabel=true)
"metadata": {
"version": "2.0"
},
"error_message": null // null on success, or error message on failure
}
Alanı response aşağıdakileri içerir:
- Tek etiket modu (varsayılan): En iyi eşleşen etiketi içeren bir öğeye sahip dizi
-
Çoklu etiket modu (
multilabel: "true"): Birden çok kategori uygulandığında birden çok etiketi olan bir dizi - Etiket adları, parametresinde
labelssağlanan adlarla tam olarak eşleşer
ise NULLcontent veya içerik sınıflandırılamıyorsa döndürürNULL.
Sürüm 1 (Eski)
bir STRINGdöndürür. Değer, labels argümanında sağlanan dizelerden biriyle eşleşir.
ise NULLcontent veya içerik sınıflandırılamıyorsa döndürürNULL.
Örnekler
Sürüm 2.1 (önerilir)
Basit etiketler - yalnızca etiket adları
Sürüm 2.1'de her sınıflandırma, yeni seçenekler devre dışı bırakıldığında bile düz dize yerine anahtar içeren etiket başına bir nesnedir value .
> SELECT ai_classify(
'My password is leaked.',
'["urgent", "not_urgent"]',
MAP('version', '2.1')
);
{
"response": [{"value": "urgent"}],
"metadata": {
"version": "2.1"
},
"error_message": null
}
Güvenilirlik puanlarıyla
> SELECT ai_classify(
'My password is leaked.',
'["urgent", "not_urgent"]',
MAP('version', '2.1', 'enableConfidenceScores', 'true')
);
{
"response": [{"value": "urgent", "confidence_score": 0.97}],
"metadata": {
"version": "2.1"
},
"error_message": null
}
Rasyonellerle
> SELECT ai_classify(
'My password is leaked.',
'["urgent", "not_urgent"]',
MAP('version', '2.1', 'enableRationales', 'true')
);
{
"response": [{"value": "urgent", "rationale": "A leaked password is a security incident requiring immediate action."}],
"metadata": {
"version": "2.1"
},
"error_message": null
}
Güvenilirlik puanları ve rasyonaliteleri ile (çok etiketli)
> SELECT ai_classify(
'Customer wants refund and reports product arrived broken.',
'{
"billing_issue": "Payment or refund requests",
"product_defect": "Damaged or malfunctioning items"
}',
MAP('version', '2.1', 'multilabel', 'true', 'enableConfidenceScores', 'true', 'enableRationales', 'true')
);
{
"response": [
{"value": "billing_issue", "confidence_score": 0.91, "rationale": "Customer explicitly requests a refund."},
{"value": "product_defect", "confidence_score": 0.88, "rationale": "Reports the product arrived broken."}
],
"metadata": {
"version": "2.1"
},
"error_message": null
}
ile birlikte kullanılabilirlik 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('version', '2.1', 'instructions', 'Customer support ticket classification.')
) AS ticket_category
FROM parsed_docs;
Toplu sınıflandırma
> SELECT
description,
ai_classify(
description,
'["clothing", "shoes", "accessories", "furniture", "electronics"]',
MAP('version', '2.1')
) AS category
FROM products
LIMIT 10;
500'den fazla etiketle sınıflandırma
500'den fazla etiketle sınıflandırmak için, belgelerinizi ve etiketlerinizi eklemenizi, belge başına üst k etiketlerini almanızı ve daha küçük alt kümede çalıştırmanızı ai_classify öneririz.
Adım adım izlenecek yol için bkz . Öğretici: Belgeleri 500'den fazla etiketle sınıflandırma .
Sürüm 2
Basit etiketler - yalnızca etiket adları
> SELECT ai_classify(
'My password is leaked.',
'["urgent", "not_urgent"]'
);
{
"response": ["urgent"],
"metadata": {
"version": "2.0"
},
"error_message": null
}
Açıklamalı etiketler
> 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"],
"metadata": {
"version": "2.0"
},
"error_message": null
}
Delta Tablosundan Etiketler
Delta tablosundaki etiketleri JSON dizesine dönüştürerek geçirin. Örneğin, şemasına news_topics(topic STRING, description STRING)sahip bir etiket tablosu verdiyseniz etiketlerinizi aşağıdaki gibi geçirebilirsiniz ai_classify :
SELECT
ai_classify(
"Leicester City Wins Premier League Title at 5000-1 Odds",
l.labels,
MAP('version', '2.0')
) AS classification
FROM (
SELECT to_json(map_from_entries(collect_list(struct(topic, description)))) AS labels
FROM news_topics
) l;
Genel yönergeleri kullanma
> 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"],
"metadata": {
"version": "2.0"
},
"error_message": null
}
Çok etiketli sınıflandırma
> 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('version', '2.0','multilabel', 'true')
);
{
"response": ["billing_issue", "product_defect"],
"metadata": {
"version": "2.0"
},
"error_message": null
}
Sürüm 1 (Eski)
> 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;
Sınırlamalar
Sürüm 2.1 (önerilir)
Sürüm 2.1 sınırlamaları:
Bu işlev Azure Databricks SQL Classic'te kullanılamaz.
Bu işlev Görünümler ile kullanılamaz.
Etiket adları her birinde 1-100 karakter olmalıdır.
labelsparametresi 2 ile 500 arasında benzersiz etiket içermelidir.Etiket açıklamalarının her birinde 0-1.000 karakter olmalıdır.
Toplam bağlam boyutu üst sınırı 128.000 belirteçtir.
Sürüm 2
Sürüm 2 sınırlamaları:
Bu işlev Azure Databricks SQL Classic'te kullanılamaz.
Bu işlev Görünümler ile kullanılamaz.
Etiket adları her birinde 1-100 karakter olmalıdır.
labelsparametresi 2 ile 500 arasında benzersiz etiket içermelidir.Etiket açıklamalarının her birinde 0-1.000 karakter olmalıdır.
Toplam bağlam boyutu üst sınırı 128.000 belirteçtir.
Sürüm 1 (Eski)
Sürüm 1 (Eski) sınırlamaları:
Bu işlev Azure Databricks SQL Classic'te kullanılamaz.
Bu işlev Görünümler ile kullanılamaz.
Etiket adları her birinde 1-50 karakter olmalıdır.
Dizi
labels2 ile 20 arasında etiket içermelidir.Giriş
content128.000'den az belirteç (yaklaşık 300.000 karakter) olmalıdır.