Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Funkce
Platí pro:
Databricks SQL
Databricks Runtime
Funkce ai_classify() klasifikuje textový obsah podle vlastních popisků, které zadáte. Pro základní klasifikaci můžete použít jednoduché názvy popisků nebo přidat popisy popisků a pokyny ke zlepšení přesnosti případů použití, jako je směrování zákaznické podpory, kategorizace dokumentů a analýza obsahu.
Funkce přijímá text nebo VARIANT výstup z jiných funkcí umělé inteligence, jako je ai_parse_documentnapříklad povolení kompozibilních pracovních postupů.
Informace o verzi uživatelského rozhraní pro iteraci ai_classifynajdete v tématu Klasifikace.
Požadavky
Licence Apache 2.0
Základní modely, které lze v tuto chvíli použít, jsou licencované v rámci licence Apache 2.0, Copyright © Apache Software Foundation. Zákazníci nesou odpovědnost za zajištění dodržování příslušných modelových licencí.
Databricks doporučuje zkontrolovat tyto licence, abyste zajistili soulad s platnými podmínkami. Pokud se modely objeví v budoucnu, které fungují lépe podle interních srovnávacích testů Databricks, může Databricks změnit model (a seznam použitelných licencí uvedených na této stránce).
The model powering this function is made available using Model Serving Foundation Model APIs. Informace o modelech dostupných v Databricks a licencích a zásadách, které řídí používání těchto modelů, najdete v příslušných podmínkách modelu .
Pokud se objeví modely, které fungují lépe podle interních srovnávacích testů Azure Databricks, databricks může změnit modely a aktualizovat dokumentaci.
Tato funkce je dostupná jenom v některých oblastech, viz dostupnost funkce AI.
Pro pracovní prostory s doplňkem Rozšířené zabezpečení a dodržování předpisů
- Informace o
ai_classifynajdete v regionální podpoře. - Informace o tom, jak ji povolit ve vašem pracovním prostoru, najdete v tématu Správa Azure Databricks preview.
- Informace o
Tato funkce není k dispozici ve skladech SQL Pro nebo Classic.
Vyžaduje se Databricks Runtime 18.2 nebo novější.
Pro poznámkové bloky a pracovní postupy Databricks se vyžaduje bezserverové výpočetní prostředí.
Podívejte se na stránku s cenami SQL služby Databricks.
Návod
Databricks doporučuje používat verzi 2.0 pro ai_classify. Verze 1.0 je starší rozhraní, které tyto funkce nepodporuje a nedoporučuje se pro nové nebo produkční úlohy.
Verze 2.0 podporuje:
- Popisy popisků pro lepší přesnost
- Klasifikace více popisků
- Globální pokyny
- Až 500 popisků ve verzi 1.0 ve srovnání s 20
-
VARIANTvstup z upstreamových funkcí umělé inteligence, jako jeai_parse_document - Vrátí strukturu
VARIANTs informacemi o chybách.
Pokud chcete připnout verzi 2.0 explicitně, předejte options => map('version', '2.0').
Syntaxe
Verze 2 (doporučeno)
ai_classify(content, labels [, options])
Verze 1 (starší verze)
ai_classify(content, labels [, options])
Argumenty
Verze 2 (doporučeno)
content:VARIANTneboSTRINGvýraz. Přijímá buď:- Nezpracovaný text jako
STRING - A
VARIANTvytvořené jinou funkcí umělé inteligence (napříkladai_parse_documentneboai_extract)
- Nezpracovaný text jako
labels: VýrazSTRINGdefinující popisky klasifikace. Může to být řetězcový literál nebo jakýkoli výraz SQL, který se vyhodnotí jakoSTRINGsloupec tabulky Delta. Popisky můžou být:- Jednoduché popisky: Pole JSON s názvy popisků.
["urgent", "not_urgent"] - Popisky s popisy: Názvy popisků mapování objektů JSON na popisy Popisy popisků musí být 0–1 000 znaků.
{ "billing_error": "Payment, invoice, or refund issues", "product_defect": "Any malfunction, bug, or breakage", "account_issue": "Login failures, password resets" }
Každý popisek musí mít 1 až 100 znaků.
labelsmusí obsahovat alespoň 2 štítky a nesmí obsahovat více než 500 štítků. U taxonomií větších než 500 popisků se podívejte na klasifikaci s 500+ popisky.- Jednoduché popisky: Pole JSON s názvy popisků.
options: VolitelnéMAP<STRING, STRING>obsahující možnosti konfigurace:-
version: Přepnutí verze na podporu migrace ("1.0"pro chování v1,"2.0"pro chování v2). Výchozí hodnota je založena na vstupních typech, ale vrátí se zpět na"1.0". -
instructions: Globální popis úlohy a domény, aby se zlepšila kvalita klasifikace. Musí být kratší než 20 000 znaků. -
multilabel: Pokud se použije více kategorií, nastavte na"true"vrácení více popisků. Výchozí hodnota je"false"(klasifikace s jedním popiskem).
-
Verze 1 (starší verze)
content: VýrazSTRINGobsahující text, který se má klasifikovat.labelsARRAY<STRING>: Literál s očekávanými popisky klasifikace výstupu. Musí obsahovat alespoň 2 prvky a nesmí obsahovat více než 20 prvků. Každý popisek musí mít 1 až 50 znaků.options: VolitelnéMAP<STRING, STRING>obsahující možnosti konfigurace:-
version: Přepnutí verze na podporu migrace ("1.0"pro chování v1,"2.0"pro chování v2). Výchozí hodnota je založena na vstupních typech, ale vrátí se zpět na"1.0".
-
Návraty
Verze 2 (doporučeno)
VARIANT Vrátí hodnotu obsahující:
{
"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
}
Pole response obsahuje:
- Režim s jedním popiskem (výchozí): Pole s jedním prvkem obsahujícím nejlepší odpovídající popisek
-
Režim více popisků (
multilabel: "true"): Pole s více popisky při použití více kategorií - Názvy popisků přesně odpovídají názvům zadaným v parametru
labels.
Vrátí NULL , pokud content je NULL nebo pokud nelze klasifikovat obsah.
Verze 1 (starší verze)
Vrátí hodnotu STRING. Hodnota odpovídá jednomu z řetězců zadaných v argumentu labels .
Vrátí NULL , pokud content je NULL nebo pokud nelze klasifikovat obsah.
Příklady
Verze 2 (doporučeno)
Jednoduché popisky – jenom názvy popisků
> SELECT ai_classify(
'My password is leaked.',
'["urgent", "not_urgent"]'
);
{
"response": ["urgent"],
"metadata": {
"version": "2.0"
},
"error_message": null
}
Popisky s popisy
> 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
}
Popisky z tabulky Delta
Předejte popisky z tabulky Delta jejich převodem na řetězec JSON. Pokud máte například tabulku popisků se schématem news_topics(topic STRING, description STRING), můžete popisky ai_classify předat následujícím způsobem:
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;
Použití globálních pokynů
> 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
}
Klasifikace více popisků
> 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
}
Kompozability with 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;
Dávková klasifikace
> SELECT
description,
ai_classify(
description,
'["clothing", "shoes", "accessories", "furniture", "electronics"]'
) AS category
FROM products
LIMIT 10;
Klasifikace s 500+ popisky
Pokud chcete klasifikovat více než 500 popisků, doporučujeme vložit dokumenty a popisky, načíst horní k popisky na dokument a pak spustit ai_classify menší podmnožinu.
Viz kurz: Klasifikace dokumentů s popisky 500+ pro podrobný návod.
Verze 1 (starší verze)
> 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;
Omezení
Verze 2 (doporučeno)
Omezení verze 2:
Tato funkce není k dispozici v Azure Databricks SQL Classic.
Tuto funkci nelze použít se zobrazeními.
Názvy popisků musí mít každý 1 až 100 znaků.
Parametr
labelsmusí obsahovat 2 až 500 jedinečných popisků.Popisy popisků musí mít každý z nich 0–1 000 znaků.
Maximální celková velikost kontextu je 128 000 tokenů.
Verze 1 (starší verze)
Omezení verze 1 (starší verze):
Tato funkce není k dispozici v Azure Databricks SQL Classic.
Tuto funkci nelze použít se zobrazeními.
Názvy popisků musí mít každý 1–50 znaků.
Matice
labelsmusí obsahovat 2 až 20 popisků.Vstup
contentmusí být menší než 128 000 tokenů (asi 300 000 znaků).