- 카테고리:
문자열 및 이진 함수 (대규모 언어 모델)
COMPLETE (SNOWFLAKE.CORTEX) (멀티모달)¶
중요
이 함수는 더 이상 사용되지 않습니다. 업데이트된 함수에 대한 자세한 내용은 AI_COMPLETE 섹션을 참조하십시오. Snowflake는 여전히 이 함수를 유지하지만 최상의 경험을 위해 업데이트된 함수를 사용하십시오.
이미지와 프롬프트가 주어지면 언어 모델을 사용하여 응답(완료)을 생성합니다. 이 함수 베리언트는 텍스트 모델과 함께 이미지 모델을 지원하며, 내부 Snowflake 스테이지 또는 외부 스테이지에 저장된 이미지를 처리합니다. COMPLETE 는 단일 이미지, 여러 이미지를 배치 방식으로 처리하거나 각 이미지에 동일하거나 다른 프롬프트를 적용하거나 단일 작업(예: 비교)에서 여러 이미지를 처리하는 데 사용할 수 있습니다.
구문¶
다음 중 하나를 사용하십시오.
SNOWFLAKE.CORTEX.COMPLETE(
'<model>', '<prompt>', <file_object>)
FROM <table>
SNOWFLAKE.CORTEX.COMPLETE(
'<model>', <prompt_object> )
FROM <table>
인자¶
model
사용할 모델을 지정하는 문자열입니다. 다음 모델 중 하나를 지정합니다.
claude-3-5-sonnet
pixtral-large
지원되는 모델마다 비용과 컨텍스트 윈도우가 다를 수 있습니다. 새로운 모델이 수시로 추가될 수 있습니다.
prompt
이미지에 대한 질문이 포함되고 선택적으로 출력 형식을 지정하는 문자열(예: JSON)입니다. 이 인자 또는
prompt_object
인자가 필요합니다.prompt_object
번호가 매겨진 자리 표시자(
{0}
,{1}
등)가 있는 문자열 프롬프트와 프롬프트에 삽입되는 하나 이상의 텍스트 또는 FILE 값이 포함된 SQL OBJECT 입니다. PROMPT 함수 함수는 요구 사항이 있는 레이아웃으로 오브젝트를 만드는 편리한 방법입니다. 이 인자 또는prompt
가 필요합니다.file_object
처리할 이미지 파일이 포함된 FILE 오브젝트입니다. TO_FILE 함수를 사용하여 스테이지 경로에서 FILE 오브젝트를 생성합니다. 문자열 프롬프트를 사용할 때 필요합니다.
FROM table
이미지 경로와 각 이미지에 대한 선택적 프롬프트가 포함된 테이블로, COMPLETE 로 한 번만 호출하면 이미지를 일괄 처리할 수 있습니다.
반환¶
언어 모델의 응답이 포함된 문자열입니다.
사용법 노트¶
여러 이미지를 처리하려면 프롬프트가 프롬프트 템플릿과 처리할 파일을 지정하는 오브젝트(일반적으로 PROMPT 함수를 사용하여 생성)여야 합니다.
텍스트와 이미지만 지원됩니다. 비디오 및 오디오 파일은 지원되지 않습니다.
파일 이름 확장자가
.jpg
,.jpeg
,.png
,.gif
,.webp
인 이미지가 지원됩니다.pixtral-large
는.bmp
도 지원합니다.최대 이미지 크기는
pixtral-large
의 경우 10 MB,claude-3-5-sonnet
의 경우 3.75 MB 입니다. 또한claude-3-5-sonnet
은 해상도가 8000x8000을 초과하는 이미지를 지원하지 않습니다.이미지가 포함된 스테이지에는 서버 측 암호화가 활성화되어 있어야 합니다. 클라이언트 측 암호화 스테이지는 지원되지 않습니다.
이 함수는 사용자 지정 네트워크 정책을 지원하지 않습니다.
스테이지 이름은 대/소문자를 구분하지 않지만 경로는 대/소문자를 구분합니다.
예¶
다음 예에서는 COMPLETE 함수의 기본 기능을 이미지와 함께 보여줍니다.
시각적 질문 답변¶
인플레이션율 차트는 데이터에 대한 질문에 답하는 데 사용됩니다.

SELECT SNOWFLAKE.CORTEX.COMPLETE('claude-3-5-sonnet',
'Which country will observe the largest inflation change in 2024 compared to 2023?',
TO_FILE('@myimages', 'highest-inflation.png'));
응답:
Looking at the data, Venezuela will experience the largest change in inflation rates between 2023 and 2024.
The inflation rate in Venezuela is projected to decrease significantly from 337.46% in 2023 to 99.98% in 2024,
representing a reduction of approximately 237.48 percentage points. This is the most dramatic change among
all countries shown in the chart, even though Zimbabwe has higher absolute inflation rates.
이미지 분류¶
이 예에서는 단일 이미지에서 식별된 랜드마크를 분류합니다.

SELECT SNOWFLAKE.CORTEX.COMPLETE('claude-3-5-sonnet',
'Classify the landmark identified in this image. Respond in JSON only with the landmark name.',
TO_FILE('@myimages', 'Seattle.jpg'));
응답:
{"landmark": "Space Needle"}
이미지에서 엔터티 추출¶
이 예제에서는 이미지에서 엔터티(오브젝트)를 추출하고 결과를 JSON 형식으로 반환합니다.

SELECT SNOWFLAKE.CORTEX.COMPLETE('claude-3-5-sonnet',
'Extract the kitchen appliances identified in this image. Respond in JSON only with the identified appliances.',
TO_FILE('@myimages', 'kitchen.png'));
응답:
{
"appliances": [ "microwave","electric stove","oven","refrigerator" ]
}
디렉터리 또는 테이블에서 이미지 일괄 처리하기¶
여러 이미지를 일괄 처리하여 각각에 대해 동일한 작업을 수행하려면 이미지 파일을 같은 스테이지에 저장하십시오. COMPLETE 함수를 테이블의 각 행에 적용합니다.
참고
스테이지에는 파일 경로를 검색할 수 있는 디렉터리 테이블 이 있어야 합니다.
먼저, 디렉터리에서 이미지 위치를 검색하여 테이블을 만들고 이를 FILE 오브젝트로 변환한 후 결과물인 FILE 오브젝트를 테이블의 열에 저장합니다. 다음과 같은 SQL을 사용합니다.
CREATE TABLE image_table AS
(SELECT TO_FILE('@myimages', RELATIVE_PATH) AS img FROM DIRECTORY(@myimages));
그런 다음 FILE 오브젝트가 포함된 열에 COMPLETE 함수를 적용합니다. 다음 예에서는 테이블의 각 이미지를 분류합니다.
SELECT SNOWFLAKE.CORTEX.COMPLETE('claude-3-5-sonnet',
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 SNOWFLAKE.CORTEX.COMPLETE('claude-3-5-sonnet',
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 SNOWFLAKE.CORTEX.COMPLETE('claude-3-5-sonnet',
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
열에 있는 프롬프트가 포함되어 있습니다.
SNOWFLAKE.CORTEX.COMPLETE('claude-3-5-sonnet',
PROMPT('Given the input image {0}, {1}. Respond in JSON',
TO_FILE('@myimages', img_path), prompt) as image_result)
FROM image_table;
법적 고지¶
Snowflake AI 및 ML 섹션을 참조하십시오.