적용 대상:
Databricks SQL
Databricks Runtime
중요한
이 기능은 공개 미리 보기 및 HIPAA 규격에 있습니다.
미리 보기 중:
- 기본 언어 모델은 여러 언어를 처리할 수 있지만 이 AI 함수는 영어로 조정됩니다.
- AI Functions의 지역 가용성에 대한 지역별로 제한된 기능을 참조하세요.
이 함수는 ai_classify() 사용자가 제공하는 사용자 지정 레이블에 따라 텍스트 콘텐츠를 분류합니다. 기본 분류에 간단한 레이블 이름을 사용하거나 레이블 설명 및 지침을 추가하여 고객 지원 라우팅, 문서 분류 및 콘텐츠 분석과 같은 사용 사례에 대한 정확도를 향상시킬 수 있습니다.
이 함수는 구성 가능한 워크플로를 사용하도록 설정하는 것과 같은 VARIANT다른 AI 함수의 텍스트 또는 ai_parse_document 출력을 허용합니다.
반복할 UI 버전은 분류를 ai_classify참조 하세요.
요구 사항
Apache 2.0 라이선스
현재 사용할 수 있는 기본 모델은 Apache 2.0 라이선스인 Copyright © The Apache Software Foundation에 따라 라이선스가 부여됩니다. 고객은 해당 모델 라이선스를 준수할 책임이 있습니다.
Databricks는 해당 조건을 준수하도록 이러한 라이선스를 검토할 것을 권장합니다. Databricks의 내부 벤치마크에 따라 더 나은 성능을 제공하는 모델이 향후에 나타날 경우 Databricks는 모델(및 이 페이지에 제공된 해당 라이선스 목록)을 변경할 수 있습니다.
이 함수를 구동하는 모델은 Model Serving Foundation 모델 API를 사용하여 사용할 수 있습니다. Databricks에서 사용할 수 있는 모델과 해당 모델의 사용을 제어하는 라이선스 및 정책에 대한 자세한 내용은 해당 모델 용어를 참조하세요.
Databricks의 내부 벤치마크에 따라 더 나은 성능을 제공하는 모델이 미래에 등장할 경우 Databricks는 모델을 변경하고 설명서를 업데이트할 수 있습니다.
- 이 함수는 일부 지역에서만 사용할 수 있습니다. AI 함수 가용성을 참조하세요.
- 이 함수는 Azure Databricks SQL 클래식에서 사용할 수 없습니다.
- Databricks SQL 가격 페이지를 확인하세요.
- Databricks Runtime 15.1 이상에서는 이 함수가 Databricks 워크플로에서 태스크로 실행되는 노트북을 포함하여 Databricks 노트북에서 지원됩니다.
- 성능 향상을 위해서는 일괄 처리 유추 워크로드에 Databricks Runtime 15.4 ML LTS가 필요합니다.
구문
버전 2(권장)
ai_classify(
content VARIANT | STRING,
labels STRING,
[options MAP<STRING, STRING>]
) RETURNS VARIANT
버전 1
ai_classify(
content STRING,
labels ARRAY<STRING>,
[options MAP<STRING, STRING>]
) RETURNS STRING
주장
버전 2(권장)
content: AVARIANT또는STRING식입니다. 다음 중 하나를 수락합니다:- 원시 텍스트를
로 -
VARIANT다른 AI 함수(예:ai_parse_document또는ai_extract)에 의해 생성된 A
- 원시 텍스트를
labelsSTRING: 분류 레이블을 정의하는 리터럴입니다. 레이블은 다음과 같습니다.- 단순 레이블: 레이블 이름의 JSON 배열입니다.
["urgent", "not_urgent"] - 설명이 있는 레이블: 레이블 이름을 설명에 매핑하는 JSON 개체입니다. 레이블 설명은 0-1000자여야 합니다.
{ "billing_error": "Payment, invoice, or refund issues", "product_defect": "Any malfunction, bug, or breakage", "account_issue": "Login failures, password resets" }
각 레이블은 1-100자여야 합니다.
labels는 2개 이상의 레이블과 500개 이하의 레이블을 포함해야 합니다.- 단순 레이블: 레이블 이름의 JSON 배열입니다.
options: 구성 옵션을 포함하는 선택 사항MAP<STRING, STRING>:-
version: 마이그레이션을 지원하도록 버전 스위치("1.0"v1 동작의 경우,"2.0"v2 동작의 경우). 기본값은 입력 형식을 기반으로 하지만 ."1.0" -
instructions: 분류 품질을 개선하기 위해 작업 및 도메인에 대한 전역 설명입니다. 20,000자 미만이어야 합니다. -
multilabel: 여러 범주가 적용될 때 여러 레이블을 반환하도록"true"설정합니다. 기본값은 (단일 레이블 분류)입니다"false".
-
버전 1
contentSTRING: 분류할 텍스트가 포함된 식입니다.labelsARRAY<STRING>: 예상 출력 분류 레이블이 있는 리터럴입니다. 2개 이상의 요소와 20개 이하의 요소를 포함해야 합니다. 각 레이블은 1-50자여야 합니다.options: 구성 옵션을 포함하는 선택 사항MAP<STRING, STRING>:-
version: 마이그레이션을 지원하도록 버전 스위치("1.0"v1 동작의 경우,"2.0"v2 동작의 경우). 기본값은 입력 형식을 기반으로 하지만 ."1.0"
-
반품
버전 2(권장)
포함하는 항목을 VARIANT 반환합니다.
{
"response": ["label_name"], // Array with single label (or multiple if multilabel=true)
"error_message": null // null on success, or error message on failure
}
필드에는 response 다음이 포함됩니다.
- 단일 레이블 모드 (기본값): 가장 일치하는 레이블을 포함하는 하나의 요소가 있는 배열입니다.
-
다중 레이블 모드 (
multilabel: "true"): 여러 범주가 적용되는 경우 레이블이 여러 개 있는 배열 - 레이블 이름은 매개 변수에 제공된 이름과 정확히 일치합니다
labels.
NULL 콘텐츠를 분류할 수 없는 경우 contentNULL 또는 반환합니다.
버전 1
를 반환합니다 STRING. 이 값은 labels 인수에 제공된 문자열 중 하나와 일치합니다.
NULL 콘텐츠를 분류할 수 없는 경우 contentNULL 또는 반환합니다.
예제
버전 2(권장)
단순 레이블 - 레이블 이름만
> SELECT ai_classify(
'My password is leaked.',
'["urgent", "not_urgent"]'
);
{
"response": ["urgent"],
"error": null
}
설명이 포함된 레이블
> 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
}
전역 지침 사용
> 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
}
다중 레이블 분류
> 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
}
을 사용하여 작성 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;
일괄 처리 분류
> SELECT
description,
ai_classify(
description,
'["clothing", "shoes", "accessories", "furniture", "electronics"]'
) AS category
FROM products
LIMIT 10;
버전 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;
제한점
버전 2(권장)
버전 2 제한 사항:
이 함수는 Azure Databricks SQL 클래식에서 사용할 수 없습니다.
이 함수는 뷰와 함께 사용할 수 없습니다.
레이블 이름은 각각 1~100자여야 합니다.
매개 변수는
labels2~500개의 고유한 레이블을 포함해야 합니다.레이블 설명은 각각 0~1,000자여야 합니다.
최대 총 컨텍스트 크기는 128,000개의 토큰입니다.
버전 1
버전 1 제한 사항:
이 함수는 Azure Databricks SQL 클래식에서 사용할 수 없습니다.
이 함수는 뷰와 함께 사용할 수 없습니다.
레이블 이름은 각각 1~50자여야 합니다.
배열에는
labels2~20개의 레이블이 포함되어야 합니다.입력은
content128,000개 토큰(약 300,000자) 미만이어야 합니다.