AI_COMPLETE
AI_COMPLETE (프롬프트 객체)
프롬프트 객체에 대한 응답(completion)을 생성하는 AI 함수예요. 프롬프트에는 이미지나 문서를 포함할 수 있는 FILE 객체가 들어갈 수 있어요.
출처: 공식 문서
본문
프롬프트 객체에 대한 응답(completion)을 생성합니다. 프롬프트에는 FILE 객체가 포함될 수 있으며, 이는 이미지나 문서를 담을 수 있습니다.
참고 AI_COMPLETE는 COMPLETE의 업데이트된 버전입니다. 최신 기능을 원하면 AI_COMPLETE를 사용하세요.
구문 (Syntax)
이 함수는 위치 또는 명명 인자 구문으로 사용할 수 있습니다.
AI_COMPLETE(
<model>, <prompt> [ , <model_parameters> ] )
인자 (Arguments)
model
사용할 모델을 지정하는 문자열. 텍스트 전용 입력에는 다음 모델 중 하나를 사용할 수 있습니다: claude-4-opus claude-4-sonnet claude-3-7-sonnet claude-3-5-sonnet deepseek-r1 llama3-8b llama3-70b llama3.1-8b llama3.1-70b llama3.1-405b llama3.3-70b llama4-maverick llama4-scout mistral-large mistral-large2 mistral-7b mixtral-8x7b openai-gpt-4.1 openai-gpt-5 openai-gpt-5-chat openai-gpt-5-mini openai-gpt-5-nano openai-gpt-5.1 openai-o4-mini snowflake-arctic snowflake-llama-3.1-405b snowflake-llama-3.3-70b. 모델 가용성은 시간이 지나며 바뀝니다. 레거시(legacy) 상태의 모델은 그 레거시 날짜 이전에 사용한 계정만 사용할 수 있고, 수명 종료(end-of-life) 날짜가 지난 모델은 어떤 계정도 사용할 수 없습니다. 현재 계정에서 사용할 수 있는 모델과 그 수명 주기 상태를 보려면 SHOW CORTEX BASE MODELS를 실행하세요.
이미지 입력에는 다음 모델 중 하나를 사용할 수 있습니다: claude-3-7-sonnet claude-4-opus claude-4-sonnet claude-haiku-4-5 claude-opus-4-5 claude-opus-4-6 claude-opus-4-7 claude-opus-4-8 claude-opus-5 claude-sonnet-4-5 claude-sonnet-4-6 claude-sonnet-5 gemini-2.5-flash gemini-2.5-flash-lite gemini-3.1-flash-lite gemini-3.1-pro gemini-3.5-flash llama4-maverick llama4-scout openai-gpt-4.1 openai-gpt-5 openai-gpt-5-chat openai-gpt-5-mini openai-gpt-5-nano openai-gpt-5.1 openai-gpt-5.2 openai-gpt-5.4 pixtral-large.
문서 입력에는 다음 모델 중 하나를 사용할 수 있습니다: claude-3-7-sonnet claude-4-opus claude-4-sonnet claude-haiku-4-5 claude-opus-4-5 claude-opus-4-6 claude-opus-4-7 claude-opus-4-8 claude-opus-5 claude-sonnet-4-5 claude-sonnet-4-6 claude-sonnet-5 gemini-2.5-flash gemini-2.5-flash-lite gemini-3.1-flash-lite gemini-3.1-pro gemini-3.5-flash. 지원되는 모델들은 서로 다른 비용을 가질 수 있습니다.
prompt
텍스트와, 선택적으로 이미지나 문서를 포함하는 프롬프트 객체.
model_parameters
모델의 하이퍼파라미터에 영향을 주는 0개 이상의 다음 옵션을 포함하는 객체입니다. LLM Settings를 참고하세요.
temperature: 언어 모델 출력의 무작위성을 제어하는 0부터 1(포함)까지의 값. 더 높은 temperature(예: 0.7)는 더 다양하고 무작위한 출력을 만들고, 더 낮은 temperature(예: 0.2)는 출력을 더 결정적이고 집중되게 합니다. 기본값: 0.top_p: 언어 모델의 무작위성과 다양성을 제어하는 0부터 1(포함)까지의 값으로, 일반적으로 temperature의 대안으로 사용됩니다. 차이는 top_p가 모델이 출력하는 가능한 토큰 집합을 제한하는 반면, temperature는 각 단계에서 어떤 토큰이 선택되는지에 영향을 준다는 것입니다. 기본값: 0.max_tokens: 응답에서 최대 출력 토큰 수를 설정합니다. 작은 값은 잘린 응답을 만들 수 있습니다. 기본값: 4096.guardrails: Cortex Guard를 사용해 언어 모델의 잠재적으로 안전하지 않고 유해한 응답을 필터링합니다. TRUE 또는 FALSE. 기본값은 FALSE.
중요: 프롬프트 객체와 함께 AI_COMPLETE를 사용할 때는 응답으로 구조화된 출력을 얻기 위해 JSON 스키마를 제공할 수 없습니다.
응답으로 구조화된 출력을 얻으려면 AI_COMPLETE (Single string)과 함께 response_format 매개변수를 사용하세요. 구조화된 출력 사용에 대한 자세한 내용은 AI_COMPLETE (Structured outputs)를 참고하세요.
예제 (Example)
입력으로 여러 이미지 전달하기
다음 예제는 두 이미지를 AI_COMPLETE 함수의 입력으로 전달하고 둘 다 고양이 사진인지 물어보며 두 이미지를 비교합니다:
SELECT AI_COMPLETE('claude-sonnet-4-6',
PROMPT('Are both image {0} and image {1} pictures of cats?',
TO_FILE('@myimages', 'sleepingcat.png'), TO_FILE('@myimages', 'jumpingcat.png'))) AS image_classification;
디렉터리나 테이블에서 이미지 일괄 처리하기
여러 이미지를 각각에 대해 같은 연산을 수행하며 일괄 처리하려면, 이미지 파일들을 같은 스테이지에 저장하세요. AI_COMPLETE 함수를 테이블의 각 행에 적용합니다.
참고 스테이지는 파일 경로를 가져오려면 디렉터리 테이블(directory table)이 있어야 합니다.
먼저 디렉터리에서 이미지 위치를 가져와 테이블을 만들고, 이를 FILE 객체로 변환한 뒤 결과 FILE 객체를 테이블의 컬럼에 저장합니다. 다음 SQL을 사용하세요:
CREATE TABLE image_table AS
(SELECT TO_FILE('@myimages', RELATIVE_PATH) AS img FROM DIRECTORY(@myimages));
그런 다음 FILE 객체를 포함하는 컬럼에 AI_COMPLETE 함수를 적용합니다. 다음 예제는 테이블의 각 이미지를 분류합니다:
SELECT AI_COMPLETE('claude-sonnet-4-6',
PROMPT('Classify the input image {0} in no more than 2 words. Respond in JSON', img_file)) AS image_classification
FROM image_table;
응답:
{ "classification": "Inflation Rates" }
{ "classification": "beverage refrigerator" }
{ "classification": "Space Needle" }
{ "classification": "Modern Kitchen" }
{ "classification": "Pie Chart" }
{ "classification": "Economic Graph" }
{ "classification": "Persian Cat" }
{ "classification": "Labrador Retriever" }
{ "classification": "Jedi Cat" }
{ "classification": "Sleeping cat" }
{ "classification": "Persian Cat" }
{ "classification": "Garden Costume" }
{ "classification": "Floral Fashion" }
이미지에 대한 경로가 있는 테이블이 이미 있다면, TO_FILE 함수를 사용해 쿼리 안에서 FILE 객체를 만들 수 있습니다:
SELECT AI_COMPLETE('claude-sonnet-4-6',
PROMPT('Classify the input image {0} in no more than 2 words. Respond in JSON',
TO_FILE('@myimages', img_path))) AS image_classification
FROM image_table;
처리할 이미지를 스테이지의 디렉터리에서 직접 가져올 수도 있습니다:
SELECT AI_COMPLETE('claude-sonnet-4-6',
PROMPT('Classify the input image {0} in no more than 2 words. Respond in JSON',
TO_FILE('@myimages', RELATIVE_PATH))) as image_classification
FROM DIRECTORY(@myimages);
테이블에 이미지와 프롬프트 제공하기
테이블의 각 이미지에 다른 연산을 수행하려면, 이미지와 해당 프롬프트를 테이블에 제공하세요. 다음 예제에서 테이블은 img_path 컬럼에 각 이미지의 스테이지 경로를, prompt 컬럼에 프롬프트를 담습니다.
SELECT AI_COMPLETE('claude-sonnet-4-6',
PROMPT('Given the input image {0}, {1}. Respond in JSON',
TO_FILE('@myimages', img_path), prompt)) AS image_result
FROM image_table;
이미지 처리 사용 참고
- 여러 이미지를 처리하려면 함수 호출에서 프롬프트 템플릿과 연관된 이미지 파일을 정의하는 프롬프트 객체를 지정하세요. PROMPT 함수를 사용해 이 객체를 만들 수 있습니다. 프롬프트 템플릿은 프롬프트 객체의 이미지에 대응하는 번호가 매겨진 플레이스홀더({0}, {1} 등)를 포함할 수 있습니다. TO_FILE 함수를 사용해 프롬프트 객체의 문서 파일을 지정하세요.
- 텍스트와 이미지만 지원됩니다. 비디오와 오디오 파일은 지원되지 않습니다.
- 지원되는 이미지 형식:
.jpg.jpeg.png.gif.webppixtral과llama4모델은.bmp도 지원합니다.
- 최대 이미지 크기는 대부분의 모델에서 10MB이고,
claude모델에서는 3.75MB입니다.claude모델은 8000x8000 이상 해상도의 이미지를 지원하지 않습니다. - 이미지를 포함하는 스테이지는 서버 측 암호화가 활성화되어 있어야 합니다. 클라이언트 측 암호화 스테이지는 지원되지 않습니다.
- 함수는 사용자 지정 네트워크 정책을 지원하지 않습니다.
- 스테이지 이름은 대소문자를 구분하지 않지만, 경로는 대소문자를 구분합니다.
문서 처리 사용 참고
- 여러 문서를 처리하려면 함수 호출에서 프롬프트 템플릿과 연관된 문서 파일을 정의하는 프롬프트 객체를 지정하세요. PROMPT 함수를 사용해 이 객체를 만들 수 있습니다. 프롬프트 템플릿은 프롬프트 객체의 문서에 대응하는 번호가 매겨진 플레이스홀더({0}, {1} 등)를 포함할 수 있습니다. TO_FILE 함수를 사용해 프롬프트 객체의 문서 파일을 지정하세요.
- 텍스트와 문서만 지원됩니다. 비디오와 오디오 파일은 지원되지 않습니다.
- 모든 모델이
.txt,.md,.pdf형식을 지원합니다. Claude 모델은.txt,.md,.pdf,.doc,.docx,.xls,.xlsx,.csv,.xhtml도 지원합니다. - Claude 모델의 최대 문서 크기는 22MB입니다. Gemini 모델의 최대 문서 크기는 37.5MB입니다.
- Claude 모델은 프롬프트당 최대 5개 문서를 받습니다. Gemini 모델은 프롬프트당 최대 20개 문서를 받습니다. 컨텍스트 창과 페이지 한도는 [/user-guide/snowflake-cortex/ai-complete-document-intelligence#supported-models-and-limitations]를 참고하세요.
- 함수는 사용자 지정 네트워크 정책을 지원하지 않습니다.
- 스테이지 이름은 대소문자를 구분하지 않지만, 경로는 대소문자를 구분합니다.
법적 고지 (Legal notices)
법적 고지는 Snowflake AI and ML을 참조하세요.
더 알아보기 (Learn more)
- PROMPT — 프롬프트 객체 만들기
- TO_FILE — FILE 객체 만들기
- AI_COMPLETE (Single string)
- AI_COMPLETE (Single image)