Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:
Databricks SQL
Databricks Runtime
Viktigt!
Den här funktionen är i offentlig förhandsversion och HIPAA-kompatibel.
Under förhandsversionen:
- Den underliggande språkmodellen kan hantera flera språk, men den här AI-funktionen är inställd på engelska.
- Se Funktioner med begränsad regional tillgänglighet för tillgänglighet i AI Functions-regionen.
Funktionen ai_classify() klassificerar textinnehåll enligt anpassade etiketter som du anger. Du kan använda enkla etikettnamn för grundläggande klassificering eller lägga till etikettbeskrivningar och instruktioner för att förbättra noggrannheten för användningsfall som routning av kundsupport, dokumentkategorisering och innehållsanalys.
Funktionen accepterar text eller VARIANT utdata från andra AI-funktioner som ai_parse_document, vilket aktiverar komposterbara arbetsflöden.
En användargränssnittsversion som ska iterera på ai_classifyfinns i Klassificering.
Krav
Apache 2.0-licens
De underliggande modeller som kan användas just nu är licensierade under Apache 2.0-licensen, Copyright © Apache Software Foundation. Kunderna ansvarar för att säkerställa efterlevnaden av tillämpliga modelllicenser.
Databricks rekommenderar att du granskar dessa licenser för att säkerställa efterlevnad av tillämpliga villkor. Om modeller dyker upp i framtiden som presterar bättre enligt Databricks interna riktmärken kan Databricks ändra modellen (och listan över tillämpliga licenser som tillhandahålls på den här sidan).
Den modell som driver den här funktionen görs tillgänglig med hjälp av API:er för Modellserver foundation-modell. Se Tillämpliga modellvillkor för information om vilka modeller som är tillgängliga på Databricks och de licenser och principer som styr användningen av dessa modeller.
Om modeller dyker upp i framtiden som presterar bättre enligt Databricks interna riktmärken kan Databricks ändra modellerna och uppdatera dokumentationen.
- Den här funktionen är endast tillgänglig i vissa regioner, se TILLGÄNGLIGHET för AI-funktioner.
- Den här funktionen är inte tillgänglig på Azure Databricks KLASSISK SQL.
- Kontrollera prissättningssidan för Databricks SQL.
- I Databricks Runtime 15.1 och senare stöds den här funktionen i Databricks notebooks, inklusive anteckningsblock som körs som en uppgift i en Databricks-arbetsflödesprocess.
- Batch-slutsatsdragningsarbetsbelastningar kräver Databricks Runtime 15.4 ML LTS för bättre prestanda.
Syntax
Version 2 (rekommenderas)
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
Argument
Version 2 (rekommenderas)
content: EttVARIANTellerSTRINGuttryck. Accepterar antingen:- Råtext som en
STRING - En
VARIANTsom produceras av en annan AI-funktion (till exempelai_parse_documentellerai_extract)
- Råtext som en
labels: EnSTRINGliteral som definierar klassificeringsetiketterna. Etiketterna kan vara:- Enkla etiketter: En JSON-matris med etikettnamn.
["urgent", "not_urgent"] - Etiketter med beskrivningar: Ett JSON-objekt som mappar etikettnamn till beskrivningar. Etikettbeskrivningar måste vara 0–1 000 tecken.
{ "billing_error": "Payment, invoice, or refund issues", "product_defect": "Any malfunction, bug, or breakage", "account_issue": "Login failures, password resets" }
Varje etikett måste vara 1–100 tecken.
labelsmåste innehålla minst 2 etiketter och högst 500 etiketter.- Enkla etiketter: En JSON-matris med etikettnamn.
options: Ett valfrittMAP<STRING, STRING>som innehåller konfigurationsalternativ:-
version: Versionsväxling för att stödja migrering ("1.0"för v1-beteende,"2.0"för v2-beteende). Standardvärdet baseras på indatatyper, men återgår till"1.0". -
instructions: Global beskrivning av uppgiften och domänen för att förbättra klassificeringskvaliteten. Måste vara mindre än 20 000 tecken. -
multilabel: Ange till för att"true"returnera flera etiketter när flera kategorier gäller. Standardvärdet är"false"(klassificering med en etikett).
-
Version 1
content: EttSTRINGuttryck som innehåller texten som ska klassificeras.labels: EnARRAY<STRING>literal med de förväntade klassificeringsetiketterna för utdata. Måste innehålla minst 2 element och högst 20 element. Varje etikett måste innehålla 1–50 tecken.options: Ett valfrittMAP<STRING, STRING>som innehåller konfigurationsalternativ:-
version: Versionsväxling för att stödja migrering ("1.0"för v1-beteende,"2.0"för v2-beteende). Standardvärdet baseras på indatatyper, men återgår till"1.0".
-
Returer
Version 2 (rekommenderas)
Returnerar en VARIANT innehållande:
{
"response": ["label_name"], // Array with single label (or multiple if multilabel=true)
"error_message": null // null on success, or error message on failure
}
Fältet response innehåller:
- Läge med en etikett (standard): En matris med ett element som innehåller den bästa matchande etiketten
-
Läge för flera etiketter (
multilabel: "true"): En matris med flera etiketter när flera kategorier tillämpas - Etikettnamn matchar exakt de som anges i parametern
labels
Returnerar NULL om content är NULL eller om innehållet inte kan klassificeras.
Version 1
Returnerar en STRING. Värdet matchar en av de strängar som anges i labels argumentet.
Returnerar NULL om content är NULL eller om innehållet inte kan klassificeras.
Exempel
Version 2 (rekommenderas)
Enkla etiketter – endast etikettnamn
> SELECT ai_classify(
'My password is leaked.',
'["urgent", "not_urgent"]'
);
{
"response": ["urgent"],
"error": null
}
Etiketter med beskrivningar
> 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
}
Använda globala instruktioner
> 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
}
Klassificering med flera etiketter
> 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
}
Komposterbarhet med 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;
Batch-klassificering
> 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;
Begränsningar
Version 2 (rekommenderas)
Version 2-begränsningar:
Den här funktionen är inte tillgänglig på Azure Databricks KLASSISK SQL.
Den här funktionen kan inte användas med Vyer.
Etikettnamnen måste innehålla mellan 1 och 100 tecken vardera.
Parametern
labelsmåste innehålla mellan 2 och 500 unika etiketter.Etikettbeskrivningar måste vara mellan 0 och 1 000 tecken vardera.
Den maximala totala kontextstorleken är 128 000 token.
Version 1
Version 1-begränsningar:
Den här funktionen är inte tillgänglig på Azure Databricks KLASSISK SQL.
Den här funktionen kan inte användas med Vyer.
Etikettnamnen måste vara mellan 1 och 50 tecken vardera.
Matrisen
labelsmåste innehålla mellan 2 och 20 etiketter.Indata
contentmåste vara mindre än 128 000 token (cirka 300 000 tecken).