Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Funkcja
Dotyczy:
Databricks SQL
Databricks Runtime
Ważne
Ta funkcja jest w publicznej wersji zapoznawczej i zgodna ze standardem HIPAA.
Podczas korzystania z wersji zapoznawczej:
- Podstawowy model językowy może obsługiwać kilka języków, ale ta funkcja sztucznej inteligencji jest dostrojona do języka angielskiego.
- Zobacz Funkcje z ograniczoną dostępnością regionalną w kontekście dostępności AI Functions w regionach.
Funkcja ai_classify() klasyfikuje zawartość tekstową zgodnie z określonymi etykietami niestandardowymi. Możesz użyć prostych nazw etykiet do podstawowej klasyfikacji lub dodać opisy etykiet i instrukcje, aby zwiększyć dokładność przypadków użycia, takich jak routing obsługi klienta, kategoryzacja dokumentów i analiza zawartości.
Funkcja akceptuje tekst lub VARIANT dane wyjściowe z innych funkcji sztucznej inteligencji, takich jak ai_parse_document, umożliwiając komponowalne przepływy pracy.
Aby uzyskać wersję interfejsu użytkownika do iterowania w systemie ai_classify, zobacz Klasyfikacja.
Wymagania
Licencja apache 2.0
Podstawowe modele, które mogą być używane w tej chwili, są licencjonowane w ramach licencji apache 2.0, Copyright © The Apache Software Foundation. Klienci są odpowiedzialni za zapewnienie zgodności z odpowiednimi licencjami modelu.
Usługa Databricks zaleca przejrzenie tych licencji w celu zapewnienia zgodności z dowolnymi odpowiednimi warunkami. Jeśli modele pojawią się w przyszłości, które działają lepiej zgodnie z wewnętrznymi testami porównawczymi usługi Databricks, usługa Databricks może zmienić model (oraz listę odpowiednich licencji dostępnych na tej stronie).
Model obsługujący tę funkcję jest udostępniany przy użyciu interfejsów API modelu obsługującego model. Aby uzyskać informacje na temat modeli dostępnych w usłudze Databricks oraz licencji i zasad, które regulują korzystanie z tych modeli, zobacz Odpowiednie terminy dla deweloperów modeli.
Jeśli modele pojawią się w przyszłości, które działają lepiej zgodnie z wewnętrznymi testami porównawczymi usługi Databricks, usługa Databricks może zmienić modele i zaktualizować dokumentację.
- Ta funkcja jest dostępna tylko w niektórych regionach. Zobacz Dostępność funkcji sztucznej inteligencji.
- Ta funkcja nie jest dostępna w usłudze Azure Databricks SQL Classic.
- Sprawdź stronę cennika usługi Databricks SQL.
- W środowisku Databricks Runtime 15.1 lub nowszym ta funkcja jest obsługiwana w notesach usługi Databricks, w tym notesach uruchamianych jako zadanie w przepływie pracy usługi Databricks.
- Obciążenia związane z wnioskowaniem wsadowym wymagają korzystania ze środowiska Databricks Runtime 15.4 ML LTS w celu poprawy wydajności.
Składnia
Wersja 2 (zalecana)
ai_classify(
content VARIANT | STRING,
labels STRING,
[options MAP<STRING, STRING>]
) RETURNS VARIANT
Wersja 1
ai_classify(
content STRING,
labels ARRAY<STRING>,
[options MAP<STRING, STRING>]
) RETURNS STRING
Argumenty
Wersja 2 (zalecana)
content: wyrażenieVARIANTlubSTRING. Akceptuje albo:- Nieprzetworzonego tekstu jako
STRING - Utworzona
VARIANTprzez inną funkcję sztucznej inteligencji (npai_parse_document. lubai_extract)
- Nieprzetworzonego tekstu jako
labelsSTRING: literał definiujący etykiety klasyfikacji. Etykiety mogą być następujące:- Proste etykiety: tablica nazw etykiet JSON.
["urgent", "not_urgent"] - Etykiety z opisami: nazwy etykiet mapowania obiektów JSON na opisy. Opisy etykiet muszą zawierać od 0 do 1000 znaków.
{ "billing_error": "Payment, invoice, or refund issues", "product_defect": "Any malfunction, bug, or breakage", "account_issue": "Login failures, password resets" }
Każda etykieta musi zawierać od 1 do 100 znaków.
labelsmusi zawierać co najmniej 2 etykiety i nie więcej niż 500 etykiet.- Proste etykiety: tablica nazw etykiet JSON.
options: opcjonalnyMAP<STRING, STRING>zawierający opcje konfiguracji:-
version: Przełączenie wersji na obsługę migracji ("1.0"w przypadku zachowania w wersji 1 w"2.0"przypadku zachowania w wersji 2). Wartość domyślna jest oparta na typach wejściowych, ale powróci do"1.0"wartości . -
instructions: globalny opis zadania i domeny w celu poprawy jakości klasyfikacji. Musi zawierać mniej niż 20 000 znaków. -
multilabel: ustaw wartość , aby"true"zwracać wiele etykiet, gdy stosuje się wiele kategorii. Wartość domyślna to"false"(klasyfikacja z pojedynczą etykietą).
-
Wersja 1
contentSTRING: Wyrażenie zawierające tekst do sklasyfikowania.labelsARRAY<STRING>: literał z oczekiwanymi etykietami klasyfikacji danych wyjściowych. Musi zawierać co najmniej 2 elementy i nie więcej niż 20 elementów. Każda etykieta musi zawierać od 1 do 50 znaków.options: opcjonalnyMAP<STRING, STRING>zawierający opcje konfiguracji:-
version: Przełączenie wersji na obsługę migracji ("1.0"w przypadku zachowania w wersji 1 w"2.0"przypadku zachowania w wersji 2). Wartość domyślna jest oparta na typach wejściowych, ale powróci do"1.0"wartości .
-
Zwraca
Wersja 2 (zalecana)
Zwraca element VARIANT zawierający:
{
"response": ["label_name"], // Array with single label (or multiple if multilabel=true)
"error_message": null // null on success, or error message on failure
}
Pole response zawiera:
- Tryb pojedynczej etykiety (ustawienie domyślne): tablica z jednym elementem zawierającym najlepszą etykietę dopasowania
-
Tryb wielu etykiet (
multilabel: "true"): tablica z wieloma etykietami, gdy stosuje się wiele kategorii - Nazwy etykiet dokładnie pasują do podanych w parametrze
labels
Zwraca wartość NULL , jeśli content jest NULL lub jeśli nie można sklasyfikować zawartości.
Wersja 1
Zwraca wartość STRING. Wartość odpowiada jednemu z ciągów podanych w argumencie labels .
Zwraca wartość NULL , jeśli content jest NULL lub jeśli nie można sklasyfikować zawartości.
Przykłady
Wersja 2 (zalecana)
Proste etykiety — tylko nazwy etykiet
> SELECT ai_classify(
'My password is leaked.',
'["urgent", "not_urgent"]'
);
{
"response": ["urgent"],
"error": null
}
Etykiety z opisami
> 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
}
Korzystanie z instrukcji globalnych
> 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
}
Klasyfikacja wielu etykiet
> 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
}
Możliwość komponowania za pomocą polecenia 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;
Klasyfikacja wsadowa
> SELECT
description,
ai_classify(
description,
'["clothing", "shoes", "accessories", "furniture", "electronics"]'
) AS category
FROM products
LIMIT 10;
Wersja 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;
Ograniczenia
Wersja 2 (zalecana)
Ograniczenia wersji 2:
Ta funkcja nie jest dostępna w usłudze Azure Databricks SQL Classic.
Tej funkcji nie można używać z widokami.
Nazwy etykiet muszą zawierać od 1 do 100 znaków.
Parametr
labelsmusi zawierać od 2 do 500 unikatowych etykiet.Opisy etykiet muszą zawierać od 0 do 1000 znaków.
Maksymalny całkowity rozmiar kontekstu to 128 000 tokenów.
Wersja 1
Ograniczenia wersji 1:
Ta funkcja nie jest dostępna w usłudze Azure Databricks SQL Classic.
Tej funkcji nie można używać z widokami.
Nazwy etykiet muszą zawierać od 1 do 50 znaków.
Tablica
labelsmusi zawierać od 2 do 20 etykiet.Dane
contentwejściowe muszą być mniejsze niż 128 000 tokenów (około 300 000 znaków).