VECTOR_NORMALIZE

VECTOR_NORMALIZE

L2 벡터 공간에서 VECTOR를 정규화해, 요소들에 [0,1] 범위의 값을 주고 크기(magnitude)를 1로 만들어요.

출처: Snowflake SQL Reference - VECTOR_NORMALIZE

본문

구문

VECTOR_NORMALIZE( vector )

인자

vector 정규화할 단일 VECTOR 값이에요.

반환 값

L2 공간으로 정규화된, FLOAT 타입의 값들을 가진 VECTOR를 반환해요.

사용 시 유의사항

  • 입력이 NULL이면 NULL을 반환해요.
  • 벡터 함수는 부동소수점 정밀도를 줄일 수 있는 방식으로 최적화돼요. 이 함수의 결과는 최대 1e-4의 오차 한계를 가져요.

예시

이 예시는 벡터 [1, 2, 3]을 정규화하는 것을 보여줘요:

SELECT VECTOR_NORMALIZE([1, 2, 3]::VECTOR(INT, 3));
[0.267261, 0.534522, 0.801784]

이 예시는 잘린(truncated) 벡터를 다시 정규화하는 방법을 보여줘요. 원래 벡터는 AI_EMBED가 snowflake-arctic-embed-m-v1.5 모델로 만들고, 그다음 256개 요소로 잘렸어요. 잘린 벡터가 정규화돼요:

VECTOR_NORMALIZE(
    VECTOR_TRUNCATE(
        AI_EMBED(
            snowflake-arctic-embed-m-v1.5,
            Analytical databases are typically column-oriented rather than row-oriented
        ),
        256
    )
);

더 알아보기 (Learn more)