COMPLETE

COMPLETE (SNOWFLAKE.CORTEX)

주어진 프롬프트에 대해 선택한 지원 언어 모델을 사용해 응답(완성)을 생성하는 AI 문자열·이진 함수예요. 이 함수는 구형 호환용이며, 신규 사용 사례에서는 canonical 표면인 AI_COMPLETE를 사용하는 게 좋아요.

출처: 공식 문서

본문

공지 (Notice): 이 페이지는 이전 버전 호환성을 위해 제공됩니다. 신규 사용 사례에서는 앞으로 갈 canonical 표면인 AI_COMPLETE부터 시작하세요. 이 구형 함수는 2026년 말까지 더 이상 사용되지 않을(deprecated) 예정입니다.

주어진 프롬프트에 대해 선택한 지원 언어 모델을 사용해 응답(완성)을 생성합니다.

참고 (Note): 이 함수의 변형은 COMPLETE가 이미지에 대한 응답을 생성할 수 있게 하는데, 여기에는 다음이 포함됩니다:

  • 이미지 비교하기

  • 이미지 캡셔닝하기

  • 이미지 분류하기

  • 이미지에서 엔티티 추출하기

  • 그래프와 차트의 데이터를 사용해 질문에 답하기

자세한 내용은 COMPLETE (SNOWFLAKE.CORTEX) (multimodal)를 참고하세요.

구문 (Syntax)

SNOWFLAKE.CORTEX.COMPLETE(
    <model>, <prompt_or_history> [ , <options> ] )

인자 (Arguments)

필수:

사용할 모델을 지정하는 문자열입니다. supported models를 참고하세요.

지원 모델은 비용이 다를 수 있습니다.

완성을 생성하는 데 사용할 프롬프트 또는 대화 이력입니다.

options가 없으면 주어진 프롬프트는 문자열이어야 합니다.

options가 있으면 인자는 시간순 대화를 나타내는 객체들의 배열이어야 합니다. 각 객체는 role 키와 content 키를 포함해야 합니다. content 값은 역할에 따라 프롬프트 또는 응답입니다. role은 다음 중 하나여야 합니다.

role value content value
'system' 언어 모델에 배경 정보와 응답 스타일 지침을 제공하는 초기 자연어 프롬프트입니다. 예: "Respond in the style of a pirate." 모델은 시스템 프롬프트에 대한 응답을 생성하지 않습니다. 시스템 프롬프트는 하나만 제공될 수 있으며, 있으면 배열의 첫 번째여야 합니다.
'user' 사용자가 제공한 프롬프트입니다. 시스템 프롬프트(있는 경우) 또는 어시스턴트 응답 뒤에 와야 합니다.
'assistant' 언어 모델이 이전에 제공한 응답입니다. 사용자 프롬프트 뒤에 와야 합니다. 과거 응답은 상태 저장 대화 경험을 제공하는 데 사용할 수 있습니다. Usage notes를 참고하세요.

선택:

모델의 하이퍼파라미터에 영향을 주는 다음 옵션 중 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, 최대 허용 값: 8192

guardrails: Cortex Guard를 사용해 언어 모델의 잠재적으로 안전하지 않고 유해한 응답을 필터링합니다. TRUE 또는 FALSE입니다.

기본값: FALSE

response_format: 응답이 따라야 할 JSON 스키마입니다. 이것은 문자열이 아닌 SQL 하위 객체입니다. response_format을 지정하지 않으면 응답은 응답 또는 응답과 관련 정보를 포함하는 직렬화된 JSON 객체를 포함하는 문자열입니다.

자세한 내용은 AI_COMPLETE (Structured outputs)를 참고하세요.

빈 객체({})라도 options 인자를 지정하면 prompt 인자가 어떻게 해석되고 응답이 어떻게 형식화되는지에 영향을 줍니다.

반환값 (Returns)

options 인자를 지정하지 않으면 응답을 포함하는 문자열을 반환합니다.

options 인자가 주어지고 이 객체가 response_format 키를 포함하면 지정된 JSON 스키마를 따르는 JSON 객체의 문자열 표현을 반환합니다.

options 인자가 주어지고 이 객체가 response_format 키를 포함하지 않으면 다음 키를 포함하는 JSON 객체의 문자열 표현을 반환합니다.

  • "choices": 모델 응답들의 배열입니다. (현재는 응답 하나만 제공됩니다.) 각 응답은 "messages" 키를 포함하는 객체이며, 그 값은 최신 프롬프트에 대한 모델의 응답입니다.

  • "created": 응답이 생성된 UNIX 타임스탬프(1970년 1월 1일 자정 이후의 초).

  • "model": 응답을 만든 모델의 이름.

  • "usage": 이 완성이 소비하고 생성한 토큰 수를 기록하는 객체. 다음 하위 키를 포함합니다:

  • "completion_tokens": 생성된 응답의 토큰 수.

  • "prompt_tokens": 프롬프트의 토큰 수.

  • "total_tokens": 소비된 총 토큰 수. 다른 두 값의 합.

접근 제어 요구 사항 (Access control requirements)

사용자는 SNOWFLAKE.CORTEX_USER 데이터베이스 역할이 부여된 역할을 사용해야 합니다. 이 권한에 대한 자세한 내용은 Cortex LLM privileges를 참고하세요.

사용 참고 사항 (Usage notes)

COMPLETE는 호출 간에 상태를 유지하지 않습니다. COMPLETE 함수를 사용해 상태 저장, 대화형 경험을 제공하려면 이전의 모든 사용자 프롬프트와 모델 응답을 대화의 일부로 prompt_or_history 배열에 전달하세요 (Templates for Chat Models 참고). 각 "라운드"마다 처리되는 토큰 수가 증가하고 비용도 비례해 증가한다는 점을 명심하세요.

다음 고지는 Cortex COMPLETE Structured Output 기능에만 적용됩니다:

Snowflake Model and Service Flow-Down Terms 페이지에 제공된 모델의 사용은 거기에 명시된 조건을 따릅니다. 입력과 출력의 데이터 분류는 다음 표에 명시된 대로입니다.

Input data classification Output data classification Designation
Usage Data
Customer Data
Covered AI Feature

COMPLETE 기능의 나머지 부분에 대해서는 법적 고지 사항은 Snowflake AI and ML을 참고하세요.

더 알아보기 (Learn more)