Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Databricks SQL
Databricks Runtime
Wichtig
Diese Funktionalität ist in public Preview und HIPAA kompatibel.
Während der Vorschau:
- Das zugrunde liegende Sprachmodell kann mehrere Sprachen verarbeiten, diese KI-Funktion ist jedoch für Englisch optimiert.
- Weitere Informationen zur regionalen Verfügbarkeit von AI-Funktionen finden Sie unter Features mit eingeschränkter regionaler Verfügbarkeit.
Die ai_classify() Funktion klassifiziert Textinhalte entsprechend den von Ihnen bereitgestellten benutzerdefinierten Bezeichnungen. Sie können einfache Bezeichnungsnamen für die grundlegende Klassifizierung verwenden oder Bezeichnungsbeschreibungen und Anweisungen hinzufügen, um die Genauigkeit für Anwendungsfälle wie Kundensupportrouting, Dokumentkategorisierung und Inhaltsanalyse zu verbessern.
Die Funktion akzeptiert Text oder VARIANT Ausgabe von anderen KI-Funktionen wie ai_parse_documentz. B. das Aktivieren von komponierbaren Workflows.
Eine UI-Version zum Durchlaufen ai_classifyfinden Sie unter Klassifizierung.
Anforderungen
Apache 2.0-Lizenz
Die zugrunde liegenden Modelle, die derzeit verwendet werden können, sind unter der Apache 2.0-Lizenz, Copyright © The Apache Software Foundation lizenziert. Kunden sind dafür verantwortlich, die Einhaltung anwendbarer Modelllizenzen sicherzustellen.
Databricks empfiehlt, diese Lizenzen zu überprüfen, um die Einhaltung der geltenden Bedingungen zu gewährleisten. Wenn in Zukunft Modelle entstehen, die gemäß den internen Benchmarks von Databricks besser funktionieren, kann Databricks das Modell (und die Liste der anwendbaren Lizenzen auf dieser Seite) ändern.
Das Modell, das diese Funktion unterstützt, wird mithilfe von Model Serving Foundation Model-APIs verfügbar gemacht. Informationen dazu, welche Modelle für Databricks verfügbar sind, sowie die Lizenzen und Richtlinien, die die Verwendung dieser Modelle regeln, finden Sie unter "Anwendbare Modellbedingungen ".
Wenn in Zukunft Modelle entstehen, die nach den internen Benchmarks von Databricks besser funktionieren, können Databricks die Modelle ändern und die Dokumentation aktualisieren.
- Diese Funktion ist nur in einigen Regionen verfügbar, siehe Verfügbarkeit der KI-Funktion.
- Diese Funktion ist für Azure Databricks SQL Classic nicht verfügbar.
- Weitere Informationen finden Sie auf der Seite zu den Preisen von Databricks SQL.
- In Databricks Runtime 15.1 und höher wird diese Funktion in Databricks-Notebooks unterstützt, einschließlich in Notebooks, die als Task in einem Databricks-Workflow ausgeführt werden.
- Batch-Ableitungsworkloads erfordern Databricks Runtime 15.4 ML LTS für eine verbesserte Leistung.
Syntax
Version 2 (empfohlen)
ai_classify(
content VARIANT | STRING,
labels STRING,
[options MAP<STRING, STRING>]
) RETURNS VARIANT
Version 1
ai_classify(
content STRING,
labels ARRAY<STRING>,
[options MAP<STRING, STRING>]
) RETURNS STRING
Argumente
Version 2 (empfohlen)
content: EinVARIANT- oderSTRING-Ausdruck. Akzeptiert entweder:- Unformatierter Text als
STRING - Eine von einer anderen KI-Funktion erzeugte Funktion (z
VARIANT. B.ai_parse_documentoderai_extract)
- Unformatierter Text als
labels: EinSTRINGLiteral, das die Klassifizierungsbezeichnungen definiert. Die Bezeichnungen können folgende Sein:- Einfache Bezeichnungen: Ein JSON-Array von Bezeichnungsnamen.
["urgent", "not_urgent"] - Bezeichnungen mit Beschreibungen: Eine JSON-Objektzuordnungsbezeichnungsnamen zu Beschreibungen. Bezeichnungsbeschreibungen müssen 0 bis 1000 Zeichen lang sein.
{ "billing_error": "Payment, invoice, or refund issues", "product_defect": "Any malfunction, bug, or breakage", "account_issue": "Login failures, password resets" }
Jede Beschriftung muss 1 bis 100 Zeichen lang sein.
labelsmindestens 2 Etiketten und nicht mehr als 500 Etiketten enthalten.- Einfache Bezeichnungen: Ein JSON-Array von Bezeichnungsnamen.
options: Optional enthaltendeMAP<STRING, STRING>Konfigurationsoptionen:-
version: Version switch to support migration ("1.0"for v1 behavior,"2.0"for v2 behavior). Der Standardwert basiert auf Eingabetypen, fällt jedoch auf"1.0". -
instructions: Globale Beschreibung der Aufgabe und Domäne zur Verbesserung der Klassifizierungsqualität. Muss kleiner als 20.000 Zeichen sein. -
multilabel: Legen Sie fest, dass"true"mehrere Bezeichnungen zurückgegeben werden, wenn mehrere Kategorien angewendet werden. Der Standardwert ist"false"(Klassifizierung mit einer bezeichnungsbasierten Bezeichnung).
-
Version 1
content: EinSTRINGAusdruck, der den zu klassifizierenden Text enthält.labels: EinARRAY<STRING>Literal mit den erwarteten Ausgabeklassifizierungsbezeichnungen. Muss mindestens 2 Elemente und höchstens 20 Elemente enthalten. Jede Beschriftung muss 1 bis 50 Zeichen lang sein.options: Optional enthaltendeMAP<STRING, STRING>Konfigurationsoptionen:-
version: Version switch to support migration ("1.0"for v1 behavior,"2.0"for v2 behavior). Der Standardwert basiert auf Eingabetypen, fällt jedoch auf"1.0".
-
Rückgaben
Version 2 (empfohlen)
Gibt einen enthaltenden Wert zurück VARIANT :
{
"response": ["label_name"], // Array with single label (or multiple if multilabel=true)
"error_message": null // null on success, or error message on failure
}
Das response Feld enthält:
- Einzelbeschriftungsmodus (Standard): Ein Array mit einem Element, das die beste übereinstimmende Bezeichnung enthält
- Modus mit mehreren Bezeichnungen (
multilabel: "true"): Ein Array mit mehreren Bezeichnungen, wenn mehrere Kategorien angewendet werden - Bezeichnungsnamen stimmen exakt mit denen überein, die
labelsim Parameter angegeben sind.
Gibt zurück NULL , wenn contentNULL der Inhalt nicht klassifiziert werden kann.
Version 1
Gibt ein STRING. Der Wert stimmt mit einer der Zeichenfolgen überein, die im labels-Argument angegeben sind.
Gibt zurück NULL , wenn contentNULL der Inhalt nicht klassifiziert werden kann.
Beispiele
Version 2 (empfohlen)
Einfache Bezeichnungen – nur Bezeichnungsnamen
> SELECT ai_classify(
'My password is leaked.',
'["urgent", "not_urgent"]'
);
{
"response": ["urgent"],
"error": null
}
Bezeichnungen mit Beschreibungen
> 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
}
Verwenden globaler Anweisungen
> 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
}
Klassifizierung mit mehreren Bezeichnungen
> 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
}
Kompositierbarkeit mit 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;
Batchklassifizierung
> SELECT
description,
ai_classify(
description,
'["clothing", "shoes", "accessories", "furniture", "electronics"]'
) AS category
FROM products
LIMIT 10;
Version 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;
Einschränkungen
Version 2 (empfohlen)
Einschränkungen der Version 2:
Diese Funktion ist für Azure Databricks SQL Classic nicht verfügbar.
Diese Funktion kann nicht mit Ansichten verwendet werden.
Bezeichnungsnamen müssen jeweils 1 bis 100 Zeichen lang sein.
Der
labelsParameter muss zwischen 2 und 500 eindeutigen Bezeichnungen enthalten.Bezeichnungsbeschreibungen müssen jeweils 0 bis 1.000 Zeichen lang sein.
Die maximale Gesamtkontextgröße beträgt 128.000 Token.
Version 1
Einschränkungen der Version 1:
Diese Funktion ist für Azure Databricks SQL Classic nicht verfügbar.
Diese Funktion kann nicht mit Ansichten verwendet werden.
Bezeichnungsnamen müssen jeweils 1 bis 50 Zeichen lang sein.
Das
labelsArray muss zwischen 2 und 20 Bezeichnungen enthalten.Die
contentEingabe muss kleiner als 128.000 Token sein (ca. 300.000 Zeichen).