카테고리:

문자열 및 이진 함수 (대규모 언어 모델)

AI_COMPLETE (프롬프트 오브젝트)

참고

AI_COMPLETE 은 COMPLETE (SNOWFLAKE.CORTEX) 의 업데이트된 버전입니다. 최신 기능의 경우 AI_COMPLETE 를 사용하십시오.

프롬프트 오브젝트에 대한 응답(완료)을 생성합니다. 프롬프트 오브젝트는 텍스트 또는 이미지 데이터가 포함된 하나 이상의 열을 참조합니다.

구문

이 함수는 위치 또는 명명된 인자 구문과 함께 사용할 수 있습니다.

AI_COMPLETE(
    <model>, <prompt> [ , <model_parameters> ] )
Copy

인자

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;
Copy

디렉터리 또는 테이블에서 이미지 일괄 처리하기

여러 이미지를 일괄 처리하여 각각에 대해 동일한 작업을 수행하려면 이미지 파일을 같은 스테이지에 저장하십시오. AI_COMPLETE 함수를 테이블의 각 행에 적용합니다.

참고

스테이지에는 파일 경로를 검색할 수 있는 디렉터리 테이블 이 있어야 합니다.

먼저, 디렉터리에서 이미지 위치를 검색하여 테이블을 만들고 이를 FILE 오브젝트로 변환한 후 결과물인 FILE 오브젝트를 테이블의 열에 저장합니다. 다음과 같은 SQL을 사용합니다.

CREATE TABLE image_table AS
    (SELECT TO_FILE('@myimages', RELATIVE_PATH) AS img FROM DIRECTORY(@myimages));
Copy

그런 다음 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;
Copy

응답:

{ "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;
Copy

다음과 같이 스테이지의 디렉터리에서 처리할 이미지를 직접 검색할 수도 있습니다.

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);
Copy

테이블에 이미지 및 프롬프트 제공하기

테이블의 각 이미지에 대해 다른 작업을 수행하려면 테이블에 이미지와 해당 프롬프트를 제공하십시오. 다음 예제에서 테이블에는 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;
Copy

이미지 처리를 위한 사용법 노트

  • 여러 이미지를 처리하려면 함수 호출에서 프롬프트 템플릿과 관련 이미지 파일을 정의하는 프롬프트 오브젝트를 지정하십시오. PROMPT 함수 함수를 사용하여 이 오브젝트를 만들 수 있습니다. 프롬프트 템플릿에는 프롬프트 오브젝트의 이미지에 해당하는 번호가 매겨진 자리 표시자({0}, {1} 등)를 포함할 수 있습니다.

  • 텍스트와 이미지만 지원됩니다. 비디오 및 오디오 파일은 지원되지 않습니다.

  • 지원되는 이미지 형식:

    • .jpg

    • .jpeg

    • .png

    • .gif

    • .webp

    • pixtralllama4 모델은 .bmp 도 지원합니다.

  • 최대 이미지 크기는 대부분의 모델에서 10 MB, claude 모델의 경우 3.75 MB 입니다. claude 모델은 8000x8000 이상의 해상도를 가진 이미지를 지원하지 않습니다.

  • 이미지가 포함된 스테이지에는 서버 측 암호화가 활성화되어 있어야 합니다. 클라이언트 측 암호화 스테이지는 지원되지 않습니다.

  • 이 함수는 사용자 지정 네트워크 정책을 지원하지 않습니다.

  • 스테이지 이름은 대/소문자를 구분하지 않으며, 경로는 대/소문자를 구분합니다.