얘네들 역시 Snowflake의 '완전관리형' 함수들로서 각 경우에 맞게 최적화된 함수입니다.
독스(공식 문서)를 보고 사용 Use Case를 확인한 후 알맞는 곳에 사용하는게 좋습니다.
공식 Snowflake docs : https://docs.snowflake.com/ko/sql-reference/functions/ai_classify
2. AI_CLASSIFY
AI_CLASSIFY( <input> , <list_of_categories> [, <config_object> ] [, <return_error_details> ] )
- label (필수 사항): 카테고리의 이름입니다.
- description (선택 사항): 카테고리를 25단어 이내로 설명합니다.
[2-1] 기본 단일 라벨 분류
SELECT AI_CLASSIFY(
'서버의 응답시간이 300% 증가했습니다.',
['Performance Issue', 'Security Alert', 'Feature Request', 'Bug Report']
);
결과 : {"labels": ["Performance Issue"]}
분류 대상의 내용이 제시한 카테고리 중 어디에 해당되는 건지 반환해요. 재미난 점은 위 예시처럼 분류 대상 메세지가 '한글'이고, 카테고리는 '영어'이지만 번역 작업은 알아서 처리된다는 점입니다.
[2-2] 멀티 라벨 분류 (output_mode: 'multi')
SELECT AI_CLASSIFY(
'더 빠른 쿼리와 더 나은 접근 관리가 필요합니다.',
['Performance', 'Security', 'Cost', 'Usability'],
{'output_mode': 'multi'}
);
반환 결과 : {"labels": ["Performance", "Security"]}
아웃풋 모드를 멀티로 설정하면 카테고리에 해당되는 걸 멀티로 출력하네요~^^
[2-3] task_description + label description (정확도 향상)
SELECT AI_CLASSIFY(
'지난 달 청구 금액이 $500이었는데, 이번 달은 $2000으로 급증했습니다.',
[
{'label': 'Cost Anomaly', 'description': 'Unexpected increase in spending'},
{'label': 'Normal Usage', 'description': 'Expected cost fluctuation'},
{'label': 'Billing Error', 'description': 'Incorrect charge or invoice'}
],
{'task_description': 'Classify the support ticket by issue type'}
);
반환 결과 : { "labels": [ "Cost Anomaly" ]}
제시한 분류의 카테고리 중에 설명에 해당되는 걸 찾아주네요.
task_description 옵션은 50 단어 이내로 분류의 설명을 기재. 모델의 분류 정확성을 높여준다고 합니다.
위 예제는 입력 값의 내용이 어떤 이슈의 티켓인지 해당되는걸 추스려 주는 것이네요.
-- [2-4] few-shot examples (정확도 향상)
SELECT AI_CLASSIFY(
'My warehouse is consuming too many credits', -- 입력값
['Cost', 'Performance', 'Access'], -- 입력값을 이 3가지 카테고리로 분류해라.
{
'task_description': 'Classify Snowflake support issues',
'examples': [ --여기가 few shot을 알려주는 부분
{
'input': 'Query takes 10 minutes to run', --분류할 텍스트 예시
'labels': ['Performance'], -- 입력에 대한 올바른 카테고리 값
'explanation': 'Slow query is a performance issue' -- 입력이 해당 카테고리인 이유를 설명
}
]
}
);
-- { "labels": [ "Cost" ] }
AI_FILTER
AI_EXTRACT
'Main Quest - Snowflake > [시리즈] Cortex AI Functions' 카테고리의 다른 글
| [Cortex_AI_6] RAG의 시작: AI_EMBED vs AI_SIMILARITY (0) | 2026.07.21 |
|---|---|
| [Cortex_AI_4] 문서 파싱 시합 AI_PARSE_DOCUMENT VS AI_COMPLETE (0) | 2026.07.17 |
| [Cortex_AI_3] 오디오 파일 STT: AI_TRANSCRIBE vs AI_COMPLETE (0) | 2026.07.17 |
| [Cortex_AI_2] 감성분석: 완전관리형 VS 프롬프트 엔지니어링 (0) | 2026.07.17 |
| [Cortex_AI_1] AI_COMPLETE 배치 파이프라인 방어 전략 (0) | 2026.07.12 |