Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:
Databricks SQL
Databricks Runtime
Belangrijk
Deze functionaliteit bevindt zich in de openbare preview-fase en is HIPAA-compatibel.
Tijdens de preview:
- Het onderliggende taalmodel kan verschillende talen verwerken, maar deze AI-functie is afgestemd op Engels.
- Zie Functies met beperkte regionale beschikbaarheid voor beschikbaarheid van AI Functions-regio's.
De ai_classify() functie classificeert tekstinhoud op basis van aangepaste labels die u opgeeft. U kunt eenvoudige labelnamen gebruiken voor basisclassificatie of labelbeschrijvingen en instructies toevoegen om de nauwkeurigheid te verbeteren voor gebruiksvoorbeelden zoals routering van klanten, documentcategorisatie en inhoudsanalyse.
De functie accepteert tekst of VARIANT uitvoer van andere AI-functies, zoals ai_parse_documenthet inschakelen van composable werkstromen.
Zie ai_classify voor een ui-versie die u wilt herhalen.
Vereisten
Apache 2.0-licentie
De onderliggende modellen die op dit moment kunnen worden gebruikt, hebben een licentie onder de Apache 2.0-licentie, Copyright © The Apache Software Foundation. Klanten zijn verantwoordelijk voor het garanderen van naleving van toepasselijke modellicenties.
Databricks raadt aan deze licenties te controleren om ervoor te zorgen dat alle toepasselijke voorwaarden worden nageleefd. Als modellen in de toekomst beter presteren volgens de interne benchmarks van Databricks, kan Databricks het model (en de lijst met toepasselijke licenties op deze pagina) wijzigen.
Het model dat deze functie mogelijk maakt, wordt beschikbaar gesteld met behulp van Model Serving Foundation Model-API's. Zie Toepasselijke modelvoorwaarden voor informatie over welke modellen beschikbaar zijn in Databricks en de licenties en beleidsregels die het gebruik van deze modellen bepalen.
Als er in de toekomst modellen ontstaan die beter presteren volgens de interne benchmarks van Databricks, kan Databricks de modellen wijzigen en de documentatie bijwerken.
- Deze functie is alleen beschikbaar in sommige regio's, zie beschikbaarheid van AI-functies.
- Deze functie is niet beschikbaar in Azure Databricks SQL Classic.
- Controleer de pagina met prijzen voor Databricks SQL.
- In Databricks Runtime 15.1 en hoger wordt deze functie ondersteund in Databricks-notebooks, waaronder notebooks die worden uitgevoerd als een taak in een Databricks-werkstroom.
- Batch-inference workloads vereisen Databricks Runtime 15.4 ML LTS voor betere prestaties.
Syntaxis
Versie 2 (aanbevolen)
ai_classify(
content VARIANT | STRING,
labels STRING,
[options MAP<STRING, STRING>]
) RETURNS VARIANT
Versie 1
ai_classify(
content STRING,
labels ARRAY<STRING>,
[options MAP<STRING, STRING>]
) RETURNS STRING
Argumenten
Versie 2 (aanbevolen)
content: EenVARIANT- ofSTRING-expressie. Accepteert ofwel:- Onbewerkte tekst als een
STRING - Een
VARIANTfunctie die wordt geproduceerd door een andere AI-functie (zoalsai_parse_documentofai_extract)
- Onbewerkte tekst als een
labels: EenSTRINGletterlijke definitie van de classificatielabels. De labels kunnen het volgende zijn:- Eenvoudige labels: een JSON-matrix met labelnamen.
["urgent", "not_urgent"] - Labels met beschrijvingen: een JSON-object waarmee labelnamen aan beschrijvingen worden toegewezen. Labelbeschrijvingen moeten 0-1000 tekens zijn.
{ "billing_error": "Payment, invoice, or refund issues", "product_defect": "Any malfunction, bug, or breakage", "account_issue": "Login failures, password resets" }
Elk label moet 1-100 tekens bevatten.
labelsmoet ten minste 2 etiketten en maximaal 500 etiketten bevatten.- Eenvoudige labels: een JSON-matrix met labelnamen.
options: Een optioneelMAP<STRING, STRING>met configuratieopties:-
version: Versieswitch voor ondersteuning van migratie ("1.0"voor v1-gedrag,"2.0"voor v2-gedrag). De standaardwaarde is gebaseerd op invoertypen, maar valt terug op"1.0". -
instructions: Globale beschrijving van de taak en het domein om de classificatiekwaliteit te verbeteren. Moet kleiner zijn dan 20.000 tekens. -
multilabel: Ingesteld om"true"meerdere labels te retourneren wanneer meerdere categorieën van toepassing zijn. Standaard is"false"(classificatie met één label).
-
Versie 1
content: EenSTRINGexpressie die de tekst bevat die moet worden geclassificeerd.labels: EenARRAY<STRING>letterlijke waarden met de verwachte labels voor uitvoerclassificatie. Moet ten minste 2 elementen bevatten en niet meer dan 20 elementen. Elk label moet 1-50 tekens bevatten.options: Een optioneelMAP<STRING, STRING>met configuratieopties:-
version: Versieswitch voor ondersteuning van migratie ("1.0"voor v1-gedrag,"2.0"voor v2-gedrag). De standaardwaarde is gebaseerd op invoertypen, maar valt terug op"1.0".
-
Retouren
Versie 2 (aanbevolen)
Retourneert een VARIANT met:
{
"response": ["label_name"], // Array with single label (or multiple if multilabel=true)
"error_message": null // null on success, or error message on failure
}
Het response veld bevat:
- Modus met één label (standaard): Een matrix met één element met het beste overeenkomende label
-
Modus met meerdere labels (
multilabel: "true"): Een matrix met meerdere labels wanneer meerdere categorieën van toepassing zijn - Labelnamen komen exact overeen met namen die zijn opgegeven in de
labelsparameter
Retourneert NULL of contentNULL als de inhoud niet kan worden geclassificeerd.
Versie 1
Geeft als resultaat een STRING. De waarde komt overeen met een van de tekenreeksen die in het labels argument zijn opgegeven.
Retourneert NULL of contentNULL als de inhoud niet kan worden geclassificeerd.
Voorbeelden
Versie 2 (aanbevolen)
Eenvoudige labels - alleen labelnamen
> SELECT ai_classify(
'My password is leaked.',
'["urgent", "not_urgent"]'
);
{
"response": ["urgent"],
"error": null
}
Labels met beschrijvingen
> 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
}
Algemene instructies gebruiken
> 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
}
Classificatie met meerdere labels
> 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
}
Composabiliteit met 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;
Batchclassificatie
> SELECT
description,
ai_classify(
description,
'["clothing", "shoes", "accessories", "furniture", "electronics"]'
) AS category
FROM products
LIMIT 10;
Versie 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;
Beperkingen
Versie 2 (aanbevolen)
Beperkingen voor versie 2:
Deze functie is niet beschikbaar in Azure Databricks SQL Classic.
Deze functie kan niet worden gebruikt met weergaven.
Labelnamen moeten elk 1 tot 100 tekens bevatten.
De
labelsparameter moet tussen 2 en 500 unieke labels bevatten.Labelbeschrijvingen moeten elk 0 tot 1000 tekens bevatten.
De maximale totale contextgrootte is 128.000 tokens.
Versie 1
Beperkingen voor versie 1:
Deze functie is niet beschikbaar in Azure Databricks SQL Classic.
Deze functie kan niet worden gebruikt met weergaven.
Labelnamen moeten elk 1 tot 50 tekens bevatten.
De
labelsmatrix moet tussen 2 en 20 labels bevatten.De
contentinvoer moet kleiner zijn dan 128.000 tokens (ongeveer 300.000 tekens).