AI_EMBED

AI_EMBED (AI 임베딩)

텍스트 또는 이미지에서 임베딩 벡터를 만들어요. 임베딩은 텍스트 또는 이미지 조각의 특징에 대한 추상적인 수치 표현으로, 텍스트 또는 이미지 조각 사이의 유사도 정도를 결정하는 데 사용할 수 있고, 시맨틱 검색, 클러스터링, 분류 및 기타 작업에 사용할 수 있어요.

다음 표는 텍스트와 이미지에 AI_EMBED 함수를 사용할 수 있는 리전을 보여줘요:

Text ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Image ✔ ✔ ✔ ✔ ✔

출처: Snowflake SQL Reference - AI_EMBED

본문

구문

AI_EMBED( <model>, <input> )

인자

필수:

model

임베딩을 생성하는 데 사용할 벡터 임베딩 모델을 지정하는 문자열이에요.

텍스트의 경우 다음 값을 제공할 수 있어요:

  • snowflake-arctic-embed-l-v2.0
  • snowflake-arctic-embed-l-v2.0-8k
  • nv-embed-qa-4
  • multilingual-e5-large
  • voyage-multilingual-2
  • snowflake-arctic-embed-m-v1.5
  • snowflake-arctic-embed-m
  • e5-base-v2

이미지의 경우 다음 값만 제공할 수 있어요:

  • voyage-multimodal-3

지원되는 모델마다 비용이 다를 수 있어요.

input

임베딩을 생성할 문자열 또는 이미지(FILE 객체)예요. 이미지는 다음이어야 해요:

  • JPEG, WEBP, PNG 또는 BMP 형식
  • 10MB 이하 크기
  • 8,000 x 8,000 픽셀 이하

반환 값

입력 텍스트 또는 이미지에서 파생된 VECTOR 타입의 임베딩 벡터예요.

접근 제어 요구 사항

이 함수를 호출하려면 SNOWFLAKE.CORTEX_USER 데이터베이스 역할 또는 SNOWFLAKE.CORTEX_EMBED_USER 데이터베이스 역할이 부여된 역할을 사용해야 해요. 이 권한 중 하나를 부여하는 방법에 대한 자세한 내용은 Cortex LLM privileges를 참고해요.

예시

텍스트 예시

이 예시에서는 snowflake-arctic-embed-l-v2.0 모델을 사용해 hello world 문구에 대한 벡터 임베딩을 생성해요:

SELECT AI_EMBED('snowflake-arctic-embed-l-v2.0', 'hello world');

이 예시에서는 voyage-multimodal-3 모델을 사용해 스테이지된 이미지에 대한 벡터 임베딩을 생성해요:

SELECT AI_EMBED('voyage-multimodal-3',
        TO_FILE('@my_images', 'CITY_WALKING1.PNG'));

제한 사항

  • Snowflake AI 함수는 다음 종류의 스테이지에 있는 파일로 생성된 FILE 객체에서는 동작하지 않아요: TYPE = 'SNOWFLAKE_FULL' 암호화 모드의 내부 스테이지, AWS_CSE 또는 AZURE_CSE 같은 고객 측 암호화 모드의 외부 스테이지, 사용자 스테이지, 테이블 스테이지, 큰따옴표로 묶인 이름의 스테이지.

참고: AI_EMBED는 EMBED_TEXT_1024와 EMBED_TEXT_768의 업데이트된 버전이에요. 최신 기능을 사용하려면 AI_EMBED를 사용해요.

법적 고지

Snowflake AI and ML을 참고해요.

더 알아보기