카테고리:

Vector functions , 집계 함수

VECTOR_AVG

집계에서 :doc:`벡터</user-guide/snowflake-cortex/vector-embeddings>`의 요소별 평균을 계산합니다. 각 요소가 모든 입력 벡터에서 해당 요소의 평균인 벡터를 반환합니다. 출력은 입력 유형에 관계없이 항상 VECTOR(FLOAT, N)입니다.

참고 항목:

VECTOR_SUM , VECTOR_MIN , VECTOR_MAX , AVG, 벡터 임베딩

구문

VECTOR_AVG( <vector_column> )
Copy

인자

vector_column

VECTOR 값을 포함하는 열입니다. 열의 모든 벡터는 요소 유형 및 차원이 동일해야 합니다.

반환

VECTOR(FLOAT, N) 값을 반환하며, 여기서 N은 입력 벡터의 차원입니다. 결과 벡터의 각 요소는 모든 입력 벡터에서 해당 요소의 평균입니다.

사용법 노트

  • NULL 값은 집계에서 무시됩니다.

  • 그룹의 모든 값이 NULL인 경우, 함수는 NULL을 반환합니다.

  • 열의 모든 입력 벡터는 차원 및 요소 유형이 동일해야 합니다.

  • 출력은 입력 유형에 관계없이 항상 VECTOR(FLOAT, N)입니다. Snowflake의 부동 소수점 숫자에 대한 자세한 내용은 :ref:`부동 소수점 데이터 타입<label-data_type_float>`을 참조하세요.

  • 벡터 함수는 부동 소수점 전체 자릿수를 줄일 수 있는 방식으로 최적화됩니다. 이 함수의 결과는 오차 범위가 최대 ``1e-4``입니다.

이 예에서는 벡터의 요소별 평균을 계산하는 방법을 보여줍니다.

CREATE OR REPLACE TABLE vector_data (
  id INT,
  category VARCHAR,
  embedding VECTOR(FLOAT, 3)
);

INSERT INTO vector_data
SELECT 1, 'A', [2.0, 4.0, 6.0]::VECTOR(FLOAT, 3)
UNION ALL SELECT 2, 'A', [4.0, 8.0, 12.0]::VECTOR(FLOAT, 3)
UNION ALL SELECT 3, 'B', [1.0, 2.0, 3.0]::VECTOR(FLOAT, 3)
UNION ALL SELECT 4, 'B', [3.0, 6.0, 9.0]::VECTOR(FLOAT, 3);

-- Compute average for each category
SELECT category, VECTOR_AVG(embedding) AS avg_vector
  FROM vector_data
  GROUP BY category
  ORDER BY category;
Copy
+----------+------------------+
| CATEGORY | AVG_VECTOR       |
+----------+------------------+
| A        | [3.0, 6.0, 9.0] |
| B        | [2.0, 4.0, 6.0] |
+----------+------------------+

이 예제에서는 scalar 집계를 보여줍니다(GROUP BY 없음).

SELECT VECTOR_AVG(embedding) AS overall_avg
  FROM vector_data;
Copy
+------------------+
| OVERALL_AVG      |
+------------------+
| [2.5, 5.0, 7.5]  |
+------------------+

이 예에서는 정수 벡터가 부동 소수점 출력으로 변환되는 방법을 보여줍니다.

CREATE OR REPLACE TABLE int_vector_data (
  id INT,
  vec VECTOR(INT, 2)
);

INSERT INTO int_vector_data
SELECT 1, [1, 3]::VECTOR(INT, 2)
UNION ALL SELECT 2, [2, 4]::VECTOR(INT, 2);

SELECT VECTOR_AVG(vec) AS avg_result
  FROM int_vector_data;
Copy
+-------------+
| AVG_RESULT  |
+-------------+
| [1.5, 3.5]  |
+-------------+