Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Funzione
Si applica a:
controllo SQL di Databricks
Databricks Runtime
Importante
Questa funzionalità è disponibile in anteprima pubblica e conforme a HIPAA.
Durante l'anteprima:
- Il modello linguistico sottostante può gestire diverse lingue, ma questa funzione di intelligenza artificiale è ottimizzata per l'inglese.
- Consulta Funzionalità con disponibilità limitata a livello regionale per la disponibilità regionale delle Funzioni di intelligenza artificiale.
La ai_classify() funzione classifica il contenuto del testo in base alle etichette personalizzate fornite. È possibile usare nomi di etichetta semplici per la classificazione di base o aggiungere descrizioni e istruzioni per migliorare l'accuratezza per i casi d'uso come il routing del supporto clienti, la categorizzazione dei documenti e l'analisi del contenuto.
La funzione accetta testo o VARIANT output da altre funzioni di intelligenza artificiale, ad ai_parse_documentesempio , consentendo flussi di lavoro componibili.
Per una versione dell'interfaccia utente in cui eseguire l'iterazione in ai_classify, vedere Classificazione.
Requisiti
Licenza di Apache 2.0
I modelli sottostanti che potrebbero essere usati in questo momento sono concessi in licenza con la licenza Apache 2.0, Copyright © The Apache Software Foundation. I clienti sono tenuti a garantire la conformità con i modelli di licenza applicabili.
Databricks consiglia di esaminare queste licenze per garantire la conformità con le condizioni applicabili. Se i modelli emergono in futuro che offrono prestazioni migliori in base ai benchmark interni di Databricks, Databricks potrebbe modificare il modello (e l'elenco delle licenze applicabili fornite in questa pagina).
Il modello che alimenta questa funzione viene reso disponibile tramite le API Model Serving Foundation Model. Vedere Condizioni per sviluppatori di modelli applicabili per informazioni sui modelli disponibili in Databricks e sulle licenze e i criteri che regolano l'uso di tali modelli.
Se i modelli emergono in futuro che offrono prestazioni migliori in base ai benchmark interni di Databricks, Databricks potrebbe modificare i modelli e aggiornare la documentazione.
- Questa funzione è disponibile solo in alcune aree, vedere Disponibilità delle funzioni di intelligenza artificiale.
- Questa funzione non è disponibile in Azure Databricks SQL classico.
- Controllare la pagina dei prezzi di Databricks SQL.
- In Databricks Runtime 15.1 e versioni successive questa funzione è supportata nei notebook di Databricks, inclusi i notebook eseguiti come attività in un flusso di lavoro di Databricks.
- Per migliorare le prestazioni, i carichi di lavoro di inferenza batch richiedono Databricks Runtime 15.4 ML LTS.
Sintassi
Versione 2 (scelta consigliata)
ai_classify(
content VARIANT | STRING,
labels STRING,
[options MAP<STRING, STRING>]
) RETURNS VARIANT
Versione 1
ai_classify(
content STRING,
labels ARRAY<STRING>,
[options MAP<STRING, STRING>]
) RETURNS STRING
Argomenti
Versione 2 (scelta consigliata)
content: espressioneVARIANToSTRING. Accetta una:- Testo non elaborato come
STRING - Oggetto
VARIANTprodotto da un'altra funzione di intelligenza artificiale (ad esempioai_parse_documentoai_extract)
- Testo non elaborato come
labels: valoreSTRINGletterale che definisce le etichette di classificazione. Le etichette possono essere:- Etichette semplici: matrice JSON di nomi di etichetta.
["urgent", "not_urgent"] - Etichette con descrizioni: un oggetto JSON che esegue il mapping dei nomi delle etichette alle descrizioni. Le descrizioni delle etichette devono essere di 0-1000 caratteri.
{ "billing_error": "Payment, invoice, or refund issues", "product_defect": "Any malfunction, bug, or breakage", "account_issue": "Login failures, password resets" }
Ogni etichetta deve essere di 1-100 caratteri.
labelsdeve contenere almeno 2 etichette e non più di 500 etichette.- Etichette semplici: matrice JSON di nomi di etichetta.
options: facoltativoMAP<STRING, STRING>contenente le opzioni di configurazione:-
version: opzione versione per supportare la migrazione ("1.0"per il comportamento v1,"2.0"per il comportamento v2). Il valore predefinito è basato sui tipi di input, ma eseguirà il fallback a"1.0". -
instructions: descrizione globale dell'attività e del dominio per migliorare la qualità della classificazione. Deve essere minore di 20.000 caratteri. -
multilabel: impostare su per"true"restituire più etichette quando si applicano più categorie. Il valore predefinito è"false"(classificazione a etichetta singola).
-
Versione 1
contentSTRING: espressione contenente il testo da classificare.labels: valoreARRAY<STRING>letterale con le etichette di classificazione di output previste. Deve contenere almeno 2 elementi e non più di 20 elementi. Ogni etichetta deve essere di 1-50 caratteri.options: facoltativoMAP<STRING, STRING>contenente le opzioni di configurazione:-
version: opzione versione per supportare la migrazione ("1.0"per il comportamento v1,"2.0"per il comportamento v2). Il valore predefinito è basato sui tipi di input, ma eseguirà il fallback a"1.0".
-
Valori restituiti
Versione 2 (scelta consigliata)
Restituisce un oggetto VARIANT contenente:
{
"response": ["label_name"], // Array with single label (or multiple if multilabel=true)
"error_message": null // null on success, or error message on failure
}
Il response campo contiene:
- Modalità a etichetta singola (impostazione predefinita): matrice con un elemento contenente l'etichetta corrispondente migliore
-
Modalità multi-etichetta (
multilabel: "true"): matrice con più etichette quando si applicano più categorie - I nomi delle etichette corrispondono esattamente a quelli specificati nel
labelsparametro
Restituisce NULL se content è NULL o se il contenuto non può essere classificato.
Versione 1
Restituisce un oggetto STRING. Il valore corrisponde a una delle stringhe fornite nell'argomento labels.
Restituisce NULL se content è NULL o se il contenuto non può essere classificato.
Esempi
Versione 2 (scelta consigliata)
Etichette semplici - solo nomi di etichette
> SELECT ai_classify(
'My password is leaked.',
'["urgent", "not_urgent"]'
);
{
"response": ["urgent"],
"error": null
}
Etichette con descrizioni
> 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
}
Uso delle istruzioni globali
> 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
}
Classificazione con più etichette
> 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
}
Componibilità con 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;
Classificazione batch
> SELECT
description,
ai_classify(
description,
'["clothing", "shoes", "accessories", "furniture", "electronics"]'
) AS category
FROM products
LIMIT 10;
Versione 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;
Limitazioni
Versione 2 (scelta consigliata)
Limitazioni della versione 2:
Questa funzione non è disponibile in Azure Databricks SQL classico.
Questa funzione non può essere utilizzata con Views.
I nomi delle etichette devono essere di 1-100 caratteri ciascuno.
Il
labelsparametro deve contenere tra 2 e 500 etichette univoche.Le descrizioni delle etichette devono essere di 0-1.000 caratteri ciascuno.
La dimensione totale massima del contesto è 128.000 token.
Versione 1
Limitazioni della versione 1:
Questa funzione non è disponibile in Azure Databricks SQL classico.
Questa funzione non può essere utilizzata con Views.
I nomi delle etichette devono essere di 1-50 caratteri ciascuno.
La
labelsmatrice deve contenere tra 2 e 20 etichette.L'input
contentdeve essere minore di 128.000 token (circa 300.000 caratteri).