- 카테고리:
문자열 및 이진 함수 (대규모 언어 모델)
AI_COMPLETE (프롬프트 오브젝트)¶
참고
AI_COMPLETE 은 COMPLETE (SNOWFLAKE.CORTEX) 의 업데이트된 버전입니다. 최신 기능의 경우 AI_COMPLETE 를 사용하십시오.
프롬프트 오브젝트에 대한 응답(완료)을 생성합니다. 프롬프트 오브젝트는 텍스트 또는 이미지 데이터가 포함된 하나 이상의 열을 참조합니다.
구문¶
이 함수는 위치 또는 명명된 인자 구문과 함께 사용할 수 있습니다.
AI_COMPLETE(
<model>, <prompt> [ , <model_parameters> ] )
인자¶
model
사용할 모델을 지정하는 문자열입니다. 텍스트 전용 입력의 경우 다음 모델 중 하나를 사용할 수 있습니다.
claude-4-opus
claude-4-sonnet
claude-3-7-sonnet
claude-3-5-sonnet
deepseek-r1
gemma-7b
jamba-1.5-mini
jamba-1.5-large
jamba-instruct
llama2-70b-chat
llama3-8b
llama3-70b
llama3.1-8b
llama3.1-70b
llama3.1-405b
llama3.2-1b
llama3.2-3b
llama3.3-70b
llama4-maverick
llama4-scout
mistral-large
mistral-large2
mistral-7b
mixtral-8x7b
openai-gpt4.1
openai-o4-mini
reka-core
reka-flash
snowflake-arctic
snowflake-llama-3.1-405b
snowflake-llama-3.3-70b
- 이미지 입력의 경우 다음 모델 중 하나를 사용할 수 있습니다.
claude-4-opus
claude-4-sonnet
claude-3-7-sonnet
claude-3-5-sonnet
llama-4-maverick
llama-4-scout
pixtral-large
지원되는 모델은 비용 이 다를 수 있습니다.
prompt
텍스트 및/또는 이미지가 포함된 프롬프트 오브젝트
model_parameters
모델의 하이퍼 매개 변수에 영향을 미치는 다음 옵션 중 0개 이상이 포함된 오브젝트 입니다. LLM 설정 을 참조하십시오.
temperature
: 언어 모델 출력의 임의성을 제어하는 0에서 1(포함) 사이의 값입니다. 온도가 높을수록(예: 0.7) 더 다양하고 무작위적인 출력이 생성되는 반면, 온도가 낮을수록(예: 0.2) 더 결정적이고 포커스가 맞춰진 출력이 생성됩니다.기본값: 0
top_p
: 일반적으로temperature
의 대안으로 사용되는 언어 모델의 임의성과 다양성을 제어하는 0에서 1(포함) 사이의 값입니다.top_p
는 모델이 출력할 가능성이 있는 토큰 세트를 제한하는 반면,temperature
는 각 단계에서 선택되는 토큰에 영향을 미친다는 것이 차이점입니다.기본값: 0
max_tokens
: 응답의 최대 출력 토큰 수를 설정합니다. 값이 작으면 응답이 잘릴 수 있습니다.기본값: 4096 최대 허용 값: 8192
guardrails
: Cortex Guard 를 사용하여 언어 모델에서 잠재적으로 안전하지 않고 유해한 응답을 필터링합니다.TRUE
또는FALSE
입니다. 기본값은FALSE
입니다.
예¶
여러 이미지를 입력 데이터로 전달하기¶
다음 예는 AI_COMPLETE 함수에 두 이미지를 입력으로 모두 전달하고 둘 다 고양이 사진인지 여부를 묻는 방식으로 두 이미지를 비교하는 예제입니다.
SELECT AI_COMPLETE('claude-3-5-sonnet',
PROMPT('Are both image {0} and image {1} pictures of cats?',
TO_FILE('@myimages', 'sleepingcat.png'), TO_FILE('@myimages', 'jumpingcat.png')) AS image_classification
FROM image_table;
디렉터리 또는 테이블에서 이미지 일괄 처리하기¶
여러 이미지를 일괄 처리하여 각각에 대해 동일한 작업을 수행하려면 이미지 파일을 같은 스테이지에 저장하십시오. AI_COMPLETE 함수를 테이블의 각 행에 적용합니다.
참고
스테이지에는 파일 경로를 검색할 수 있는 디렉터리 테이블 이 있어야 합니다.
먼저, 디렉터리에서 이미지 위치를 검색하여 테이블을 만들고 이를 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-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 AI_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 AI_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
열에 있는 프롬프트가 포함되어 있습니다.
AI_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;
이미지 처리를 위한 사용법 노트¶
여러 이미지를 처리하려면 함수 호출에서 프롬프트 템플릿과 관련 이미지 파일을 정의하는 프롬프트 오브젝트를 지정하십시오. PROMPT 함수 함수를 사용하여 이 오브젝트를 만들 수 있습니다. 프롬프트 템플릿에는 프롬프트 오브젝트의 이미지에 해당하는 번호가 매겨진 자리 표시자(
{0}
,{1}
등)를 포함할 수 있습니다.텍스트와 이미지만 지원됩니다. 비디오 및 오디오 파일은 지원되지 않습니다.
지원되는 이미지 형식:
.jpg
.jpeg
.png
.gif
.webp
pixtral
및llama4
모델은.bmp
도 지원합니다.
최대 이미지 크기는 대부분의 모델에서 10 MB,
claude
모델의 경우 3.75 MB 입니다.claude
모델은 8000x8000 이상의 해상도를 가진 이미지를 지원하지 않습니다.이미지가 포함된 스테이지에는 서버 측 암호화가 활성화되어 있어야 합니다. 클라이언트 측 암호화 스테이지는 지원되지 않습니다.
이 함수는 사용자 지정 네트워크 정책을 지원하지 않습니다.
스테이지 이름은 대/소문자를 구분하지 않으며, 경로는 대/소문자를 구분합니다.